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”

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)”

New Course! Leaflet.js client-side programming.

Display and analyze GIS data on the web with Leaflet.js. For FREE!!!!

This course is available now on It will show you how to add a web map to a web page using Leaflet.js including

  • Geolocation methods
  • Native and plugin map controls
  • Base maps
  • Adding raster data
  • Vector layers
  • Group layers
  • Native leaflet styling options
  • Plugin styling options
  • Loading GeoJSON files
  • Searching
  • Filtering
  • Nearest feature
  • Geoprocessing with Turf.js

Continue reading “New Course! Leaflet.js client-side programming.”

Leaflet Basemaps

One of the reasons to use Leaflet as your JavaScript mapping API is the large number of basemaps available.

This includes very useful basemaps, showing streets, topography, cities, borders, aerial imagery, etc. that you can overlay your data on.

There are also a number of fun and artistic basemaps available, such as the heavy metal themed Spinal Map, artistic water color maps, old-timey pioneer themed maps, and others.

You can see a live version of about 20 of these basemaps at

Continue reading “Leaflet Basemaps”