Geospatial API’s and other tools for developers

Since the release of Open data back in 2010, and through the rise of mobiles and the App, the use of spatial data by developers has increased significantly.  Spatial data is no longer the preserve of the geospatial scientists, it is used by mainstream developers who see the value of location. I this post we will look at some of the “free” data and tools that you can use.

Data

OpenstreamAPI:

The Digimap OpenStream service provides access to a Web Map Service (WMS) offering Ordnance Survey OpenData products, including GB Overview, Miniscale, 1:250000 Colour Raster, VectorMap District Raster and OS Streetview.

EDINA aims to provide the latest version of OS OpenData via the OpenStream service. Once registered, you can use the Digimap OpenStream API to do things like:

  • Mashups, combining OS Opendata with maps and data from other sources.
  • adding OS Opendata to Google Earth.
  • Embed maps in your website.
  • provide OS mapping in your own applications.
  • provide OS mapping in a Desktop GIS project.

Openstream viewed in Google Earth

If you want to find out how to use Openstream please check out the folowing useful links:

Advantages – Free. Easy to use and provides regularly updated OS mapping. Available in OSGB and WGS1984 projections
Disadvantages – Not as easy to use in WGS84 as google maps, no satellite imagery available through API.

Google

Most people will be familiar with Google maps, specially if they have a smart phone. What can you say. Global cover (almost) and improving all the time. Packed with detail in urban areas. I suppose the weakness is in rural areas where detail may be sparse. Google maps is enough for many applications but if you may not be as accurate as the data from a national mapping agency, such as the OS.
Google maps is generally available for free in most cases. You have to pay if you use lots of data or if you want the data behind a login.

OpenStreetMap

OpenStreetMap is global community mapping project that wants to make a freely available map of the World. 10 years ago this would have been a crazy idea but today it is almost a reality. It suffers in the same way as Google maps in that it is great in urban areas and less good in rural areas. But, if the detail is not there, just sign up to the cause and add the detail yourself. Your edits will then be available for your, and everyone else’s, map.

Bing

Bing have a mapping stack that you can access through an API in a similar way to Google. Bing was quick to offer a bird’s eye view option for its satellite data and also has OS 1:50 000 mapping available as well as offering detailed street mapping for London. It is worth looking at the data available through the Bing Maps API as it is different to that offered by Google and may better suit your needs.

British Geological Survey

The BGS offer a number of Web Mapping Services (WMS) for developers and GUS users. These include 1:50 000 scale mapping, 1:625 000 mapping (on and offshore), 1:625 000 Hydrogeology, Soil data and contaminated land data. Full information on the use of these datasets and the GetCapabilities statements needed to access them is provided on the BGS website.

API Services

An Application Programming Interface (API) is a protocol intended to be used as an interface by software components to communicate with each other. An API is a library that may include specifications for routines, data structures, object classes, and variables. Thee are a number of API’s that give developers to spatial data and tools to create interactive web maps.

Unlock Text

Unlock Text is a powerful geoparser that can search text hosted on the web in .txt or .html format for references to locations. These locations are then returned ready for use in your results page, web map or any other application.

Unlock

Unlock Text is a RESTful API, you can use it by first setting up a username and password using the POST operation. You can use the GET operation to find out information about this account such as the number of Text documents that have been parsed. POST and GET operations can be used to set up new documents to be parsed and to retrieve the urls of results pages created by the parser.

You will need to use cURL commands; or a REST Console or Client which are available as add-ons for Chrome and Firefox web browsers, to use Unlock Text.

Advantages: Free! There is not really anything else out there to compete with it, unless you pay!

Limitations: Not always a perfect set of results, but then no one else does it perfectly either.  Wikipedia currently blocks it!

Unlock Places

Unlock Places is a place search web service, its API helps developers to find locations for place names. You can also use it to convert postcodes into coordinates, look up electoral boundaries, and to find shapes that overlap or intersect one another.

Unlock Places can provide geographic information describing places – or other features – as points (latitude-longitude coordinates) or larger bounding boxes and more detailed shapes (where possible).

Unlock Places can be used in your web project, app or mobile information service to add a geospatial location on to users’ data.

Advantages: Free

Limitations: Some searches can be a bit slow

National Library of Scotland

NLS

The NLS has a fantastic api which offers access to Historic Maps of the UK. Thus service is great and the mapping is based on out-of-copyright Ordnance Survey maps, dating from the 1920s to the 1940s. Full details of how to implement the map on a webpage or on a mobile app are available on the NLS website.

