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 MTBGuru.com 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.
Eric Pimpler March 3rd, 2010
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.
Eric Pimpler January 21st, 2010
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.
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
Eric Pimpler January 13th, 2010
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.
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.
Eric Pimpler December 29th, 2009
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:
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.
Eric Pimpler 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.
Eric Pimpler December 16th, 2009
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.
Eric Pimpler November 24th, 2009
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.
Eric Pimpler November 12th, 2009
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.
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.
Eric Pimpler October 27th, 2009
Posted In: Google Maps
Recently Google announced their Base Map Partner Program for “authoritative” organizations to share their vector data sources as part of the improvement process for base maps in Google Maps, Google Earth, and Google Maps for Mobile.
Currently Google is accepting the following data sets:
The USGS and USDA Forest Service have already provided improved park and water body data and obviously a number of unknown providers have supplied parcel data. The addition of parcel data to Google Maps has initiated a very interesting post and conversation regarding the source(s), accuracy, and legality of this data.
I should also mention that Google will no longer use TeleAtlas map data for the U.S. and will instead use its own data sources.
Eric Pimpler October 9th, 2009