Suche nach Stadt und Postleitzahl für einen Standort
Gegebenen Längen-und Breitengrad, was ist der einfachste Weg, um den Namen der Stadt und der US-zip-code des Standorts ein.
(Dies ist ähnlich wie https://stackoverflow.com/questions/23572/latitude-longitude-database, außer, dass ich konvertieren möchten, in die entgegengesetzte Richtung.)
Verwandte Frage: Bekommen Anschrift in lat/long-pair-Mädchen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist die web-service-aufrufen.
http://developer.yahoo.com/search/local/V2/localSearch.html
Diese Seite hat ok, web-services, aber nicht genau das, was Sie für Fragen hier.
http://www.usps.com/webtools/
Einem der online-Dienste und Ihre Konkurrenten bieten "reverse geocoding" die tut, was Sie Fragen-konvertieren von lon/lat-Koordinaten in eine Adresse einiger Sortieren.
Wenn Sie benötigen nur die PLZ und/oder Städte, dann würde ich erhalten, die Zip-Code-Datenbank und städtischen Bereich Datenbank des US Census Bureau, die ist KOSTENLOS (bezahlt von Ihren Steuer-Dollar). http://www.census.gov/geo/www/cob/zt_metadata.html.
Von dort aus können Sie entweder mit Ihrem eigenen such-Algorithmus für den räumlichen Daten oder nutzen Sie einen von einem Geo-Datenbanken wie Microsoft SQL Server, PostGIS, Oracle Spatial, ArcSDE, etc.
Update: Die 2010 Volkszählung Daten können an gefunden werden:
http://www2.census.gov/census_2010/
Haben Sie zwei Möglichkeiten:
Verwenden Sie einen Reverse-Geocoding-Service
Verwenden Sie eine Karte der Postleitzahlen
US Census veröffentlicht eine Landkarte des US-ZIP-codes hier. Sie bauen diese aus deren kleinste statistische Einheit, ein Census-Block, das entspricht einer Stadt block, in den meisten Fällen. Für jeden block, Sie finden, was POSTLEITZAHL ist am häufigsten an, dass block (die meisten Blöcke haben nur eine POSTLEITZAHL, aber der Blöcke in der Nähe der Grenze zwischen Postleitzahlen möglicherweise mehr als einen). Sie aggregieren alle Blöcke mit einer gegeben POSTLEITZAHL in einem einzigen Bereich, der sogenannten Zip-Code-Auswertung Bereich. Veröffentlichen Sie eine Karte über die Gebiete, in ESRI shapefile format.
Weiß ich darüber, weil ich schrieb eine Java-Bibliothek und web-service, der (unter anderem) verwendet diese Karte, um die Rückkehr der ZIP-code für eine gegebene Breite und Länge. Es ist ein kommerzielles Produkt, so dass es nicht für jedermann, aber es ist schnell, einfach zu bedienen, und löst dieses problem ohne eine API. Lesen Sie über dieses Produkt hier:
http://askgeo.com/database/UsZcta2010
Und über alle geografischen Angebote hier:
http://askgeo.com
Im Gegensatz zu reverse-geocoding-Lösungen, die ausschließlich als Web-APIs, weil Sie Ihren eigenen service würde äußerst schwierig sein, können Sie diese Bibliothek auf Ihrem eigenen server und nicht abhängig von einer externen Ressource.
Rufen Sie volume, um den service bekommt zu hoch, Sie sollten auf jeden Fall erwägen, Ihren eigenen Satz von post-Daten. In den meisten Fällen, dass alle Informationen, die Sie benötigen, und es gibt viele db-tools für die Indizierung von Standortdaten (z.B. PostGIS für PostgreSQL).
Können Sie kaufen eine ziemlich kostengünstige Abonnement zu zipcodes mit lat und long info hier: http://www.zipcodedownload.com/
Oder google reverse geocoding
link
http://maps.google.com/maps/geo?output=xml&q={0},{1}&key={2}&sensor=true&oe=utf8
wobei 0 Breite 1 Länge
geonames ist eine umfangreiche Reihe von ws, der kann dies (unter anderem):
http://www.geonames.org/export/web-services.html#findNearbyPostalCodes
http://www.geonames.org/export/web-services.html#findNearbyPlaceName
Anderen reverse-geocoding-Anbieter, die noch nicht hier aufgelistet ist doch OpenStreetMap: Sie können Ihre Nominatim - such-service.
OSM hat die (vermutlich?) zusätzlichen bonus, dass ausschließlich die vom Benutzer bearbeitet werden (wiki-like) und somit mit einer sehr Liberalen Lizenz-Schema all dieser Daten. Denken Sie an dieses open-source-map-Daten.