Dissecting the Layers of Mapping APIs
The world of geospatial software development offers a wide menu of application programming interfaces (APIs) to support myriad mapping needs. Some are well-recognized and solve common problems across a multitude of industries, like Google Maps. Others, like OpenLayers, are less popular with the masses but have been a mainstay of GIS web developers for years. This blog will help demystify the collection of mapping APIs and help you pick the right one for your next project.
A good starting point is to ask yourself, “Do I have the geospatial content and systems intelligence necessary to solve my mapping problem or will I rely on an API to provide these?”
If you are looking for driving directions between two points in any given country, you most likely will need the API to provide content—data and serving infrastructure—and systems intelligence. On the other hand, if you are standing up a website with a map of your underground utilities, you may have the content and only need a frontend API to present it to your end user.
Backend APIs provide content and intelligent systems services. Content providers offer base maps with common themes like streets, terrain and satellite imagery in 2D or 3D. Intelligent systems services provide answers to geospatial problems like driving directions or geofence-based alerts.
Google Maps Platform is considered the global geospatial content leader. The platform provides base maps, Street View panoramas and a comprehensive POI database with an advertised 25 million updates daily. Its Maps API advertises 99% global coverage, and Places API advertises 150 million places. All Google Maps Platform services are read-only, meaning you cannot upload your own content, and are pay-per-use with a recurring $200 free monthly credit.
Microsoft’s Bing Maps Platform offers a robust catalog of content and location intelligence services. In addition to standard base map, geocoding and routing services, Bing’s Logistics and Fleet Management services can route commercial vehicles, calculate isochrones (equal drive-time polygons), alert on geofence crossings and perform multi-itinerary optimization. Bing’s Spatial Data Services offer bulk operation APIs and the ability to host your own data.
ArcGIS Online (AGOL) is a complete SaaS solution intended to complement or replace your on-premises enterprise GIS solution. It caters to the GIS-savvy practitioner who is looking to host and share his or her own content or develop and serve a proprietary geoprocessing routine. Although AGOL provides comprehensive GIS in the cloud, it also offers a wide variety of backend APIs that serve both content and geospatial intelligence. AGOL’s base maps are free to use and come in both raster and vector tile formats, and its GeoEnrichment service allows you to embellish your data with location-based demographics and provide your end users with new insights.
Mapbox, author of the vector tile specification, offers a SaaS solution for hosting your data and creating beautiful, stylized maps. To support your application-specific maps, Mapbox hosts a set of handsome base maps that are delivered as vector tiles. Beyond maps, Mapbox provides in-vehicle navigation services, Geocoding/Search and Vision APIs. Its content services, Data Products, give you easy access to boundaries, traffic data and “movement” data, providing more than 20 billion location updates daily on a variety of themes.
Here Technologies specializes in the automotive industry and offers a rich line of in-vehicle application services. It demonstrates its depth in the auto industry with a full array of fleet telematics and transit services, meant to solve complex transportation and logistics problems.
OpenStreetMap (OSM) is the most popular open source map of the world. OSM receives map updates from a global community of contributors and relies on a crowd-sourcing model to keep its content fresh. OSM offers base maps for download and web service APIs in both raster and vector tile formats. The base map APIs are provided by many third-party organizations.
Frontend, Traditional and Big Data APIs
Traditional APIs meet traditional web mapping needs for small- to medium-size data volumes. They include:
The need to scale beyond traditional data volumes led to the development of big data APIs. They leverage WebGL, a library available in all modern browsers that can take advantage of hardware graphics acceleration to boost performance and expand what’s possible to render in the browser. Some big data APIs include:
CesiumJS is an open source library specializing in high-performance 3D globes and maps.
Mapbox GL JS is part of the Mapbox ecosystem and is the de facto standard for rendering Mapbox maps in a web application but is also built to handle big data volumes.
Deck.gl is an Uber open source project that can utilize Mapbox maps. It allows you to visualize large-scale geospatial datasets for exploratory purposes.
Kepler.gl, courtesy of Uber, combines Mapbox GL with deck.gl and can render millions of points and perform spatial aggregations on the fly.
Beyond the differences in features across the suite of APIs, make sure you consider:
Cost: With the exception of OSM, all backend APIs are paid services. The pricing models and free allotment vary. Be sure to fully understand costs before embarking. Frontend APIs are generally free to use.
Terms of service: Look out for restrictions on what you can do with content. The terms of most providers forbid caching any data or limit the types of data you may cache, subject to a refresh term—30 days, for example.
Geospatial Cloud Series 2020
September: Remote Sensing Data at Home in the Cloud
October-November: With Great Power of the Public Cloud Comes Even Greater Responsibility