Category Archives: Process

Mooting uses for APRSKML

A few weeks ago Ogle Earth linked to APRSKML, which converts amateur radio positioning data into a KML network link for Google Earth. In the meantime, instructions for its use have been fleshed out, and now new geoblogger Ian Turton reports back on some interesting uses for it:

The best bit is that the packets can be picked up and forwarded over the internet for people to view, map and otherwise play with. For example I spent this afternoon watching a tourist light airplane trip over the Florida Keys.

Ian’s considering incorporating APRSKML into a GeoRSS server, which would automate this functionality (if I understand him right:-).

Geotagging Adsense

This coming autumn, Google’s Adsense program will offer advertisers the ability to purchase ads based on geographic coordinates, reports Germany’s Heise Online (in German), citing a paywalled article in the February edition of Technology Review (no, not the MIT one, the German one.) The article goes on to draw the obvious conclusion, which is that would clearly benefit efforts to monetize Google Earth and Google Maps. (Via Christian Spanring)

Geocoding globally with Ruby on Rails

Andrew Turner at High Earth Orbit has a nice overview of the state of spatial programming with Ruby on Rails. He compares database systems (PostgreSQL good, MySQL bad, susprisingly) and examines in which direction the development of geospatial plugins would be most useful. It’s a great little linkfest.

He also links to a number of geocoding resources. Unfortunately, they are all US only. Fortunately, the US military has available to the public a global geocoding database (excluding just the US and, shockingly, Antarctica) and it’s downloadable in one fell swoop, for free, at 190MB compressed. Wouldn’t it be nice to suck that into on your server’s database? (You can also download individual countries for smaller projects.) (Via

World-wide widgets

This is not going to work if everyone releases one, but being early-to-market with a Google Earth-themed widget still warrants a mention, especially if it’s goodlooking:


This one is for Mac OS X, and it’s basically just an RSS reader for the Google Sightseeing website — there are no direct links to Google Earth file downloads, instead the widget links to the relevant post on the blog.

(In fact, it turns out Chris Homan made a Yahoo! widget for Google Earth Hacks back in August, which also just lists the latest articles.)

I’m not sure if this kind of widget is going to stay on my screen, as real estate is scarce and there are plenty of RSS feeds to follow.

However, it just occurred to me that the Yahoo! widget engine could be put to some very interesting use, Google Earth-wise, because it can be configured to float widgets above all other windows. This should allow us to bypass the elongated sprawl that my Google Earth Places panel often becomes, to focus on specific content, tidily presented. Why not have small widgets with direct KML content feeds? Here is a great candidate: Tremorskimmer. Clicking on a specific earthquake could — should — bring us there in Google Earth:


Or why not have a widget that rotates random geotagged Flickr photos? Click on the picture, go to the location. This geocaching widget is practically there: Instead of linking to Google Maps, it could link to Google Earth by generating the relevant KML file and having it open in Google Earth.

it would be even nicer, of course, if these widgets could read Google Earth’s current field of view, and return relevant information that you’re interested in — for example return a weather forecast for a spot at the center of your screen. That might be for a future version, but clearly there is a lot of potential here. Widgets could turn out to be the best way to navigate the labyrinthine layers of Google Earth’s panels — and a wonderful opportunity to integrate Google Earth with Google Desktop, perhaps? (And note how ESRI ArcGIS Explorer uses widget-like and tool-bar like objects to keep its GUI user-friendly.)

Center of gravity calculator in Google Earth

Readers of will remember a discussion a week back about where in the world the highest concentration of Starbucks coffee shops might be. One blogger was inspired to calculate the exact center of gravity of all Starbucks in New York, and mapped it. It was a hard slog, and it got him some press.

That was then. this is now.

Blogger “Brammeleman” writes in Dutch (so I’ll translate loosely) that his family is discussing where to have the next family reunion. It must be a nerdy family, as everyone immediately agreed it should be at the family’s center of gravity. The only question remaining is, what determines the weighting of each individual family member?

While the rest of the family argues it out (age? generation? marital status?), our blogger has gone off and produced a center of gravity calculator for Google Earth. In the true political tradition of the Dutch, the calculator assigns everyone an equal weighting.

Here’s how it works: In Google Earth, make a new folder (Command-Shift N). Then, make a new placemark at the location of each family member and add it to the folder. Finally, save the folder to your desktop as a KML file. Now import it into our pseudonymous blogger’s web app, and you instantly get a KML file back with a placemark added at the center of gravity.

coggeens.jpg(I tried it. My immediate family is all over the place — London, Switzerland and me here in Stockholm, yet the center of gravity for us is in tiny Belgium, near Li√Æge. As we’re Belgian, that’s rather spooky.)

The script makes one major simplifying assumption — that the Earth is flat. The PHP script won’t get tripped up by the dateline, but be sure not to live too spread out, or around a pole.

[Geeky postscript: That's a fun programming question: "Given a set of arbitrary points on the surface of a sphere referenced by latitude and longitude, write a program to determine the point on the sphere closest to the three-dimensional center of gravity of the points, in terms of latitude and longitude." Brammeleman's script is practically there. Just his final latitude calculation is off for most sets of widely spread points. Instead of:

$lat = rad2deg(asin($meanz));

it needs to read:

$meanx = $sumx / $placemark_count;

$meany = $sumy / $placemark_count;

$lat = rad2deg(atan($meanz/(sqrt($meanx^2+$meany^2))));

...I believe, hoping for no divisions by zero. But I'm often wrong:-)]

Batch geocode

Phillip Holmstrad has a free web app up that batch-geocodes multiple US addresses, and will even turn them into a KML file for you. (I don’t know if the KML functionality is a recent addition, but I’ve only just noticed it via this Google Earth Community posting.)

I can’t wait for the day that my address book supplies a live network link to Google Earth like that. Nor can I wait for the day that the technology exists to geocode addresses globally seamlessly. (Well, okay, I can wait, but I do so impatiently.)

[Update 19:16 UTC: Yes, Phillip confirms the KML-generating functionality is brand-spanking new, as is the ability to save the geocoded result as a URL to a map using Yahoo's API. This map, in turn, also has a KML generation button, so in effect, you have a way of saving the KML content file online, for use anywhere.]