3

I've been asked to add drawing support for Google Fusion Tables to an Esri Silverlight map application. For example this one showing Full-Year Stream Temperature Monitoring Sites for the Western US.

Ideally, I'd like to be able to handle this just like any other mapservice layer by providing the url and add it to the map.

Does anyone know of an easy way to do this?


A related question is: would doing this be a violation of the Google Fusion Table Terms of Service?

5.3. You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by Google, unless you have been specifically allowed to do so in a separate agreement with Google.

Does this mean I have to use Googles javascript API method if I want to show layers from fusion tables?

1
  • the SQL API is officially supported so it's allowed, however the tile access is an undocumented interface so it goes against the TOS
    – bFlood
    Sep 29, 2011 at 21:41

2 Answers 2

2

You can wrap the Fusion Table in the Open GeoServices REST api and make it look like a native AGS MapServer or FeatureServer. That's pretty much what Arc2Earth Sync will do for you automatically for your Fusion Tables or Earth Builder layers (in addition to synchronizing with a local FGDB)

The FT table you described above has an ID of 1236296

AGS FeatureServer (direct query of vector data via FT SQL API) http://beta.arc2cloud.com/9280826/ArcGIS/rest/services/gft/1236296/FeatureServer/0/

AGS MapServer (uses the FT generated tiles, not sure this will be allowed in the future) http://beta.arc2cloud.com/9280826/ArcGIS/rest/services/gft/1236296/MapServer

Saved map from ArcGIS.com with the feature server added: http://bit.ly/o4hNQc

cheers brian

2
  • This looks promising, I get an access denied error for ArcGIS.com though - did you make the map Public? Sep 27, 2011 at 19:15
  • whoops, no forgot to make the map public. should be now but you can just add those services to your own map anyway
    – bFlood
    Sep 27, 2011 at 19:18
2

You can make a custom tiled layer that makes direct requests for FusionTables tiles, though you'll need to play with the URL to figure out what X/Y/Z parameters are in the URL, and you'll need to check the T&C to make sure you're not breaking them. I had it figured out a couple months back, but I honestly cannot remember what X/Y represent. Z is the current zoom level. Here are the URLs:

http://mt1.googleapis.com/mapslt?hl=en-US&lyrs=ft:1236296|sc:col8|sg:|uistyle:5213|uit:AIGcsfOp-ipTIMuJuUOx9yIQXKEgHgUcZQ&x=13&y=24&z=6&w=256&h=256&source=apiv3&token=129109
http://mt1.googleapis.com/mapslt?hl=en-US&lyrs=ft:1236296|h:true|sc:col8|sg:|uistyle:27081|uit:AIGcsfOp-ipTIMuJuUOx9yIQXKEgHgUcZQ&x=9&y=22&z=6&w=256&h=256&source=apiv3&token=94298

First URL will return the points, second URL will return the heatmap style (h:true). You will need to supply your table ID through the ft parameter, and handle logging in appropriately if your table is private.

Alternately, you can export it to KML or get the KML URL and display that instead, but you won't get the heatmap that way as far as I know.

1
  • Thanks Sasa! yes it is looking like the terms of service is the big question. Sep 28, 2011 at 23:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.