Warning: This post contains strong and/or offensive geek language.
With all the location based services that are out there like BrightKite and FireEagle you’d think geo-coding would be easy.
Woah. Wait a second. What’s geo-coding you ask?
Geo-coding is where you convert a normal location name, like “San Francisco, CA”, in to a latitude longitude pair, like “37.775196,-122.419204″. You know, like GPS coordinates and stuff like that. Ok, got it?
Enter Tiny Geo-coder.
Well, ok, it is pretty easy with the services out there already. But so was blogging when Twitter came out. And so was sharing links when TinyURL came out. This is just another one of those dead simple services that probably won’t ever make money but will become the backbone of so many projects and so much FUN! </sarcasm>
The History of Tiny Geo-coder
So, about a year ago we were planning on spending a year in Europe traveling around. BrighKite just came out, but was pretty early stage. I wanted to always show where we were on a map on our blog. BrightKite and FireEagle were obvious options, so I chose BrightKite. I check in with a text message or via a website and voila, my location is saved (my phone didn’t have GPS capability at the time, so it required me to say “this is where I am”).
But, I couldn’t build a map off of just the location names. I needed latitude and longitude coordinates. Specifically, Google Static Maps uses a particular format and what I was getting back from all the geo-coding places still needed some hacking to get it formatted to fit into the map url.
Now, I figured I wasn’t the only one having issues like this, and it’s not really that hard to figure out how to use. But, I know I’m going to use location-based services a lot in the future too. So, I built the Tiny Geo-coder to solve those issues.
Ok, I’m done geeking out for now. If you’re interested in getting latitude and longitude pairs that are formatted for things like Google Static Maps instantly, go check out Tiny Geo-coder and let me know what you think.
Stalk ya later.






Posted by Cody Marx Bailey
Nate,
I had the idea of doign “tinygps.org”… a TinyURL type of site for GPS. Think of something like: tinygps.org/2sF8v1 that would resolve something like you are doing with your site.
If you wanna work on it with me, lets!
Posted by nate
Cody, that sounds good. I’m in.
Posted by James
If you don’t mind my asking — where are you getting this data? Is it coming from geocoder.us or google or have you created your own database? I only ask because this problem is typically somewhat difficult to do correctly and from a quick test your results seem pretty good.
Also it’d be nice to perhaps run this service on my own host so as to not hammer yours too much.
Posted by nate
Hey James, I don’t mind at all. And actually the hit isn’t hard at all on my server, so I don’t mind if you keep hitting it.
I haven’t decided whether I will release the code.. maybe I’ll make it a open source project or something so people could download, improve it and make it better.
I’ll be caching the results soon so I wouldn’t worry about slamming it. It’ll be fine. :)
Cheers.
Posted by Eduardo
Hi Nate,
Where is the data coming from?
Cheers!
Eduardo.
Posted by Andrew Wooster
As near as I can tell, these coordinate pairs are coming from Google. As such, anyone using them is pretty much bound by the Google TOS.
Posted by James
If that is true that is unfortunate as the google ToS forbid tinygeocoder (redistribution of data without accompanying tiles) so it can’t stay around long.
Posted by Dave Spathaky
Hi just a note from:
http://geohash.org/gc0vg2x6uw5t
Maybe you have seen this already?
All the best
Dave
Posted by nate
Ok, let me answer a few of these questions:
1) The data is coming from a few different sources depending on how busy we are. I also am correcting and overriding any bad data, so let me know if you find problems with it.
2) Yes, one of the places we’re getting info is from Google. I talked with them already and they’re cool with what we’re doing, so don’t worry about us getting cut off. We’re just fine with their ToS (according to their very words).
3) I have not seen geohash.org. Great ideas. I’ll try to implement some of those cool features.
4) I mentioned to some people that I’ll be working on reverse geo-coding soon… and I will. I just need to get through some of this client work that’s been backing me up a bit lately. As soon as that’s done, I’ll roll out the code for the reverse geo-coding.
Thanks to everyone who’s been interested in the project. Feel free to keep using it. We’ve had over 150k queries since release. Thanks for your support!