Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am working on a civics related project and I need to be able to display all the properties in the City of Philadelphia on a map, so I'll need to get the latitude & longitude for all 580,000 properties. (Only once)

Most APIs like Google/Yahoo have limits of 5,000 per day, and even BatchGeo has a similar limit.

Is there a way I can do a one-time geocoding of all these addresses?

share|improve this question
4  
The easiest way is to find a good commercial provider. –  Matthew Snape Jan 14 '12 at 10:44
1  
Love your username! –  nmpeterson Jan 17 '12 at 16:23

7 Answers 7

up vote 10 down vote accepted

You could try the Street Address to Coordinates tool from the Data Science Toolkit.

This API takes either a single string representing a postal address, or a JSON-encoded  
array of addresses, and returns a JSON object with a key for every address. The value 
for each key is either null if no information was found for the address, or an object 
containing location information, including country, region, city and latitude/longitude 
coordinates. Here's an example:

Not sure what the API limits are for Pete Warden's hosted copy but you could run the toolkit yourself and do your processing offline as @Devdatta suggests. There is a downloadable virtual machine that is contains all the tools in the website. Good luck :)

share|improve this answer
    
Great, thanks! I'll try it and let you know if it worked. –  Tobias Fünke Jan 14 '12 at 14:26
    
It's working great so far! I'm running the VM so hopefully there are no limits. Is it pulling from a local database or is it checking some web API? –  Tobias Fünke Jan 15 '12 at 18:43
1  
The VM uses comes with a database of places so yeah, no limits. Coverage is great for the United States if I'm not mistaken. You could play around with the source if you're interested :) github.com/petewarden/dstk and github.com/petewarden/dstkdata –  R.K. Jan 16 '12 at 0:53
    
Just curious, how long did it take to geocode all those addresses? –  R.K. Mar 8 '12 at 13:55
1  
It took eight days –  Tobias Fünke Mar 10 '12 at 0:53

You could try SVB Mapper which is downloadable from here and works very well with Excel and Bing Maps. You can run mapping and analysis right within Excel. You may have to check on the quota and limits.

share|improve this answer

You might try Geocoda: https://geocoda.com for a JSON API. Geocoda has an API that lets you get lat/lon for an address, which suits your requirements. Geocoda does not have a daily query limit, but does have an initial account limit of 10 queries per second.

Disclaimer: I work at Geocoda. Let me know if you'd like any assistance getting started, or if you'd like to preview our batch API.

share|improve this answer

You can use SimpleGeo Api Website !

share|improve this answer

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

    
The irony of this answer is that it was posted the day after SimpleGeo shut down. SimpleGeo is not offering this service anymore. –  runako Apr 5 '12 at 6:23

Easiest way I can think of, Get a hold with somebody with an ArcGIS license and feed it to the Geocoder in a Desktop environment.

http://www.lib.unc.edu/reference/gis/faq/geocode.html

share|improve this answer

Geocoding will result in points - 580,000 of them. Are you sure you want to display them all on a map? So many clustered points will likely make the map illegible. These problems assume you find a way to geocode so many records.

The City of Philadelphia's parcel records are available as a polygon layer. Furthermore, those polygons are already available as a map service. If the data/service is suitable for your needs then you don't have to worry about geocoding so many points, and the polygons will most likely look better than so many points on the map.

Information about the data (including metadata and download) and map service:

http://www.pasda.psu.edu/uci/MapService.aspx?Dataset=462

Preview of the map service (zoom in for better view)

http://maps.psiee.psu.edu/preview/map.ashx?layer=462

share|improve this answer

With This amount of data, I would suggest that you do an offline geocoding. Just the http requests for these many records would be classified as a DoS attack by any server.

share|improve this answer
3  
Not completely true. If you use a service that is designed to handle that many geocoding requests it won't be an issue. The LiveAddress API can easily handle 1000 address requests per second. That would knock out 598k in about 10 minutes. (I work at address verification and geocoding all day long - I work at SmartyStreets) –  Jeffrey Mar 23 '12 at 19:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.