We’ve talked a lot about how using a mapping framework to build custom maps allows for utmost creativity and interactive control (see Choosing a Mapping Framework ) but it is important to know what off-the-shelf alternatives exist. There are many 3rd party services that may allow you to create the map you need, or parts of it, with less effort and cost than doing it all on your own.
As a WordPress or FileMaker developer you are probably already heavily involved in your own development platform. Using a 3rd party service may help minimize the additional software, APIs and data structures you need to learn to implement the mapping your users need.
What are Hosted GIS Services?
A hosted GIS service is a broad term that encompasses interacting with data (yours or someone else’s) or services on a server that you don’t control.
At one end of the spectrum a CDN (Content Distribution Network) with mapping framework files is a hosted GIS Service. At the other end, there are services that host your data and let you build maps entirely within their platform, such as Carto and ArcGIS Online.
In between those two extremes are a host of other services including geocoding, custom basemaps, routing and data collection.
Should I use a Hosted GIS Service?
There are a few questions I like to ask myself when deciding if I should use a service or do something myself. They are pretty much the same questions you would ask when considering integrating a non-spatial web service.
How sensitive/proprietary is my data?
If my data shouldn’t be available to others, then I probably won’t use a hosted database service. I may still use hosted base maps, geocoding or other services.
Does the service do what I want, or just part of what I want?
Whenever possible I prefer to use the best tool for the job. Sometimes I have multiple jobs to do though, in which case it might be best to use a single good tool than 10 best tools.
Will I be locked in to the service, or can I switch providers later if I want to?
Most GIS services are pretty good about giving you access to your own data. Some web services out there try to lock you in though, so when evaluating new GIS web services be sure to evaluate them carefully.
Can the service meet my expected usage and timeframe?
Is the service I’m considering well established? Does it have a history of stability? For business critical GIS services you’ll want to find a company that can offer a SLA (Service Level Agreement). Most users don’t need an SLA though, simply determining if the company has a good reputation will be sufficient.
(Almost) Always Use Hosted GIS Service For…
- Geocoding / Reverse Geocoding
- Customized Basemaps
All of these tasks are fairly specialized and require vast amounts of data that is very expensive to purchase or very difficult to generate on your own.
For an idea of how much data, the OSM (Open Street Map) database is nearly 800GB uncompressed and that’s before creating a single map tile. A good geocoding or routing company will add other additional data sources on top of that data, and a good basemap company will have caching and other performance enhancements configured.
There are scenarios where it makes sense to do your own geocoding, routing or basemap generation, but very few projects start with such needs.
A Few Suggested Map Services
There are many GIS services available, but here we will mention only four. These four services are full-featured general purpose services and are likely to be of use to many users. There are many more services out there, including specialized services for specialized data or specific locations in the world.
MapBox is best known for its customizable basemaps, and indeed its services are focused around providing excellent satellite and rendered basemaps.
Their rendered maps are based on the detailed data from Open Street Map (OSM), and can be customized extensively. The map customizer lets you set up rules which determine what types of map features appear at which zoom levels and how they are styled.
Beyond basemaps, MapBox also lets you store your data on their site and provides geocoding and routing APIs so that you can let your users find things and find how to get to those things.
Carto (formerly CartoDB) is, at its core, a hosted spatial database. Your data lives on their server, and they provide visualization tools and access to your data through an API.
Among the visualization tools it provides, you can cluster points, categorize them, make heatmaps and time-series animations. These visualizations can be integrated into webmaps that you already have on your site.
Carto is beginner-friendly. You can make fantastic maps through the web interface without ever touching code. If you need more options, the developer APIs give you access to geocoding, programmatic editing, custom visualizations and
Carto is built on top of the PostGIS database, and you can use SQL queries via Carto SQL API if you need to fetch custom data.
ArcGIS Online is a service provided by ESRI, the world’s largest GIS company. ArcGIS does offer an online webmap solution, but since we’re most interested in putting maps on our own site we’ll take a look at the services we can use on our site.
The easiest way to use ArcGIS services on your own map is to use the ESRI-Leaflet plugin. The plugin gives you access to basemaps, your data stored on the ArcGIS Online server, geocoding, geoprocessing and other services.
ArcGIS Online can be an excellent choice if integration with other ArcGIS services is needed.
HERE is a particularly interesting company. It has changed hands several times and was purchased by Audi, BMW and Daimler in December of 2015.
The HERE services are solid and well supported. The documentation is particularly good. Besides the usual geocoding and routing, HERE includes indoor mapping for 90,000 malls and other points of interest around the world, toll calculation for routes and an API for requesting popular places near a given point.
Which GIS Service Should I Choose?
Each of the services here are reputable, reliable companies. Any of them should scale with your site and be able to handle large volume of map views and API interactions.
Each service supports many different use cases and there’s a lot of crossover. It’s really best to be familiar with all four services (and many others too!) so that you can choose the right tool for the job. If you’re not yet familiar with these services and you just need to pick one to get started, use the following rough rule of thumb:
- MapBox — For custom base maps
- CartoDB — For hosted data
- ArcGIS Online — For integration with other ArcGIS solutions
- HERE — For routing, GeoCoding and points of interest
If you don’t need multiple GIS services, then one of these 3rd party providers might be overkill for your project. For example if you simply need to geocode addresses in your FileMaker or WordPress database, you could easily get away with using a simpler API from a smaller 3rd party service. There are countless other services available that we will discuss and compare in future articles. In the mean time, if you need advice on spatial APIs, services or frameworks, send us a message on our Contact Page to discuss your project!