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