Posts by Spatial Galaxy

Qgis Then and Now

QGIS turns twenty this year. I wrote the first lines of code in mid-February of 2002.

As many of you may know, the first time the code compiled and ran, it could do one thing:

  • Connect to a PostGIS database and draw a vector layer.

This was the humble beginning of one of the most popular open source GIS applications. GRASS GIS is of course the grandaddy of open source GIS, but the 20th birthday of QGIS is a testament to its longevity and commitment of all those who have made it what it is today.

I did an analysis of the code using cloc, which counts the lines of code and displays a summary.

Learn More

Qgis Landmark Events

QGIS has had a lot of landmark events in it’s development. Here are just a few, not necessarily in chronological order: It compiled and ran on Linux, displaying data from a PostGIS database Successfully ported the code to Windows Successfully ported the code to Mac GRASS integration Added on the fly projection and coordinate system support Python support, allowing plugins Print composer (now layout) Installers everywhere! msi, dmg, osgeo4w, linux packages Migration of the code from CVS -> SVN - Git Processing toolbox The API-breaking migration from Python 2.
Learn More

Visualization of Early QGIS Development

Years ago (2011), Nathan Woodrow did a visualization of code commits between QGIS 1.6 and 1.7 using Gource. I wanted to contrast the slow beginning of QGIS in 2002 with the flurry of activity in recent years. Gource can analyze a git repository and display the activity. The video below begins with the very slow start of QGIS development in 2002. Since displaying all of QGIS activity using Gource would result in a long video no one would want to watch, I took a look at the time period from 2002 to mid-2004, then jumped to June of 2021.
Learn More

About

Gary Sherman has a wide and varied background, including that of geologist, mining engineer, software engineer, publisher, and author. He has authored both technical books and articles, as well as fiction. In 2002, he founded the popular open source QGIS project and has published several books on the topic. For eight years, Gary was at the helm of Locate Press, publisher of books on open source software. Gary has published a number of novels as G.
Learn More

Leaflet Day 14 - Image Overlay and Wrap-up

We end our series with a somewhat trivial, though interesting addition to our map and a special offer. Leaflet allows you to add an image that spans a specified region on the map. Here we add a picture of a little lost moose to the map. In this instance, it serves no purpose other than to show we can do it. The JavaScript code needed is: var imageUrl = "/images/calf_moose.png"; bounds = thetrail.
Learn More

Leaflet Day 13 - Styling with a Plugin

Today we’ll take a look at another plugin—one that allows us to interactively change they style of features on our map: Leaflet.StyleEditor. This illustrates how we can customize our map by changing styles on the fly and also serves as a starting point for even more customization. Installing and Referencing the Plugin The web page for the plugin provides information on installing it. This requires getting the css, js, and image files in the proper location, then referencing them in our HTML file:
Learn More

Leaflet Day 12 - Create a Leaflet Map from QGIS

Today we’ll use the qgis2web plugin to export from QGIS to Leaflet. The QGIS project, a location map for the third (in progress) Life on the Alaska Frontier novel, looks like this: Installing qgis2web The qgis2web plugin is installed like any other. Click on the Plugins->Manage and Install Plugins... menu item, click Not installed, and then find qgis2web in the list. Click the Install plugin button to complete the install.
Learn More

Leaflet Day 11 - Plugins

At its core, Leaflet is designed to be lightweight. That being said, there are hundreds of third-party plugins available to extend and enhance the functionality of your web maps. Today we’ll illustrate adding a plugin to our map from Day 6. The L.Control.ZoomBar plugin adds a custom zoom control that allows us to draw a box around the area we want to zoom to, as well as adding a Home button to return to the initial map view.
Learn More

Leaflet Day 10 - Adding a Link to a Popup

In this post we’ll add a link to the towns popup that will display the satellite view on Google Maps. The API for working with Google Maps URLs can be found here: https://developers.google.com/maps/documentation/urls/guide. To add a link to the town name in the popup, we modify the JavaScript code that creates the towns layer: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 var towns = L.
Learn More

Leaflet Day 9 - Calculating Distance with Turf.js

Today we’re going to use Turf.js to calculate the distance between any two points along the trail. Turf.js is billed as providing “Advanced geospatial analysis for browsers and Node.js.” The distance calculated is a straight line (“as the crow flies”) distance rather than actual trail miles. Including Turf.js To calculate the distance we need to include Turf.js. Rather than install it locally, just add this line to the head of your HTML:
Learn More