Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać współrzędne graniczne dla kodu pocztowego (zip) w USA?

Opracowanie mojego komentarza, że ​​kody pocztowe nie są wielokątami....

Często myślimy o kodach pocztowych jako o obszarach (wielokątach), ponieważ mówimy „Och, mieszkam w ten kod pocztowy...”, który sprawia wrażenie regionu zawierającego, i być może fakt, że ZIP oznacza „Strefa Plan poprawy” pomaga w fałszywym skojarzeniu z wielokątami.

W rzeczywistości kody pocztowe to wiersze, które w pewnym sensie reprezentują trasy przewoźnika pocztowego. Geometrycznie linie nie mają pola. Tak jak linie są ciągami punktów wzdłuż płaszczyzny współrzędnych, wiersze kodu ZIP są ciągami punktów dostawy w abstrakcyjnej przestrzeni adresów wyznaczonych przez USPS.

Oni nie skorelowane ze współrzędnymi geograficznymi. Zobaczysz jednak, że pojawiają się być zorientowanym geograficznie, ponieważ dla przewoźników nieefektywne byłoby posiadanie trasy całkowicie nieistotnej pod względem odległości i lokalizacji.

Czym jest ta „abstrakcyjna przestrzeń adresów wyznaczonych przez USPS”? Tak opisuję dużą i tajemniczą bazę danych lokalizacji dostarczanych przez US Postal Service. Adresy nie są przydzielane na podstawie geografii, ale tras, którymi podróżują przewoźnicy, co zwykle dotyczy ulic i możliwości podróżowania.

Niektóre 5-cyfrowe kody pocztowe dotyczą tylko jednego budynku lub kompleksu budynków, a nawet jednego piętra budynku (tak, wiele kodów pocztowych może znajdować się na jednej współrzędnej, ponieważ ich punkty dostawy są ułożone pionowo). Niektóre z nich — między innymi — to „unikalne” pliki ZIP. Firmy i uczelnie często otrzymują własne kody pocztowe w celach marketingowych lub organizacyjnych. Na przykład kod pocztowy „12345” należy do General Electric w Schenectady w stanie Nowy Jork. (Edycja:w poprzedniej wersji Map Google, gdy klikniesz ten link, zauważysz, że znacznik miejsca unosił się, ponieważ wskazuje na kod pocztowy, który nie jest współrzędną. region w Mapach Google, te typy nie mogą, ponieważ USPS nie jest ich „właścicielem”, że tak powiem, i nie mają obszaru).

Dla zabawy spróbujmy zweryfikować adres w unikalnym kodzie pocztowym. Udaj się na SmartyStreets i wpisz fałszywy adres w 12345, na przykład:

Ulica: 999 sdf sdf

Kod pocztowy: 12345

Kiedy próbujesz to zweryfikować, zauważ, że... jest WAŻNE! Czemu? USPS dostarczy element do pojemnika dla tego unikalnego kodu pocztowego, ale w tym momencie dystrybucja tego kodu należy do GE. Prawie wszystko, co wewnętrzne w kodzie pocztowym, nie ma znaczenia dla USPS, w tym adres pocztowy (technicznie „linia dostawy 1”). W podobny sposób funkcjonuje wiele uczelni. Oto więcej informacji na ten temat.

Teraz wypróbuj ten sam fałszywy adres, ale bez kodu pocztowego, i zamiast tego wpisz miasto/stan:

Ulica: 999 sdf sdf

Miasto: Planowanie

Stan: Nowy Jork

To się nie sprawdza. Dzieje się tak, ponieważ chociaż Schenectady zawiera 12345, gdzie adres jest „prawidłowy”, geometrycznie przecina się z „prawdziwymi” kodami pocztowymi Schenectady.

Weźmy inny przykład:wojskowy. Niektóre okręty morskie mają własne kody pocztowe. Adresy wojskowe to zupełnie inna klasa adresów używających tej samej przestrzeni nazw . Statki się poruszają. Współrzędne geograficzne nie.

Precyzja ZIP to kolejna fajna sprawa. 5-cyfrowe kody pocztowe są najmniej „dokładne” (chociaż termin „konkretny” może być tutaj bardziej znaczący, ponieważ kody pocztowe niczego nie wskazują). Najbardziej szczegółowe są 7- i 9-cyfrowe kody pocztowe, często na poziomie bloków lub dzielnic na obszarach miejskich. Ale ponieważ każdy kod pocztowy ma inny rozmiar, jest to naprawdę trudne aby powiedzieć, jakie rzeczywiste odległości mówisz.

9-cyfrowy kod pocztowy może zostać przydzielony do piętra budynku, więc istnieją nakładające się kody pocztowe dla potencjalnie setek adresów.

Koniec:kody pocztowe nie dostarczają, wbrew powszechnemu przekonaniu, danych geograficznych ani granicznych. Różnią się one znacznie i w rzeczywistości są dość nieprzydatne, chyba że dostarczasz pocztę lub paczki... ale zadaniem USPS było zaprojektowanie wydajnych tras przewoźników, a nie podział populacji na regiony koordynacyjne.

To bardziej zadanie biura spisowego. Opracowali listę granic kartograficznych, ponieważ kody pocztowe są „wygodne” w pracy. Aby to zrobić, podzielili grupy adresów na bloki spisowe. Następnie zagregowali dane dotyczące kodów pocztowych USPS, aby znaleźć związek między ich blokami spisowymi (które zawierają pewne przybliżone dane o współrzędnych) a kodami pocztowymi. Mamy więc przybliżenia jak by to wyglądało narysowanie linii jako wielokąta. (Najwyraźniej przekształcili linię 1D w wielokąt 2D, przekształcając wielokąt 2D na podstawie jego zawartości, aby dopasować dane liniowe -- dla każdego nieunikalnego, zwykłego kodu ZIP.)

Z ich strony internetowej (link powyżej):

Obszar tabeli kodów pocztowych (ZCTA) to statystyczna jednostka geograficzna, która przybliża obszar dostawy dla usług pocztowych USA pięciocyfrowy lub trzycyfrowy kod pocztowy. ZCTA to agregacje bloków spisowych, które mają ten sam dominujący kod pocztowy, który jest powiązany z adresami w głównym pliku adresowym (MAF) Urzędu Spisowego Stanów Zjednoczonych. Trzycyfrowe kody ZCTA są stosowane do dużych ciągłych obszarów, dla których US Census Bureau nie ma pięciocyfrowych kodów pocztowych. Informacje o kodzie w MAF. ZCTA nie opisują dokładnie obszarów dostawy kodów pocztowych i nie obejmują wszystkich kodów pocztowych używanych do dostarczania poczty. US CensusBureau ustanowiło ZCTA jako nową jednostkę geograficzną podobną do, ale zastępującą tabele danych dla kodów pocztowych, prowadzoną w związku ze spisami z 1990 roku i wcześniejszymi.

Zbiór danych USCB jest niekompletny i czasami niedokładny. Google nadal ma dziury w swoich danych (12345 jest dość dobrym przykładem) – ale Google ostatecznie je załata, ręcznie sprawdzając każdy adres i kod pocztowy. Robią to już, ale nie dopracowali jeszcze wszystkich swoich danych map do perfekcji. Oczywiście dostęp do tych danych jest ograniczony do warunków API, a ich pozyskanie jest bardzo drogie.

Uff. Jestem pokonany. Mam nadzieję, że to pomoże wyjaśnić rzeczy. Zastrzeżenie:byłem programistą w SmartyStreets. Więcej informacji na temat geokodowania z danymi adresowymi.

Jeszcze więcej informacji o kodach pocztowych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć się z bazą danych SQL Server z poziomu JavaScript w przeglądarce?

  2. Zoptymalizowany SQL dla struktur drzewiastych

  3. Modyfikowanie zadania agenta serwera SQL (T-SQL)

  4. Jak wstawić JSON do tabeli w SQL Server

  5. Jak uzyskać wartości, które nie zawierają liczb w SQL Server?