A GeoSpatial Training Services Blog

Google has announced a new Geocoding Web Service  which contains a number of improvements over its previous version  including the following:

  • A flatter response format for address components that is easier to parse
  • The ability to tag an address component with multiple types
  • Both full names and abbreviations for countries and states
  • Differentiation between rooftop and interpolated geocoder results
  • Both the bounding box and recommended viewport for each result

The geocoding web service enables pre-caching of geocoded results for commonly used addresses in your application.  Results are cached on your server and any additional requests for these addresses will be served out of the cache rather than having to be geocoded each time.

Other items of interest from the announcement

  • Google also announce the deprecation of its previous geocoding service. 
  • Requests no longer require a Maps API key
  • CSV output not supported
  • 2,500 requests per day from a single IP address
  • Service must be used in conjunction with maps generated by Google Maps APIs or Google Earth API

March 10th, 2010

Posted In: Google Maps

I’ve written previously on Google Fusion Tables and its potential for creating dynamic mapping and visualization applications.  As I mentioned last time…….

the compelling thing about Fusion Tables is its integration with the Google Maps API and Google Visualization API.  Visualizations are also real time as Fusion Tables automatically updates data as it is updated or corrected.  With the Fusion Tables API you can also update or query the database programmatically.  Data can also be imported from various data sources including text files and relational database management systems.

Well, Google recently announced some exciting new additions to the API.  According to the announcement you can now upload and map large amounts of geographic data.  This used to require a developer, but now you can do it yourself. You can also now hide and show different data depending on your own criteria.

The folks at detailed their use of the new capabilities in a blog post.  Some of the screen shots from their application can be seen below.  The data driving their application is stored in a Fusion Table.  I’m particularly impressed with the capability of creating heat maps as seen in the second figure.

Here the heat map shows the density of bike tracks in a certain area.

Google is continuing to push the envelope in the mapping and visualization space.  Fusion Tables isn’t getting the press is deserves at this time, but I think that is going to change rapidly as people get a better understanding of how it can be used.


March 3rd, 2010

Posted In: Google Fusion Tables, Google Maps

Good news!  Looks like ESRI has finished the migration of ArcGIS Online Maps to a Google Maps/Bing Maps tiling scheme.  According to ESRI:

ArcGIS Online map services have been migrated to the Google Maps/Bing Maps tiling scheme in Web Mercator Auxiliary Sphere. This enables Web developers to more easily combine ArcGIS Online map services with other popular Web map services including those from Bing Maps, Google Maps, and other providers using the same Web map tiling scheme.

The existing services in the ArcGIS Online tiling scheme will remain available for at least the next six months and, depending on demand, may remain available longer. Although the services will remain available, the content will no longer be updated.

For more details, see Migrating map tiling schemes in the ArcGIS Online Help.


January 21st, 2010

Posted In: ArcGIS Online, ESRI, Google Maps, Virtual Earth

The folks at Arc2Earth have been busy working on V3 of their popular Arc2Earth software for converting and publishing your ArcGIS data to view in Google Earth, Google Maps, Bing, and OpenLayers.

V3, which will be released in beta soon, will include many exciting new features including the new Arc2Earth Cloud Services, a new free Community version of the software, as well as much more functionality.

Community Edition
V3 will include a Free version of Arc2Earth called Community Edition.  You will be able to use this edition for both commercial and non-commercial projects alike as well as install it on as many computers as needed.

This version has limits on what can imported and exported but we feel that it will be very functional for many of your projects.

This version can also be used to edit Arc2Earth based Cloud Layers.

Arc2Earth Cloud (beta)
Each A2E Enterprise user can create their own Google AppEngine accounts for hosting their data. Arc2Earth maintains the software on these clouds but the billing is handled directly through the user and Google.

Each A2E Cloud instance contains APIs for vector and raster storage and querying as well as partial compatibility with ESRI ArcGIS Server REST API (9.3, 9.4 when its released). There will be limits on the number of maps and layers you can load with each A2E Enterprise serial number however it will be easy to add serial numbers to existing clouds for more capacity.

Each Cloud contains Datasources, Tilesets and Viewers that represent your vector, map tile and application files. All of the data is accessible from a login controlled RESTful API. For example, you can create a new Datasource and immediately start populating it with Feature data. ArcMap users that have your Datasource loaded as a Cloud Layer will see your edits as they happen. Datasource API

