It was just under 2 years ago that I first got my hands on Google Earth, which at the time was called Keyhole. I’d been running geobloggers.com as a site to add geotags to Flickr photos and then plotting them on Google Maps for a few months. It was tricky back in those days, there were no map APIs and everything was done by reverse engineering the javascript.
Then I noticed something interesting and fired off this email to Michael T. Jones, aka “Seer” …
Date: Wed, 22 Jun 2005 09:12:03 +0100 From: Rev Dan Catt <revdancatt@gmail.com> To: seer@xxxxxxxx.xxx Subject: Google Maps and Keyhole Authentication Hi Seer, Hope you can help and point me to the right person or forum to ask this in. I noticed in the latest Google Maps update that there seems to be a keyhole authentication key. Do you know who/where is the right person/place is to ask about this? I run geobloggers and want to see if I can use the latest updates while not breaking too many rules :) What I'm really looking for is a closely alligned to Google discussion group, that talks about the maps side of the site, so I can keep an eye out for where and when to ask such questions. But I have no idea where to start (apart from here) as I see no obvious discussion place. I understand that you may not be able to help at all, but I thought I'd give it a go. Thanks in advance Dan.
While the emails bounced back and forth I hacked around with Keyhole for a bit. The KML documentation was finally released, but nothing mentioned about the Network Link. That evening I played around with the network link pointing it at my server to see what happened. What happened was a bbox=x1,y1,x2,y2 was being added to the URL, which allowed me to do this …
… generate a KML file of Flickr photos based on the current view. That was pretty hot, viewing Flickr photos on a 3D Globe. Better still when I got my hands on the Google Earth Beta, thanks Michael!
I think there was probably around 40,000 photos in the geobloggers database at that point. I’m sure that it was pretty much the first public NetworkLink KML feed published, the evening before the NetworkLink docs went out.
Of course I kept tweaking the code, unfortunately just at the wrong moment I pushed the code with an incorrect nested loop. Instead of getting 50 records, it was getting 50 records, 50 times. Ooops …
Date: Sat, 2 Jul 2005 07:40:29 -0700 From: mtj To: Rev Dan Catt <revdancatt@gmail.com> Note that the KML spec and tutorial examples are up for the public on code.google.com <http://code.google.com> and in the KML discussion group. Your Flickr network link & server is a big hit here. It was going to be John Hanke's Where 2.0 closing presentation but your server went down just before he went on stage... ;-) Next time. -- Michael T. Jones Keyhole CTO, Google, 1600 Amphitheatre Parkway, Mountain View, CA 94043
Next time indeed, that was two years ago.
Where 2.0 2007 was yesterday.
Then a funny thing happened, I went to work for Flickr. I wound geobloggers down as a geotagging site, not because it used Google Maps and I was working indirectly for Yahoo! But because I didn’t want to be developing a “Put your Flickr photos on a map” web application in my spare time, while also developing a “Put your Flickr photos on a map” web application as my job. Of course I couldn’t say that at the time. But in turn that meant that the Flickr KML network link also went away.
So I’m quite pleased to say that it’s back, kinda.
Same location, 2 years and 18 million public geotagged photos later …
What they are.
They are, “beta” feeds. In that I’m about to tell you where they are and how to use them. But they are not linked to, from the site in any way yet. My plan is to have “kml feed” links down where you see “rss feed” links, this may or may not happen, so no promises on that one (more happening than not though). This is early adopter testing, for load, kml markup issues and so on. If you’re reading this, you’re an early adopter. We may adjust, tweak and so-forth the feeds for a while.
They are designed to be used like rss feeds and Google Earth like a geo rss reader (not a georss reader). In that we’re generating Network Links that update every 60 minutes or so. Allowing you to subscribe to a user, tag, group or location. I’m thinking SnowCrash here.
What they are not.
They’re not a Network Link that loads photos for the current view, yet. I want to see how this goes first, what the performance and load issues are like. As fast and funky as we are on the backend, the advantage of the above way of doing things, a feed for a tag, user, group or location is that we can cache the feeds if needed. Your KML feed for kittens is the same as mine. If we start doing queries based on bounding box, then every request is different. And spatial searches are expensive.
Will we have a KML feed that loads photos based on the viewport? Probably. It’s no coincidence that our flickr.photos.search API takes a bbox parameter for searches while Google Earth automatically added a bbox parameter to urls it loads with a NetworkLink. The intention (well mine anyway) from the start has always been that you should be able to point Google Earth directly at Flickr’s API and just let them get on with it.
But small steps first.
Show me the feeds.
20 most recently geotagged photos …
http://api.flickr.com/services/feeds/geo/?format=kml_nl
Note: see how the format is “kml_nl”, that’s giving you the network link wrapper that’ll update the info once every 60 minutes. If you want you can just use “kml” which will give you a snapshot of the information, but no automatic updates. The links we’ll add to the site will link to the “kml_nl” feeds.
KML feeds for a place, just start hacking around with the URL after the “/geo/”, i.e. london, paris, tokyo.
http://api.flickr.com/services/feeds/geo/uk/london/?format=kml_nl
http://api.flickr.com/services/feeds/geo/FR/%C3%8Ele-de-France/Paris?format=kml_nl
http://api.flickr.com/services/feeds/geo/JP/Tokyo+Prefecture/Tokyo?format=kml_nl
… I’ll comment more on this in another post.
A users photos, in this case Heather’s photos…
http://api.flickr.com/services/feeds/geo/?id=32373682187@N01&format=kml_nl
To get a users (or your own) KML feed, go to their photo page, scroll down to the bottom and select their rss feed.
http://api.flickr.com/services/feeds/photos_public.gne?id=32373682187@N01&format=rss_200
…then replace “photos_public.gne” with “/geo” (and where-ever else you want to add) and the format from “rss_200″ to “kml_nl”. See how much better this will be when we add the links in :)
KML feeds for a tag; thunderstorms and lightening …
http://api.flickr.com/services/feeds/geo/&tags=thunderstorm&format=kml_nl
http://api.flickr.com/services/feeds/geo/&tags=lightening&format=kml_nl
You can combine user, location and tags, example: Thomas Hawk’s photos taken in San Francisco tagged with Neon. Every-time he posts a new one it’ll pop-up when the feed refreshes.
http://api.flickr.com/services/feeds/geo/us/ca/sf/
?id=51035555243@N01
&tags=neon
&format=kml_nl
Want to follow geotagged photos from a group? Try the FlickrCentral pool, geocaching pool and geocaching in Australia.
http://api.flickr.com/services/feeds/geo/?g=34427469792@N01&format=kml_nl
http://api.flickr.com/services/feeds/geo/?g=52241213703@N01&format=kml_nl
http://api.flickr.com/services/feeds/geo/australia/?g=52241213703@N01&format=kml_nl
To get to a group feed URL, go to the photo pool for that group, scroll down to the rss feed at the bottom and load the feed…
http://api.flickr.com/services/feeds/groups_pool.gne?id=34427469792@N01&format=rss_200
…then change “groups_pool.gne?id=” to “/geo/?g=” and the format to “kml_nl” (note the conversion of “id=” to “g=”)
Feeds we don’t have yet.
Users photos from a group pool, sets, collections, daily explorer or Your Contacts, all for various dull reasons. They’ll come online at some point.
Bonus Bits.
If you want Google Earth to spin round and show you where the latest photos are when a KML feed updates open up the Info/Properties for the Network Link and turn on “Fly to location on Refresh”. Originally I had this served as on by default, but then it got too annoying when you’re trying to look at something and suddenly the globe spins 180 to show you the latest photos. Cook to taste.
When you open up a photo window thingy …
… you can drill down to more photos by clicking on the username or tag. So if you find a great photo you can grab the feed for that photographer. One of the tags takes your fancy? Well you can subscribe to that too.
I wrote this post last night and set the date/time to publish now as I’m probably sitting down at the conference paying attention. Therefor I’m not able to set up or link to threads in the geotagging group. When I get a chance I’ll add links to any threads that are relevant.
In the mean time, Flickr [heart] KML.
Filed under: conferences, flickr, geoblogging, geotags, maps, tools



