Been hunting through previous questions o开发者_如何学JAVAn Geocoding and while many are helpful I'm not finding one to my needs.
I need to group multiple addresses to the nearest city centers. My only address information is city, country, and state (if applicable). For example, all addresses in San Francisco and within miles should be listed as San Francisco. I'll need to know the count of addresses rolled-up to San Francisco.
I'm open to suggestions on how to approach this. I don't particularly want to manually identify a list of major cities if possible. Is there a list of these I can start from?
What about using an average lat/long location of all addresses within miles? Granted the final 'center point' would move around a bit as the average is computed but perhaps that is an approximate solution. Not quite sure how to do this so again, appreciate input!
Great question. I think more generally what you want is some standard way of rolling up cities into metropolitan areas and you're exactly right that you don't want to create or maintain a list of your own.
Yahoo! GeoPlanet provides a geographic ontology with a pretty thorough hierarchy. If you were happy with standard administrative divisions (like county or state), it would be easy, but I think you're looking for something a little more general than that. But GeoPlanet also provides zones, often -- in the US -- including the town's Metropolitan Statistical Area.
If you have each city name, you could use GeoPlanet to find any MSA zones that the city belongs to and roll up to that (and GeoPlanet provides a bounding box and centroid for each MSA so you can easily place it on a map). For rural towns that aren't a part of a US census bureau MSA you may not need to group it to the nearest city (which may be far away anyway).
精彩评论