New Course: MySQL for geospatial applications

Good news folks!  MySQL has quietly become a very good spatial database that is widely available on almost all web-hosting platforms.  If you are looking for an affordable spatial database solution its worth giving MySQL a look.

PostGIS has long been the gold standard for open source geospatial databases.  MySQL had some spatial capabilities but were pretty limited for real GIS applications.  That changed a few years ago with MySQL version 5.6 and even more with version 8 but it seems that MySQL has still not been given a solid look by most geospatial professionals.  This is unfortunate in my opinion because MySQL has one BIG advantage over PostGIS.  It is available on almost every webhosting platform in existence and you can host your geospatial data in a MySQL database that is accessible from anywhere in the world for only a few dollars per month.  Inexpensive hosting options for PostGIS on the other hand have gone the way of the dinosaur and are essentially non-existent today.  It was this lack of affordable options for PostGIS hosting that caused me to take a second look at MySQL and I liked what I found and wanted to spread the good news.

MySQL today is a very capable option as a spatially enabled database, especially for web-mapping applications.  It does not have all the bells and whistles of PostGIS but I believe it will serve the need for most users.  The biggest deficits in MySQL today relative to PostGIS are the lack of support for transforming between coordinate systems and the lack of support for Z and M coordinates.  The first can be dealt with in web.mapping applications due to the availability of PROJ4 bindings in Javascript, but if you really need Z and M coordinates you are out of luck with MySQL.  If you are an experienced PostGIS user you will notice some functions that are available in PostGIS are not available in MySQL but there are usually workarounds for these.  The major functionality needed by most small to medium-sized web mapping projects is all there.

If you are interested in learning more you can sign up for my new course MySQL for Geospatial Applications today for $9.99 using the coupon code MYSQLGEO,  This offer is good through Dec 1.  All of my other courses are also available during this time period for the same price using the same coupon code.

This course will teach you

  • What a spatial database is and why you shoud use one
  • Review of SQL for non-spatial data
  • SQL functions for spatial data and analysis
  • How to load your GIS data into MySQL
  • How to access your MySQL data from a variety of clients
  • How to set up user accounts and control access to your data
  • How to deploy your MySQL database to a web-hosting platform
  • How to customize MySQL to automate your business logic with stored procedures, custom functions, and triggers

New Course: QField Quickstart

QField is an open-source Android based mobile data collection and/or viewing application that is tightly integrated with QGIS.

QGIS is used to set up the project using standard QGIS tools.

If the layers in your project are stored in a PostGIS database and a mobile data connection is available then changes made in QField are made directly to your database and visible in real-time to anyone that has a client to your database. This, in my view, is the mobile data collection killer app.

Continue reading “New Course: QField Quickstart”

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

Deploying a PostGIS Database Parts 5 and 6 – Performance considerations

In these two videos I discuss performance considerations when choosing a hosting service for your PostGIS database, how to determine if you should invest in higher download speeds on the client side or better performance on the server side, and strategies for mitigating slow response times. Continue reading “Deploying a PostGIS Database Parts 5 and 6 – Performance considerations”

Deploying a PostGIS database Part 4 – The AcuGIS Cloud

In this video I show how to deploy your PostGIS database to a second remote server option, the AcuGIS Cloud.  In general my perception is that getting started with AcuGIS was much easier for general GIS use than A2 hosting. They focus on GIS and they know GIS. Installing PostGIS was a breeze, they have the latest versions of both PostgreSQL and PostGIS available, they have all the extensions for PostGIS, and they have shp2pgsql and raster2pgsql available right in their control panel which simplifies loading your data. Continue reading “Deploying a PostGIS database Part 4 – The AcuGIS Cloud”

Deploying a PostGIS database Part 2 – Web hosting service

This video goes through the process of signing up for a web hosting service with A2 hosting. You can literally have an instance of PostGIS up and running in half an hour for under $5/month that can be accessed from your own web map or from other clients such as QGIS.

What makes A2 Hosting so good for GIS applications is that they offer PostgreSQL databases in their standard cPanel package which means that you can easily install and use PostGIS. Most web hosting services only offer MySQL although you may be able to have them install PostgreSQL for you. Continue reading “Deploying a PostGIS database Part 2 – Web hosting service”

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”