Google

Google has a host of API’s that allow developers to tap into tools and content delivered by Google. On the maps side of things, there is:

  • Google Maps JavaScripts API v3 – It provides you with the framework to add a number of unique features and content to a Google Maps interface and embed Google Maps in your own web pages. Version 3 of this API is especially designed to be faster and more applicable to mobile devices, as well as traditional desktop browser applications. The API provides a number of utilities for manipulating maps (just like on the http://maps.google.com web page) and adding content to the map through a variety of services. The JavaScript Maps API V3 is a free service, available for any web site that is free to consumers.
  • Mobile API and SDK – Google offers an Google Maps for Android API and a Native iOS SDK for Apple.  Both will allow developers access to google map content and functions such as titl, 3D buildings and Streetview.
The Google maps api has a free use cap of 750k maps a month.  If you think you will exceed this, then you can buy capacity.

Advantages: Google is by far the most popular API for mapping. The public are generally aware of Google Maps and are familiar with both the controls and the content. Mobile Friendly.
Disadvantages: Just because it is the most popular doesn’t mean that it will suit your needs. In particular, the level of details is patchy and may not provide your users with the richness that they need.  For example, you wouldn’t head off into the hills with Google Maps as your main navigational aid. Not entirely free.

Bing Maps API

Bing Maps API offers developers access most of the mapping and satellite images that are available through their main map site.

Bing Maps API as it is different to that offered by Google and may better suit your needs. Did i mention that Bing also does directions? Well it does for car, walking and public transport. The Bing api is has a free option but this has a usage cap and remove the birds-eye view function.  Education/not for profit accounts are available and commercial organisations can sign up to a range of service packages.

Advantages: Alternative mapping stack to Google API and similar user experience. Imagery pretty new.
Disadvantages: User community not as large as Google’s, not free.

Here API

Not heard of Here Maps API? Well Nokia is behind the Here API and that is a good start. Long before Google got serious about delivering spatial data to mobile phones, Nokia were supplying their handsets with mapping pre-loaded. OviMaps, as they used to be known, were pretty good and Nokia have developed them into the Here API service. The mapping is subtly different to Google and uses a pastel pallet that is easy on the eye. In addition to the cartography, there is also relief shaded Digital Terrain Models (DTM) and Maps 3D which is a bit like Google Earth but not quite as easy to use. However, there is a neat 3D option if you have a suitable screen and glasses. Free accounts are capped at 1 million map views a month, slightly higher than the google limit.
Mobile friendly version is available
Advantages: Clean cartography. Looks different to the usual maps. Mobile friendly api
Disadvantages: User community even smaller than Bing maps. Maps 3D not as intuitive as it could be. DTM has artifacts in it that may be annoying. Aerial Imagery not as up-to-date as Bing/Google. Not entirely free.

Openlayers

OpenLayers is an open source JavaScript library for displaying map data in web browsers. It provides an API for building rich web-based geographic applications similar to Google Maps and Bing Maps. OpenLayers is used by the OpenStreetMap project for its slippy map interface which is very similar to Google maps in terms of usability. OpenLayers is used in many web map interfaces including EDINA’s Digimap services.

OpenLayers

The nice thing about OpenLayers is that the user community is both large and very active. This means that you can usually find the answer to the questions that you have when developing an interface. In addition, there are plenty of example maps which allow you to view the code and therefore learn how to implement solutions quite simply.
From Version 2.10, OpenLayers supported built in Navigation and TouchNavigation. Other features such as Map Dragging and Pinch Zoom are also supported. provider the mobile browser support touch events.

Leaflet 

Leaflet

Leaflet is a modern open-source JavaScript library for mobile-friendly interactive maps. It is very similar in style and function to the Openlayers API. It has slightly less features than the Opnelayers API, however this has the advantage of possibly making the API more straightforward. The other biggest, or smallest, advantage that Leaflet has is it’s size. The library is a svelte 64K (Openlayers is over 700k).

One of the trickier aspects of Leaflet is using your own local projection, such as OSGB, rather than the standard Web Mercator.  If you want to do this, then i would suggest reading this blog post which documents the process.

Modest Map

To be added

Map Quest

To be added

About Addy Pope

Addy is a member of the GeoData team at EDINA and work on services such as GoGeo, ShareGeo and the FieldtripGB app. Addy has over 10 years experience as a geospatial analyst. Addy tweets as @go_geo
This entry was posted in Open Data, Uncategorized and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *