5 Stimmen

Suche nach Stadt und Postleitzahl für einen Ort

Wie lassen sich der Name der Stadt und die US-Postleitzahl dieses Ortes am einfachsten ermitteln, wenn man einen Breiten- und Längengrad angibt?

(Dies ist vergleichbar mit https://stackoverflow.com/questions/23572/latitude-longitude-database Ich möchte jedoch in die entgegengesetzte Richtung konvertieren).


Verwandte Frage: Straßenadresse mit Längen-/Breitengradpaar abrufen

3voto

James Schek Punkte 17598

Alle genannten Online-Dienste und ihre Konkurrenten bieten eine "umgekehrte Geokodierung" an, die genau das tut, was Sie verlangen: Sie konvertiert die Längen- und Breitengradkoordinaten in eine Art von Straßenadresse.

Wenn Sie nur die Postleitzahlen und/oder Städte benötigen, würde ich die Postleitzahlendatenbank und die Stadtgebietsdatenbank vom US Census Bureau beziehen, die KOSTENLOS sind (und von Ihren Steuergeldern bezahlt werden). http://www.census.gov/geo/www/cob/zt_metadata.html .

Von dort aus können Sie entweder Ihren eigenen Suchalgorithmus für die räumlichen Daten entwickeln oder eine der räumlichen Datenbanken wie Microsoft SQL Server, PostGIS, Oracle Spatial, ArcSDE usw. verwenden.

Aktualisierung: Die Daten der Volkszählung 2010 finden Sie unter: http://www2.census.gov/census_2010/

0 Stimmen

Ihr Link ist nicht mehr aktuell. Sie verlinken auf Daten aus der Volkszählung von 2000, was schon lange her ist.

2voto

coder1 Punkte 3407

Dies ist der aufzurufende Webdienst. http://developer.yahoo.com/search/local/V2/localSearch.html

Diese Website bietet zwar gute Webdienste, aber nicht genau das, was Sie hier suchen. http://www.usps.com/webtools/

1voto

James D Punkte 1494

Sie haben zwei Hauptoptionen:

Verwenden Sie einen umgekehrten Geokodierungsdienst

  • Google kann nur in Verbindung mit einer eingebetteten Google Map auf derselben Seite verwendet werden, daher empfehle ich es nicht, es sei denn, das ist das, was Sie tun.
  • Yahoo hat einen guten Artikel, siehe http://developer.yahoo.com/search/local/V3/localSearch.html
  • Ich habe OpenStreetMap nicht verwendet. Ihre Karten sehen sehr detailliert und gründlich aus und werden immer besser, aber ich würde mir Sorgen über Latenz und Zuverlässigkeit machen und darüber, ob ihre Adressdaten vollständig sind (Adressdaten sind nicht direkt auf einer Karte sichtbar, und OpenStreetMap ist in erster Linie eine interaktive Karte).

Verwenden Sie eine Karte mit den Postleitzahlen

Die US-Volkszählung veröffentlicht eine Karte der US-Postleitzahlen aquí . Sie gehen dabei von der kleinsten statistischen Einheit aus, einem Zählungsblock, der in den meisten Fällen einem Stadtblock entspricht. Für jeden Block wird ermittelt, welche Postleitzahl in diesem Block am häufigsten vorkommt (die meisten Blöcke haben nur eine Postleitzahl, aber Blöcke in der Nähe der Grenze zwischen den Postleitzahlen können mehr als eine haben). Anschließend werden alle Blöcke mit einer bestimmten Postleitzahl zu einem einzigen Gebiet zusammengefasst, dem so genannten Postleitzahlen-Tabellengebiet. Sie veröffentlichen eine Karte dieser Gebiete im ESRI-Shapefile-Format.

Ich weiß das, weil ich eine Java-Bibliothek und einen Webdienst geschrieben habe, der (unter anderem) diese Karte verwendet, um die Postleitzahl für einen bestimmten Breiten- und Längengrad zu ermitteln. Es handelt sich um ein kommerzielles Produkt, das also nicht für jeden geeignet ist, aber es ist schnell, einfach zu benutzen und löst dieses spezielle Problem ohne API. Sie können über dieses Produkt hier lesen:

http://askgeo.com/database/UsZcta2010

Und über alle Ihre geografischen Angebote hier:

http://askgeo.com

Im Gegensatz zu Lösungen für die umgekehrte Geokodierung, die nur als Web-APIs verfügbar sind, weil der Betrieb eines eigenen Dienstes extrem schwierig wäre, können Sie diese Bibliothek auf Ihrem eigenen Server betreiben und sind nicht von einer externen Ressource abhängig.

0voto

Dana the Sane Punkte 14222

Wenn Ihr Anrufaufkommen bei dem Dienst zu hoch wird, sollten Sie auf jeden Fall in Erwägung ziehen, sich einen eigenen Satz von Postdaten zuzulegen. In den meisten Fällen werden Sie damit alle benötigten Informationen erhalten, und es gibt zahlreiche DB-Tools zur Indexierung von Ortsdaten (z. B. PostGIS für PostgreSQL).

0 Stimmen

SQL-Datenbanken sind schrecklich für GIS-Anwendungen. Es gibt zwar Plug-ins, die helfen, aber sie sind schwer einzurichten und bieten eine schlechte Leistung. Und die einzige Abfrage, die sie einigermaßen gut durchführen können, ist die Suche nach dem nächstgelegenen Datensatz in der Datenbank, was nicht sehr gut ist, um die Postleitzahl für einen Abfragepunkt zu finden, da der nächstgelegene Punkt leicht in einer anderen Postleitzahl liegen kann (und oft auch liegt). Sie sollten entweder eine geeignete API für die umgekehrte Geokodierung verwenden, die eine Straßenadresse für lat/lon liefert, oder eine Karte der Postleitzahlenpolygone.

0voto

Geri Langlois Punkte 676

Sie können hier ein relativ preiswertes Abonnement für Postleitzahlen mit Längen- und Breitenangaben erwerben: http://www.zipcodedownload.com/

0 Stimmen

Postleitzahlen bestehen nicht aus einem einzigen Breitengrad/Längengrad-Paar. Wenn Sie einfach den nächstgelegenen Eintrag in der Datenbank suchen, auf die Sie verweisen, erhalten Sie häufig die falsche Postleitzahl.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X