As we’ve been putting GeoCommons through its paces I’ve been testing KML files we generate in different applications. The most interesting comparison by far has been between Virtual Earth and Google MyMaps. I did a high level comparison of the two plus Yahoo! MapMixer a few blog posts back, but after testing several KML files in each I thought it would make for a good follow up. Especially after Michael Jones’ comments to James Fee’s post about KML being the HTML of the GeoWeb.

The good news is that both Virtual Earth and Google Maps support KML, and we are seeing a greater number of applications supporting it and GeoRSS as GeoWeb standards. As the standards get picked up it will be interesting to see how they are supported and how applications differentiate themselves in doing so. Already we can see this beginning between the two titans (Microsoft and Google) expressing how their support of KML has advantages over the other. So, I thought I’d share what our experience was testing with both applications.

Google KML Support

For testing purposes I started off with a polygon data set of the 100 most polluted counties in the United States. The upload process for Google MyMaps was straight forward and my uploaded KML (or GeoRSS) file prepopulated a title and description field. Then after a bit of chugging rendered the KML file on the map. You can see the map I created embedded below:

View Larger Map

If you look closely you’ll notice that there are not 100 counties on the map (only about 44). Google MyMaps will support 200 pushpins on a map, but when you add in complex polygons the number of polygons and associated pushpins it will support goes down significantly. In the MyMaps application it gets around this problem by paginating the KML file into multiple maps each supporting the maximum number of pushpins, lines or polygons. Unfortunately you can only embed one map page at a time, so the map above only shows the first set of polygons.

An interesting observation in the Microsoft blog post about KML support noted that, “on Google Maps the polygons representing the parks didn’t load at all”. Our KML rendered the polygons fine, but we took an extra step in GeoCommons to generate our polygons as multigeometries where a pushpin with the data is included inside the polygon and highlights when you mouse over (at least in Google Earth). So, my hunch is that in order to get polygon KML to render in Google MyMaps you need to structure it as a multigeometry, or they’ve added the functionality since then. It would be great to not to have to add the pushpin to get the data, and enable clickable polygons in both Google Earth and Google Maps.

On the plus side Google MyMaps does a good job handling multi-polygons. A multi-polygon is when you have multiple polygons representing one geographic entity. For instance the United States of America consists several separate polygons, including Alaska, the Hawaiian Islands, and the contiguous states. Several of the counties in our test data set had multi-polygons and you can see those rendered in detail in the embedded map below:

View Larger Map

A second plus for Google MyMaps is balloon support for the data that shows all the attributes in a nicely parsed list. Even when I loaded up a census data set with 74 attributes it listed them all out with a scroll bar. So to recap:

Advantages = prepopulated title and description, quick load, multi-polygon support, full listing of data attributes.

Disadvantages = limited number of polygons rendered on one map, requires multigeometry KML to support clickable polygons, slow rendering of polygons, no ability to export KML or other standard.

Virtual Earth KML Support

Virtual Earth KML support is provided through the “Collections” feature. When you click “Import Collection” you are given the option to add a KML file (or GeoRSS or GPX). I uploaded the same county pollution file and Virtual Earth chugged along for a bit then gave me a message saying, “100 out 100 items uploaded”. I’ve tried this with other files and if the files has more than 200 features it will not upload all of them – just the first 200 then stop. Also if your KML file is over 2mb it will tell you it is too large. Over all this is a nice feature that lets you know the bounds of the system and what will work and what will not.

The second nice part is that all 100 counties made it on one map instead of just 44 as with Google. A second bonus was that Virtual Earth did not need the multigeometries to support the clickable polygons rendered on the map. In fact the multigeometries we included in our KML generation caused both a pushpin to be drawn and and second square that gets highlighted when you mouse over the polygon. You can check out the map here and see the screen shot below:


Sadly Virtual Earth does not support embeds, so just the screen shot and link. Another small ding, a,s you can see in the screen shot, is that Virtual Earth does not support multiple polygons. The spots where you see push pins instead of polygons is indicative of multiple polygons representing a county, like Galveston, that could not be rendered so a push pin was placed there instead. It still gets the job done, but there is still something dissatisfying about America’s or any other political unit’s borders being replaced by a push pin. The last complaint is Virtual Earth only supports a limited number of characters for attributes, so when I tested a census file with 74 attributes I only got the first twenty or so and they were not well formated. So to recap:

Advantages = ability to render more polygons, ability to render polygons faster, ability to support clickable polygons without mulitgeometries, ability to export KML (and other formats)

Disadvantages = inability to support multi-polygons, slow to load KML, limited support of data attributes, no support of balloon styling

Over all I would give a slight edge to Virtual Earth when it comes to KML support from our unique perspective. Specifically the ability to load a larger number of polygons on a map and make those easily clickable allows more of our content to be leveraged at this point. It will be interesting to see how Google, Microsoft and others continue to enhance KML support to make more data available. I believe there is still a long way to go and the vast majority of the datasets in GeoCommons are too large for either to handle at this point. As the GeoWeb and the data it interconnects becomes more sophisticated I think it will be a necessity to greatly increase the amount and complexity of data that can be handled in a browser based map. Hopefully the market pushes Microsoft, Google and others to innovate in that direction.


12 Responses to Virtual Earth vs. Google MyMaps KML Support

  1. Jarlath O'Neil-Dunne says:

    Great post, extremely useful. Thanks for taking the time to write this up.

  2. Sean Gorman says:

    Thanks for the pointer Bill, and nice map. We’ve thought about having the KML files in GeoCommons open directly in Google or MSVE via the URL, but have not been able to get around the log in requirement. One of the things the BBS gets to bypass ;-) Hopefully we can sort out a good work flow for exposing URL’s, but you can always right click to get the URL once we get it out publicly.


  3. Bill says:

    You can load several hundred polygons with Google Maps if you just use the URL method or simply post the file to the Google Earth forum.

    The Google map accessed from the link below renders about half of the 1,900 voting precincts in West Virginia (slowly even with Firefox)


  4. Barry Hunter says:

    Yes as Bill mentions there is an alternative method to display KML in Google Maps – just paste in the url into the search box.

    You can even use this to get round the MyMaps paging limit, as KML files use a geographical culling method ‘zoom in to see more detail’


    Its a shame Google dont expose this functionality natively and/or use it for MyMaps display.

  5. [...] GM vs VE – Sean Gorman of Fortius One has posted an interesting comparison of KML support between Google Maps and Virtual Earth. The end result? Both have some shortcomings. [...]

  6. Garret says:

    I know this topic is fairly old, but I want to know if anyone it having the same trouble uploading KML in VE as I am. No matter how small or how few the number of features, I always get the error, “There was a problem importing your data. Either it is not a supported format or the file is larger than the 2MB limit.” I have not seen anything on this. Am I the only one with this problem?

  7. John says:

    Garret, no, I’m having this problem as well. Did you by chance ever come across a resolution? Thanks in advance.

  8. [...] – bookmarked by 4 members originally found by sweet0nes on 2008-12-08 Virtual Earth vs. Google MyMaps KML Support – bookmarked by [...]

  9. Flüge says:

    thank you for that useful post. To be honest, I always work with Google Maps and I am really satisfied with it. For user, who are not really familiar with the www it is really simple and comprehensible. But now, after getting to know Virtual Earth I will visit the site and try if I am able to work with it. Thank you for your troubles!

  10. This is a great content, I’m so glad that I’ve found this high quality blog!

  11. You had some nice points here. I done a research on the topic and got most peoples will agree with you

  12. koleksi baju terbaru says:

    We’ve been several grouped volunteers as well as beginning a different plan within our group. Your internet-site provided us valuable information to be able to art about. You must have done an extraordinary process in addition to each of our full community will be fortunate to your account.