Google AppEngine is designed for instant scalability as well as true utility based billing (only pay for what you use in addition to generous free daily limits). We believe the significance of the Cloud is mainly the extensive CapEx/OpEx savings for users. For instance, this simple Parcel Mapplet has been running for over a month with an OpEx cost of $0.00 (OpEx includes CPU time, storage, bandwidth and most importantly, IT personnel to keep it running)

Google Maps Data API
In addition to A2E Clouds, we will also be enabling editing from other providers as well. The first are Google MyMaps layers powered by the new Google Maps Data API.

Users can import/export directly into any new or existing MyMap and also perform live edits on any loaded layer as well. Live edits are handled as an interactive graphics annotation layer in ArcMap. If a Google Map only includes features of the same type, they can also be edited using the Cloud Layers interface above.

Other New Features of V3

  • Arc2Earth Cloud Explorer and Cloud Layers
    A new toolbar and explorer window in ArcMap to manage, upload and download your data from the Cloud. It also includes built-in functionality for live editing your Cloud layers (or other Cloud layers you have been granted write access to). Cloud Layers automatically syncronizes a local cache with the online datasource as the user pans/zooms around the map. The layer can then be edited directly in the ArcMap editor and all changes are then saved to back to the Cloud.
  • Google Earth Enterprise Layer Support
    A new feature to convert any ArcGIS layer’s symbology/definition into a GEE Fusion definition. Currently, many GEE users must perform this operation by hand for every change of styling in their ArcGIS systems.
  • Accounts
    Store and use multiple Amazon S3 and Google Accounts for use with your exports and the Cloud. For Amazon Accounts, define the exact Bucket name to use in exports.
  • Embedded Globes (beta)
    A new ActiveView manager takes over the main ArcMap map/layout section and embeds both Microsoft and Google’s maps. Layers in the TOC can then be displayed in real time over the 2D/3D maps (as images only). The new views can also be used on the Page Layout and higher resolution versions of the view can be printed/exported.
  • Map Tile Layer
    The MTL has many bug fixes and enhancements. Yahoo Maps have been added back into the default configuration. Any Cloud tile layer can also be used in the MTL. Also, a new Offline Cache tool has been added so users can download all tile images for a given extent and levels.
  • New Search Window in ArcMap
    Users can type any street address or place location and it will zoom to that area on the map or embedded globe. The initial search window in V3 will be limited to this simple geocoding but there are many enhancements planned.
  • New Command Line
    The Command Line exporter (A2EExporter.exe) has been rewritten and includes many new features for creating batch exports and including them in your own workflows. The Map Tile exporter also includes a cutter parameter to specify how many workers for the export and then automatically splits the extent for each worker.

More Information
GeoSpatial Training Services
is an authorized reseller of Arc2Earth software.  For more information please visit our site or contact us directly at sales at


January 13th, 2010

Posted In: Arc2Earth, GeoSpatial Training Services, Google Earth, Google Maps, OpenLayers

GeoSpatial Training Services recently earned the distinction of “Qualified Developer for the Google Maps API”.  Currently there are fewer than 50 developers worldwide to have earned this distinction.

The Google Qualified Developer Program was designed to recognize Google API and developer tool experts, and to provide those in need of development support with a directory of trusted references. Candidates are subjected to a rigorous evaluation process.  In additioni to passing an exam, candidates must show examples of their development work, evidence of community participation, and references who can vouch for their professionalism.

Achieving and maintaining qualification consists of requiring a minimum point level in four areas including professional references, active development projects, community participation, and a qualification exam.

Google currently provides Qualified Developer Programs for Google Maps, KML, Gadgets Ads, and AJAX Search API.

More Information
GeoSpatial Training Services provides e-learning and application development services for the Google Maps API.  Our e-learning courses include the freely distributed “Introduction to the Google Maps API“, “Advanced Google Maps API Programming“, and “Building Rich Google Maps Interfaces with Dojo“.  You can view all our e-learning courses on the Google Maps API here.


December 29th, 2009

Posted In: GeoSpatial Training Services, Google Maps

Based on this announcement from Google if you haven’t taken a close look at the Google Maps Data API yet you may want to consider doing so now with the addition of spatial and attribute search capabilities to the API.  Search Feeds, similar to Feature Feed URL’s, take the form:

Search Feed URL Example

Spatial queries can accept either a bounding box or a radius (from a lat/long center point) to use as the input geography for performing a searching.  Matched features within a defined area can also be sorted by distance from the input lat/long.  In the code below a bounding box is used as the input search geography.

Attribute searches can be implemented against a feature’s structured key/value pairs.  An array of key/value pairs are passed in to the query as seen below where we are searching for all features in a map containing the attributes pool: true and price:budget.

I don’t see mention of the capability of combining spatial and attribute queries but I would assume that you only need to include the appropriate parameters for each.

This is a nice addition to the Maps Data API and will make it a much more attractive platform for web mapping applications.  Obviously it doesn’t provide advanced search capabilities, but for simple applications it is an attractive solution.


December 16th, 2009

Posted In: Google Maps

Google announced this week that Fusion Tables now has its own API.  Fusion Tables, still in Google Labs, allows you to upload data sets from spreadsheets or CSV files and visualize the data on maps, timeslines, and charts.  In addition, the collaborative nature of Fusion Tables enables you to not only share data with other organizations, but also merge your data with other user datasets, embed comments, and allow collaborative editing of the data.

Now, obviously Google Docs has been around awhile so uploading your spreadsheet data to this type of application is nothing new, but the compelling thing about Fusion Tables is its integration with the Google Maps API and Google Visualization API.  Visualizations are also real time as Fusion Tables automatically updates data as it is updated or corrected.  With the Fusion Tables API you can also update or query the database programmatically.  Data can also be imported from various data sources including text files and relational database management systems.

I think we’ll see a lot of good web mapping applications built with a combination of Fusion Tables, Google Maps, and Google Visualization perhaps tied together with Google App Engine.  In the announcement Google referenced the Open Data Kit project which uses Google App Engine and the Fusion Tables API to instantly map locations of survey results gathered from GPS-enabled cell phones or survey software.


December 16th, 2009

Posted In: Google Fusion Tables, Google Maps, Google Visualization API

Gabriel Svennerberg has released a beta chapter from his upcoming book on v3 of the Google Maps API.  Sounds like he is looking for some feedback so check it out and let him know what you think.

You can also download a free copy of our e-learning course “Introduction to the Google Maps API” or to get more information on v3 of the Google Maps API you may wish to consider our “Advanced Google Maps API Programming” e-learning course.


November 24th, 2009

Posted In: GeoSpatial Training Services, Google Maps

Our recent poll (it’s not too late to vote) concerning current and future plans regarding your development platform for web mapping applications resulted in some interesting patterns.   You can view the results here.  We’ve had 643 as of now.

  • ArcGIS Server and it’s many developer choices accounted for 208 votes or 32%.
  • The ArcGIS Server JavaScript API appears to be the #1 choice among ArcGIS Server developers with 63 votes.
  • The Flex API is running second behind the JavaScript API
  • Interestingly, more people are still developing on ArcIMS than are using the ArcGIS Server Java ADF
  • Open Source development platforms including OpenLayers,  MapServer, and GeoDjango are increasingly popular with 221 votes between them or 34% of the vote.
  • OpenLayers was the leader of the pack….no surprise there.
  • The Google Maps API continues to be a popular choice with 82 votes or 13%.
  • Bing Maps remains far behind Google Maps
  • A fair amount of votes in the “Other” category with 70 votes.

November 12th, 2009

Posted In: ArcGIS Server, ESRI, Google Maps, OpenLayers, Virtual Earth

Google Maps provides a web mapping application wherein maps are produced in advance and served as a set of small tiles for assembly into one big image in the browser. The advantage of this approach is consistency of appearance and graphical quality of the map and, probably more important, enormous scalability that can be achieved. There is no need for server side processing to generate maps and individual map tiles are much smaller than the whole map presented at the user end, so they are able to be delivered and displayed much faster. The trade off is a big effort up front to generate nice looking maps and the need to fix zoom levels rather than allowing a continuous zoom, as is the case with older web mapping technologies.  The approach has been copied by other online map technology providers.  But what approach should you take if you’d like to present your own custom data on top of a Google Maps base layer without using markers, polylines, or polygons?  Perhaps you have a large dataset stored in a shapefile and you’d simply like to convert this data to a format suitable for display in Google Maps.  In this case it would make sense to pre-create custom map tiles of your data at various zoom levels and have them available for display.

