The Project‎ > ‎Web Mapping‎ > ‎

Mashups

Mashups are similar to basic web maps in that data files are served from a web server. However, the "thin client" that requests and renders the data files are not open source JavaScript libraries. Instead they are proprietary application programming interfaces (API's) published by Google, Bing, or Yahoo!, to name a few. The public is free to use the API's (within limits --- see below), but the development of the API's does not follow open source procedures or principles.

One aspect of KML files is that point, line, and polygon layers can be created from the various tools available in Google Earth, and saved in KML format.  Hence while the general workflow here shows KML files being converted from shapefiles created at the desktop GIS step, simple KML files can be created without any GIS tools other than Google Earth.  Some of the layers in the Blair township mashup shown in the figure to the right were created using Google Earth only.

Google, Yahoo!, and Bing also make their popular base map tiles available to the public for use on mashups (governed by certain usage regulations).  It is on these base layers that users overlay their data files through the web map API's.

These proprietary API's are immensely popular because they are freely available, and because they are well documented.  The Google Mapping API in particularly well documented, both on-line and through published books.

As noted in the Web Mapping page, the learning curve for a Google mashup appears to be less steep than that for OpenLayers.  While it is apparently easier to start creating simple mashups than mastering OpenLayers to create open web maps, ultimately OpenLayers provides the web map creator much greater flexibility in customizing the final product.  This is one of the trade-offs to be considered in determining whether open web mapping or mashups will provide the appropriate web map application for information dissemination.

Project participants have tended to create Google mashups, rather than their Bing or Yahoo! equivalents, simply because of prior familiarity with the Google Maps API.  A recent development from Google makes the use of Google mashups even more compelling.  This is the appearance of Fusion Tables, which serves as a publicly-available, multi-function database.  A fusion table can be populated with X-Y coordinates as well as attributes for each geometry represented by the coordinates.  These can be rendered directly from Fusion Tables, or programmatically (via Google Maps API) as a Google mashup.

In open web mapping, reading data from datastores (instead of KML files, shapefiles and other stand-alone vector files) involves setting up and caring for a full-blown database like PostGIS or SpatiaLite.   Fusion tables appear to be much easier to establish and simpler to populate (via csv files, KML files, or Google docs).  The Google Maps API allows rendering of the spatial layer stored therein, and has methods for querying the attribute data.  This provides Google mashups with  functionality similar to what can be obtained through deployment of the open source datastores such as PostGIS or SpatiaLite.

The mashup illustrated above is the 2012 Acme Township (MI) parcel map.  This map comprises a Google Maps satellite view basemap, with a township parcel map KML file as the overlay.  When a user clicks on a parcel in the map, the web page sends the PIN number of the parcel to a Google Fusion Table that stores data on all township parcels.  The fusion table then returns that data to the webpage, and the page renders the information on the right-hand panel of the page. Click on this page for more information on this particular mashup.

As of October 1, 2011, Google will start enforcing usage limits for free use of their Google Maps API.  These limits, and the cost for usage exceeding the limits, are reproduced below from the "Usage Limits" section of the Google Maps API Family FAQ page.

Service Usage limit
(per day)
1,000 excess map loads
(in U.S. dollars)
JS Maps API v3 25,000 $4
JS Maps API v3 styled maps 2,500 $4[1] / $8[2]
Static Maps API 25,000 $4
Static Maps API styled maps 2,500 $4[1] / $8[2]
Street View Image API 25,000 $4
JS Maps API v2 25,000 $10
[1] - From 2,500 to 25,000 map loads per day
[2] - Above 25,000 map loads per day

The FAQ defines "usage" (or "load"), and notes that once a map using API v3 or v2 is loaded (and counted as a "usage"), the user can interact with it as many times as desired without counting against the "usage" limit.

While it is highly unlikely that usage of our project participants' interactive web map pages will ever exceed the limit, participants must take this usage limit in mind when deciding which mapping API to employ in their web maps.
Comments