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.

My city has an open data section listing crimes and accidents amongst other things. They include approximate time, type of crime, etc. The way they formatted the location Looks something like this "42XX street, city, state, zip", how would I geocode an address that doesn't have a a complete street number? If at all possible. I'm looking to incorporate census tract data as well so I need good spatial accuracy.

share|improve this question
    
You mean the "street number" (actually called a "primary number") has literal Xs in it? I have a potential answer for you, I just want to be clear. –  Matt Apr 3 '13 at 23:06
    
The spatial accuracy of census tracts is a LOT more generalized than the approximate crime locations -- even block groups are a lot larger. –  Erica Apr 4 '13 at 0:24
3  
You should be able to just replace the XX with 50 in most circumstances and have whatever geocoding service return a point near the middle of the street segment (won't work always - but not necessarily any better options). It would be odd to have accident addresses disseminated like this, they are almost always given at the nearest intersection. –  Andy W Apr 4 '13 at 0:43
    
Yes, the primary literally has X's in it. I would think they would also just give the nearest intersection, but that's not the case. –  figsology Apr 4 '13 at 1:36
    
The most precise way might be to look in the USCB's ZCTA files of the TIGER data. They have the coordinates of streets, and I believe primary number ranges too, as well as which side of the street the numbers fall on. You could then do some interpolation... automating that with GIS software though... hmmm, not sure. –  Matt Apr 4 '13 at 4:36
show 2 more comments

1 Answer 1

Lets say that you want to geocode the following address:

42xx Ashland Ave Baltimore MD 21205

One method would be to add the previously mentioned "50" to get 4250. Geocoding this will get you pretty close.

Another method, since you know that it will definitely be between 4200 and 4299, would be to attempt validating each address. Yes, all 100 of them. The outcome of this method would be the following:

4200 ASHLAND AVE BALTIMORE MD 21205-2920
4208 ASHLAND AVE BALTIMORE MD 21205-2920
4209 ASHLAND AVE BALTIMORE MD 21205-2922

Those are currently the only valid address on Ashland Ave in Baltimore between 4200 and 4299. Running that through a geocoder could give you an exact lat/lon pair for the addresses.

So, it just depends on what you would like to end up with. If just an approximate lat/lon will work, stick with the first method. If you want to be more precise by determining the potential valid addresses, go with method two.

A quick google search for "address validation" will give you a number of address validation services. I work for one called SmartyStreets.

share|improve this answer
    
Just to add to this answer, I think you have to solutions, convert those addresses to block ranges and geocode that way, so you will aggregate those stats by block, or return return all results for that block range. –  Jamie May 9 '13 at 19:40
add comment

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.