Hi, welcome to Fab Friday, the late edition! Today we have the pleasure of sending you another in our series of screencasts. This week, Josh Livni talks about using the Maps API Utility Library to add Google Earth to your Maps API application, with only 4 lines of code. Check it out:
In other news, Chris Broadfoot and I really enjoyed giving our talk Beautiful Vectors yesterday at Strata 2012. Thanks for the warm welcome and great feedback. If you’re interested, here are our slides, though our demos are not yet ready for release.
In upcoming events, Josh and Chris will be at South by Southwest in the Google Village. And they’ll be speaking Saturday, March 10th. Stop by and say hi if you’re in Austin.
[Cross posted from the Google Analytics Blog]
Does your organization have several websites, each serving a particular geographic region? If so you know how challenging it is to analyze the data across these regions in a meaningful way.
Visualizations can help, but they can be difficult to design. Newland communities, a developer of residential and urban home communities, manages numerous web properties for each community and is no stranger to these challenges. To address them, Newland used the query tool from ShufflePoint. The tool enabled the combination of data from Google Analytics and Google Earth, allowing Newland to visualize the data in new ways.
ShufflePoint implemented a pilot project after discussing the idea with Chief Ingredient and their client Newland Communities. Their goal: deal with some of the problems associated with clarifying large amounts of data in a visually appealing manner. The outcome of the project was an integration of Google Analytics data with Google Earth.
Using the Google Analytics API, the ShufflePoint query tool extracts metrics by location from Google Analytics for multiple Newland Communities web properties and creates KML representations viewable in Google Earth. The mashup provides advanced visual reporting on location based campaigns, showing their effect on pageviews, and highlighting any anomalies requiring further investigation. Additionally, the visualization is a great fit for promotional videos, or digital signage needs.
“ShufflePoint uses almost every feature and capability of the Google Analytics API. The API has all of the characteristics that a developer could hope for, including great performance, correct semantics, OAuth for authentication, and good community support. The Google Earth based application has given ShufflePoint recognition for doing innovative and challenging things with Google Analytics. This has been beneficial for promoting ShufflePoint’s offerings.” Chris Harrington, CTO
The ShufflePoint application can be found on the ShufflePoint website.
If you’re interested in developing solutions for the Google Analytics platform, visit Google Analytics Developer Program.
This session at Google I/O demonstrated how developers can take advantage of new and little known GIS capabilities in all of our geo services.
We started out showing some of the GIS capabilities in Google Maps API, which amongst other features, lets you calculate distances and angles and overlay map tiles in arbitrary projections.
Moving onto some new and upcoming products, we showed off some of the capabilities of Google Earth Builder, a new platform to manage and publish large amounts of raster and vector GIS data.
In the world of data visualization, previous sessions had showed off new styling features for Fusion Tables. In this session, we showed how you can enable spatial queries on your data, displaying maps and statistics for the closest set of features to a location, or all features within an arbitrary radius.
Google Earth Builder is not the only new product that provides access to our infrastructure for working with large GIS datasets - we also talked about Google Earth Engine. This Google.org project is designed to help scientists easily access massive archives of satellite imagery, and run image analysis and other algorithms on the data within Google’s datacenters. Complex analyses that might take months or years to run on a single machine can now be completed in hours or minutes.
Finally, we showed off some ways you can integrate open source technology, and finished off the session with Brian Flood from Arc2Earth, who demonstrated a great example of the kind of GIS services that developers can build using Google’s Geo API’s.
Check out the video to see for yourself, and thanks for reading our Geo API’s Summer Learning Series.
Posted by Josh Livni, Geo Developer Relations Team
The Keyhole Markup Language (KML) is an open standard for geographic data presentation. There are over one billion KML files on the web, and yet the vast majority of these files are points on a map.
In High Performance KML for Maps and Earth, Sean Askay and I covered advanced techniques for using KML in Google Earth and the Earth API, as well as introduced other Google platforms that support KML. Our hope is that developers will discover the power of using KML on Google’s platform.
Some of the topics we discussed during our talk:
An Introduction to KML
Advanced data visualization techniques
We demonstrated two new animation techniques using under-utilized KML tags that make for powerful data visualizations.
First we showed a time-animated thematic map of U.S. Census data using the <gx:altitudeOffset> and <gx:AnimatedUpdate> tags to animate the data using a KML Tour. See this post on unchartable.com more information.
We also demonstrated also a proof of concept for pushing near real-time GPS data updates to Google Earth via a <NetworkLink> that uses <NetworkLinkControl> and <Update> tags to inject new location data into a pre-existing GPS track <gx:MultiTrack>.
You can download this KML file to see these two techniques in action and the other KMLs demonstrated during the talk.
Developer environment
People often ask us about a developer environment for creating KML, so we covered various options. We looked at editors, validators, and libraries, including the open source library PyKML.
KML on other platforms
We showed how to use KML in the Google Maps API and Google Fusion Tables.
So check out the slides and the video and start bringing the power of KML to your presentations.
<target action="addTarget"> <itemPath>assets/images/blank.png</itemPath> <longitude>-157.8459651634087</longitude> <latitude>21.31249095467307</latitude> <imageRadius>.0000018</imageRadius> <targetRadius>20</targetRadius></target>
Posted by Mano Marks, Google APIs team
The release of Google Earth 5.2 had a lot of new features, so many that we had to write three different blog posts just to cover it all. Well, OK, four with this one. One of the most exciting features from a developer standpoint is the new KML extension, <gx:Track>.
We wanted a better way to represent movement on and above the globe. Time animation works well, but from a KML standpoint it required very bulky files. In order to “move” a <Point>, you created a new <Placemark> for each time segment. Your <Point> didn’t actually move, it merely was replicated at a different place. This made animating your path rather cumbersome. Instead, we wanted a smoother experience, and one that allowed you to truly animate a <Geometry>. So, we created <Track>. To get a real sense of the power of <Track>, check out this video.
As you can see, a <Model> (a <Model> is a <Geometry> in KML) of an airplane moves smoothly along the <Track>. Let’s take a look at some KML:
<Placemark><name>My first track</name><styleUrl>#mytrackstyle</styleUrl><gx:Track><altitudeMode>absolute</altitudeMode><when>2010-04-07T23:30:55Z</when><when>2010-04-07T23:31:13Z</when><when>2010-04-07T23:31:32Z</when><when>2010-04-07T23:31:52Z</when><when>2010-04-07T23:32:11Z</when> ... <gx:coord>-83.671639 1.675732 7.827881000000001</gx:coord><gx:coord>-83.67233299999999 1.675678 4.943848000000001</gx:coord><gx:coord>-83.672904 1.67574 3.982666</gx:coord><gx:coord>-83.67346499999999 1.675781 4.463257</gx:coord><gx:coord>-83.67400600000001 1.675855 3.501953</gx:coord> ...<Model id="model_2"> ... <Link> <href>/Users/mmarks/Documents/track.kmz/files/mymodel.dae</href> </Link></Model></gx:Track></Placemark>
Track is a parallel array. The first <when> element matches the first <gx:coord> element, the second with the second, and so forth. The <when> element identifies the point on the time slider, and the <gx:coord> the matching location. Google Earth draws a line between each position visible in the time slider. Track also supports <gx:angles>, which allows you to define the heading of a model at any point along the way. If not defined in <gx:angles>, Google Earth will change the orientation of the Model based on the direction between the current position and the one previous.
Since you’re only creating one Track element, instead of re-creating a bunch of <LineString> elements for every time segment, your KML files will be much smaller. In fact, the more coordinates you have, the more benefit you’ll see from it.
One more feature that is really compelling is that you can add <gx:SimpleArrayData> elements to <SchemaData>. <gx:SimpleArrayData> allows you to add a matching array of your own data. In the sample posted here heart rate, cadence and power are added to each point, and when Elevation Profile is turned on in Google Earth, it allows you to view that data as well, as you can see below.
Mano Marks, Geo APIs Team
For those of you who don't currently have the plugin installed, here's what you're missing:
I hope that this new feature gives rise to some great new Moon mashups in the browser!
This Monday, at the Newseum in Washington D.C., we unveiled Moon in Google Earth as the newest 3D-navigable celestial sphere, after Mars and Sky. Users can now explore some fantastic 3D terrain and imagery of the moon's surface, as well as exciting interactive media content about the Apollo missions and more, right in Google Earth!
Today, I'm glad to help commemorate the 40th anniversary of the Apollo 11 landing by announcing support for the moon in the Google Earth API. Just like with Mars, Earth API developers can now choose to show the moon upon instantiating the Google Earth Plugin. Here's a new demo, based on the original Monster Milktruck game, that you can check out to get a glimpse of Moon in the browser:
Lunar Rover
We've also added support for the Moon, Mars, and Sky to the KML embed and tour embed gadgets. Here's a quick demo of the fantastic Apollo 11 tour, created by Sean Askay, embedded in the browser using the touring gadget:
Last month, the Google Earth team made a splash in the news (pun intended) with the release of Google Earth 5.0. The update included the ability to dive underwater to explore the world's oceans, record and play back narrated tours, view historical imagery, and explore Mars in 3D. Today, our team is happy to announce the 5.0 version of the Google Earth Plugin!
If you've already installed the plugin, you should see the new version automatically within the next day or two. If not, you can download the plugin for Windows or Mac OS X by visiting any Earth API web site, such as Monster Milktruck and clicking 'Get The Google Earth Plugin now'.
We've added many of Google Earth 5.0's new capabilities to the plugin and API, as well as a few other frequently requested features. Here is a list of major new features in the plugin and API:
ALTITUDE_CLAMP_TO_SEA_FLOOR
ALTITUDE_RELATIVE_TO_SEA_FLOOR
KmlTour
GETourPlayer
KmlPhotoOverlay
GEPhotoOverlayViewer
LAYER_BUILDINGS_LOW_RESOLUTION
Along with these major new features, we've implemented the following feature requests from the public issue tracker: 10, 27, 42, 49, 99 and fixed these publicly reported defects: 75, 118, 131, 148. Check the Earth API release notes for more details.
The full list of a new samples for this release can be found at the Earth API demo gallery.
On our agenda for the not-too-distant future is:
Lastly, if you're yearning for more Earth API goodness, make sure to catch my Google Earth API session at Google I/O on May 27th and 28th. Discounted early bird registration ends May 1st, so register now before time runs out!.
Give us feedback in our Product Forums.