cool stuff! :D
cool story and slick feature. thanks for the scoop. nice work.
~ Joe
Good start:
http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fapi.flickr.com%2Fservices%2Ffeeds%2Fgeo%2F%3Fformat%3Dkml_nl
http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fwww.flickr.com%2Fservices%2Ffeeds%2Fgeo%2F%3Fformat%3Dkml%26amp%3Bpage%3D1
you should escape description content. ignore the minRefreshPeriod, a bug in the feedvalidator :)
Also, ids would be nice.
Thanks.
All very good. Flickr maybe best solution for images storage. I use flickr http://www.flickr.com/photos/valery35/ and GE and while not use this as GE+flickr :(
In last time we see alot of solutions and it is “local” solutions only.
Permanent network link see very good. Maybe to flickr need power client near of Picasa? File uploader see as cool begin (this program not add functions in last time :( ).
Also interest see this as tiled images storage by superoverlay structure. And not only to placemarks points.
And oops … :) xbbsterAtgmailDotcom
KML support is a great enhancement.
It’d be very cool if there was more “machine tags to KML conversion”.
For example, users could tag using geo:dir, geo:alt, ge:tilt and ge:roll as used by Quakr but also weather and observation data. There could be more metadata extracted from the EXIF also.
And the Zonetag app could help for automated tagging, couldn’t it ? :)
I was playing around with this and I noticed that not all the geo tagged photos that i have are being displayed. Is there an image limit a date after which they are being shown? I say that because the only ones that i see are my most recent.
If you split the kml in regions and cache the spatial searches for each region, the viewpoint based region requests wouldn’t be so different anymore.
[...] Flickr, KML, and a stroll down memory lane, Geo Bloggers [...]
[...] I was reading the Google blog and found a link to a page where Dan Catt, who works for Flickr, has information about using the Flickr API to generate KML, which can then be opened in Google Earth. It doesn’t work so well in Google Maps, but if you create a network link in Google Earth you can get - for instance - a static link to all my geotagged photos: [...]
[...] Semi-Offiziell: KML-Feeds für Google Earth aus Flickr-Photos. Dan Catt (hat schon an der Integration der Yahoo-Maps in Flickr mitgearbeitet) gibt in seinem Blog eine ausführliche Beschreibung, wie man unterschiedliche Streams aus Flickr herausziehen und in Google Earth darstellen kann: Nach Nutzer, Tags, Orten oder Aktualität. Einzige Voraussetzung natürlich: Die Bilder müssen georeferenziert (also in Flickr auf der Karte platziert sein. [...]
Fantastic!
A lot nicer than Pipes’ KML output.
Now if we could only change the default last 20 images parameter…
Can’t wait for the sets feeds.
how can we know all the geo locations we can use in the url.
like geo/usa/ca/sf
how can we know the authorized words for that hierarchy.
is it geo/fr/iledefrance/paris or geo/fr/paris ???
testing is great but leave us in the shade of what’s possible or not.
[...] (now also KML). [...]
[...] Thanks to Geobloggers for telling how to do this - check out the description here and my always updated geotagged flickr feed here. Hoping to get back in training soon and keep on working that fitness level. Looks like it will be mostly cardio for now as lifting weights is a bit out of the question with a weak wrist. Good anyway as it seems that Martin and I will be heading off towards the (hopefully) sunny South to do some cycling towards the end of the year. [...]
[...] KML is being widely adopted by applications like Mapufacture, ESRI ArcGIS, Yahoo Pipes, NASA WorldWind, Google Earth, Google Maps, Google Maps Mobile, Flickr and Platial. It’s now more important than ever to make sure that your KML files are compliant with the KML standards. Here are two ways to validate your KML. [...]
[...] You’ve sort of, kinda, been able to get KML out of the site for a while now. [...]
[...] KML is being widely adopted by applications like Mapufacture, ESRI ArcGIS, Yahoo Pipes, NASA WorldWind, Google Earth, Google Maps, Google Maps Mobile, Flickr and Platial. It’s now more important than ever to make sure that your KML files are compliant with the KML standards. Here are two ways to validate your KML. [...]
How can I implement this in with google API?
Well, I have tried, but it is not very easy to implement it. I will wait for a simpler solution.