It's a big deal when Dale Lutz and Don Murray say nice things about a geospatial file format.The pair leads the technical work at Safe Software, the company behind perhaps the best, and best known, translation tool for file formats, the Feature Manipulation Engine, or FME.(Officially the software is an extract, transform and load [ETL] tool.) The format they were speaking of is KML, or Keyhole Markup Language.It's the format used by Google Earth - once known as Keyhole - to store data.
Lutz and Murray used words like "open and powerful," and commented on how KML "had nothing to do with GML," and "stores elegant symbology." Perhaps most exciting to them, it can link to Web services.
The team at Safe (which Lutz described as being like "kids in a candy store" with the new format) has already put together some tools to support KML, for those who are, in Google's favorite idiom, "feeling lucky." There's already a patch ("under development," "not intended for production use,") for existing FME users to allow it to read and write KML files.And that's led to some "playing around." There are some demo screen shots available online.
What KML Can Do
Here are some of the things the Safe team has learned.
KML can point to a service. So if you pan around a map, when you stop, the service is asked to return a relevant KML file.It might, for example, take the bounding box of the area on screen and reach into a database to draw up data for that geography and place it on top of Google Earth.
KML is good with raster. FME can treat raster files as if they are vectors, and this can be used to create a KML file with bounding boxes that reference raster files.That allows you to overlay your raster data on top of Google Earth.And, since Google Earth supports transparency, you can decide how much to want to "see through" your image to Google's image, which is below.Your image, of course, can live on your desktop or a server.
KML knows about terrain.Since Google Earth's data has a terrain model, it's possible, for example, to drape a scanned ski run map over the topography, so long as you know the lat/long extents of the image.
KML knows about address data. Using FME, it is easy to translate raw address from a .CSV (comma delimited) file and write them to a KML file.When Google Earth loads the KML file, it automatically geocodes it.
JavaScript for Google Maps
Just so that Google Maps, which does not use KML, doesn't feel left out, the team figured out a way to use FME installed on a desktop "inside" Google Maps.It's possible, via JavaScript, to call FME to convert data and show it on Google Maps.
The Impact of Google and KML
Lutz referenced the book Blindsided! by Jim Harris, and noted that these Google offerings seemed to appear "overnight" and effectively "rewrote the game" of Web mapping.All of the sudden, he argues, spatial data has become far more valuable, since its use seems far simpler than ever before.
Lutz and Murray see this as positive for the geospatial industry. "Since it's just data, perhaps more dollars that used to go to traditional information technology will now head to geospatial applications." The KML "file format" may be just as, or even more, important than the data behind it and the tools that manipulate it.