Working with PostGIS data from within Leaflet.js (or any other client side mapping API)

This 3-part mini-course is my attempt to explain the basic concepts of working with PostGIS data from within the Leaflet.js mapping API.  Technically this is not Leaflet programming. In this scenario Leaflet.js simply becomes the canvas on which your geospatial data is displayed on a web map.  All of the interaction with the geospatial data occur through very common and standard methods of working with enterprise level databases, but with a geospatial twist. Continue reading “Working with PostGIS data from within Leaflet.js (or any other client side mapping API)”

Editing GIS data on the web: When do you need server-side code

Most GIS professional’s initial foray into web-mapping involves building a client side application using a JavaScript API such as Leaflet, OpenLayers, or Google Maps. They learn to set the initial location and scale, place a point or two on the maps, and maybe even load their own GIS data from a GeoJSON file.

This is exciting. A whole new world is opening up. They are now web mappers and it was EASY! And it usually takes only a few more minutes for them to ask How can I edit this data?”. That is the point when their instructor launches into a long string of techno-babble involving client-server architecture, SQL, spatial databases, and server-side coding. And our hypothetical GIS professional’s mood begins to sink. Its not that easy after all. Surely there is a Leaflet plug-in that they can just load in that works like magic? Continue reading “Editing GIS data on the web: When do you need server-side code”

Getting started with PostGIS

For many years I had been hearing about spatial databases. I knew that some of the frustrating issues I was dealing with as the GIS specialist for small environmental consulting companies could be addressed with the technology.  But consulting is all about billable hours and its really hard to convince your boss to give you the unbillable time needed to figure it all out. And its really hard and probably unethical to expect a client to let you figure it all out on their dime. So until a few years ago I kept chugging away with single-user file-based data storage and wasted an enormous amount of time managing data and people to prevent conflicts that could have easily been prevented with a spatial database.  Continue reading “Getting started with PostGIS”

New Course: QGIS 3.0 for GIS Professionals

It’s a great time to be a GIS Professional. The industry is booming, ArcGIS Pro is a complete overhaul of ESRI’s desktop GIS product. Radian Studio is busy rewriting GIS algorithms to take advantage of massively parallel processing in modern computer architectures that can make short work of computer intensive spatial operations. Meanwhile in the open source world, the community of QGIS users is very close to releasing a major new version in QGIS 3.0. Continue reading “New Course: QGIS 3.0 for GIS Professionals”

Exploring the graphical modeler in QGIS 3.0

This video provides an introduction to the QGIS graphical modeler. It was created using a pre-release version of QGIS 3.0 (scheduled to be released Dec 8, 2017). My understanding is that many of the actual algorithms have been reworked under the surface to increase performance, but there are only very minor changes to the graphical modeler user interface. If you are using QGIS 2.xx you should have no problems following this video, although I believe that any models created in 2.xx will need to be redone in 3.xx. Continue reading “Exploring the graphical modeler in QGIS 3.0”

Working with SpatiaLite databases in QGIS 3.0

This video provides a brief introduction into what a SpatiaLite database is, why you might want to use one, and how to load data and create virtual layers in QGIS 3.0. (If you are using QGIS 2.xx you’ll be able to figure it out as well)

This is one lecture of an entire course on QGIS 3.0 for GIS professionals that will be available on when QGIS 3.0 is released (currently expected Dec 8) so keep an eye out for it if that will interest you.

If you want to learn more, check out What can a spatial database do for you? and Quick start to spatial databases with QGIS and SpatiaLite

Adding Legends to your Leaflet Web Map

I’ve just added a bonus lecture to my course on client side programming with Leaflet.  I had a student ask about creating legends for Leaflet maps and I agreed that this was an important missing piece that I had neglected in the main part of the course. I want this course to be comprehensive and so my intention is to continue adding and updating content as needed to provide the best value for my students. Continue reading “Adding Legends to your Leaflet Web Map”

Spatial analysis in Leaflet with Turf.js (Part 3 – Line intersection)

In this video I demonstrate how to use  Turf.js to  return the intersection of lines and polygons.  There is not a straightforward way to perform this analysis in Turf.js but Turf.js is better thought of as a toolbox than a packaged solution. And turf.js does provide a number of tools that can be used in conjunction to perform this analysis. Continue reading “Spatial analysis in Leaflet with Turf.js (Part 3 – Line intersection)”