Custom Tile Overlays
Custom tile overlays are custom data that sit on top of an existing Google base map.  They are essentially a snapshot of your data at a particular time.  The data is cut into a pyramid of static tiles that correspond to each zoom level.  Typically you would use some type of tool to cut the data into static tile images.  In the figure below you see an example of a custom tile overlay showing thematically mapped parcel data on top of a Google base map.

So what is the point of creating a custom tile overlay?  Why not simply add your custom data as markers, polylines or polygons?  The short answer is that when you are dealing with large custom datasets the performance of your application can suffer a great deal when you attempt to plot this data as markers, polylines, or polygons.  Since custom tile overlays are pre-built static tile images the performance is greatly improved.  Data does not have to be created dynamically each time the map is drawn.  The downside to this is that your users don’t have as much flexibility in terms of obtaining additional information about your custom data.  You can’t click on your custom tiles to obtain additional information like you can when you display InfoWindows when markers are clicked.

When it comes to building custom map tiles with the Google Maps API you essentially have two options: GTileOverlay and a custom GMapType.  GTileOverlay is simpler to use than GMapType although its use is more limited.  However, in most cases GTileOverlay will suffice.

GTileOverlay is used when you want your data to overlay an existing Google Maps base map.  In most cases you will want to use one of several tools available for creating the map tiles that will need to be displayed at each zoom level.  GTileOverlay requires three abstract methods including getTileUrl(), isPng(), and getOpacity().

There are many tools available for turning you data into a custom map tile.  Today we will review GMapCreator.  GMapCreator, has a graphical user interface and uses shapefiles or CSV files as data sources.  We’ll take a look at some of the additional tools you can use to create custom map tiles in future posts.

GMapCreator is a freeware application designed to make thematic mapping using Google Maps simpler. The application takes a shapefile containing geographic areas linked with attributes and automatically generates a working Google Maps website from the data. It does this by pre-creating all the necessary files and saving them into a directory. Publishing the map on the web is then just a matter of copying files onto a web server, allowing Google Maps to be used with the majority of ISPs.

GMapCreator can be downloaded from the UCL Centre for Advanced Spatial Analysis.  You do need to create an account to download the software.
Your shapefile data source is loaded into the application and displayed inside the map preview area. As seen below.

The data must have an associated .prj file that defines the projection of the data.  This is necessary because GMapCreator automatically reprojects the data to fit with the Google Maps projection.  Using GMapCreator you can define the output symbology for thematic, geographic extent, and maximum zoom levels.

Tiles are generated by GMapCreator based on the Maximum Zoom Level you select from the tool interface as seen below.  The zoom level corresponds to the zoom levels available in Google Maps.  Here we have set the maximum zoom level to a value of ‘14’.  GMapCreator specifies how many tiles will be created at each zoom level.  In this case the tile count is 1,173.  You can obviously go above this value, but there is an exponential jump in the number of tiles generated by each increase in value of the zoom level.  For example, if I move the maximum zoom level to a value of 16 the tile count jumps to 17,224 (at maximum zoom level of 18 it jumps to 267,496) so you have to consider the tradeoffs between the level of detail you need for your application and the time and disk space necessary for generating a large number of tiles.  The number of tiles can exceed 1 million at the highest zoom levels.

Thematic mapping with GMapCreator is performed by clicking the ‘Cols’ button which displays the Colour Thresholds dialog.  Values are applied against the attribute field selected in the drop-down box.  You can also give each color value a description.

Once you have defined the output symbology and the maximum zoom level GMapCreator creates a directory of image files which serve as tiles along with an HTML template for displaying the data.  As mentioned above please note that the number of tiles can be very large depending upon the maximum zoom level you have selected.

GMapCreator also creates an HTML template file for displaying the data.  You will likely want to customize the template file with your own logos and text since by default is includes information for the UCL Centre for Advanced Spatial Analysis (CASA) as seen in the figure below.

To move the output of this tool to a production web server you need only move the HTML template file along with the directory containing the tiles.  GMapCreator is an efficient, easy to use tool for creating custom tile overlays for your Google Maps application.

More Information
For more information on the Google Maps API please consider our e-learning courses including Introduction to the Google Maps API, Advanced Google Maps API Programming and the Google Maps Developer Bundle.


October 27th, 2009

Posted In: Google Maps

« Previous PageNext Page »