mapping - suba - codigo postal de mi ubicacion
Encontrar ciudad y código postal para una ubicación (9)
Dada la latitud y la longitud, ¿cuál es la forma más fácil de encontrar el nombre de la ciudad y el código postal de EE. UU. De esa ubicación.
(Esto es similar a https://stackoverflow.com/questions/23572/latitude-longitude-database , excepto que quiero convertir en la dirección opuesta).
Pregunta relacionada: Obtener la dirección de la calle en el par latitud / longitud
Este es el servicio web para llamar. http://developer.yahoo.com/search/local/V2/localSearch.html
Este sitio tiene servicios web aceptables, pero no es exactamente lo que está solicitando aquí. http://www.usps.com/webtools/
Si el volumen de llamadas al servicio aumenta demasiado, definitivamente debe considerar obtener su propio conjunto de datos postales. En la mayoría de los casos, eso proporcionará toda la información que necesita, y hay muchas herramientas de base de datos para indexar los datos de ubicación (es decir, PostGIS para PostgreSQL).
Puede comprar una suscripción bastante económica a los códigos postales con información de latitud y longitud aquí: http://www.zipcodedownload.com/
geonames tiene un amplio conjunto de ws que pueden manejar esto (entre otros):
http://www.geonames.org/export/web-services.html#findNearbyPostalCodes
http://www.geonames.org/export/web-services.html#findNearbyPlaceName
O la geocodificación inversa de google
http://maps.google.com/maps/geo?output=xml&q= {0}, {1} & key = {2} & sensor = true & oe = utf8
donde 0 es latitud 1 es longitud
Tenga en cuenta que el USPS actualiza sus bases de datos ZIP mensualmente. http://www.semaphorecorp.com es una fuente barata de datos ZIP y geo.
Cualquiera de los servicios en línea mencionados y sus competidores ofrecen "geocodificación inversa", que hace lo que usted pregunta: convierta las coordenadas lon / lat en una dirección de calle de algún tipo.
Si solo necesita los códigos postales y / o las ciudades, entonces obtendría la base de datos de códigos postales y el área urbana de la Oficina del Censo de los EE. UU. Que es GRATUITA (pagada con el dinero de sus impuestos). http://www.census.gov/geo/www/cob/zt_metadata.html .
A partir de ahí, puede encontrar su propio algoritmo de búsqueda para los datos espaciales o hacer uso de una de las bases de datos espaciales como Microsoft SQL Server, PostGIS, Oracle Spatial, ArcSDE, etc.
Actualización: Los datos del censo de 2010 se pueden encontrar en: http://www2.census.gov/census_2010/
Tienes dos opciones principales:
Use un servicio de geocodificación inversa
- Google solo se puede usar junto con un Google Map incrustado en la misma página, por lo que no lo recomiendo a menos que eso sea lo que está haciendo.
- Yahoo tiene uno bueno, mira http://developer.yahoo.com/search/local/V3/localSearch.html
- No he usado OpenStreetMap. Sus mapas se ven muy detallados y minuciosos, y siempre mejoran, pero me preocupa la latencia y la fiabilidad, y si los datos de su dirección están completos (los datos de la dirección no se pueden ver directamente en un mapa, y OpenStreetMap es principalmente un mapa interactivo )
Utilice un mapa de los códigos postales
El Censo de EE. UU. Publica un mapa de códigos postales de EE. UU. Aquí . Construyen esto desde su unidad estadística más pequeña, un Bloque del Censo, que corresponde a un bloque de la ciudad en la mayoría de los casos. Para cada bloque, encuentran qué código postal es más común en ese bloque (la mayoría de los bloques tienen solo un código postal, pero los bloques cercanos al límite entre los códigos postales pueden tener más de uno). A continuación, agregan todos los bloques con un código postal dado en un área única denominada Área de tabulación de código postal. Publican un mapa de esas áreas en formato de archivo de forma ESRI.
Lo sé porque escribí una biblioteca de Java y un servicio web que (entre otras cosas) utiliza este mapa para devolver el código postal de una latitud y longitud determinada. Es un producto comercial, por lo que no será para todos, pero es rápido, fácil de usar y resuelve este problema específico sin una API. Puede leer sobre este producto aquí:
http://askgeo.com/database/UsZcta2010
Y sobre todas sus ofertas geográficas aquí:
A diferencia de las soluciones de geocodificación inversa, que solo están disponibles como API web porque ejecutar su propio servicio sería extremadamente difícil, puede ejecutar esta biblioteca en su propio servidor y no depender de un recurso externo.
Otro proveedor de geocodificación inversa que aún no se ha incluido en la lista es OpenStreetMap : puede usar su servicio de búsqueda Nominatim .
OSM tiene la ventaja (¿potencialmente?) De ser completamente editable por el usuario (como el wiki) y por lo tanto tiene un esquema de licencia muy liberal de todos estos datos. Piense en esto de los datos del mapa de fuente abierta.