Folosesc o listă de cod poștal și sunt curios să știu câte (sau care) coduri poștale sunt mapate în mai multe state din SUA sau SUA oraș?
De exemplu, știu că Codul poștal 42223
se referă la Armata SUA, Fort Campbell, care se află pe linia de stat KY-TN. În mod ciudat, numai API-ul Google returnează TN
pentru starea corespunzătoare acelui zip.
Comentarii
- Cum definiți ” oraș ” și ” cod poștal „?
Răspuns
Există 13 zone de tabulare a codurilor poștale (ZCTA) ale recensământului american din mai multe state: 02861, 42223, 59221, 63673, 71749, 73949, 81137, 84536, 86044, 86515, 88063, 89439 & 97635.
După cum au menționat alții, acolo sunt câteva modalități diferite de a afla zona acoperită de un cod poștal, dar ZCTA sunt cele mai ușoare și versiunea oficială pe care o cunosc.
Deci, exemplul dvs. 42223 se întinde pe o frontieră de stat, , dar se pare că este de fapt între Maryland și Virginia. cel dintre Kentucky și Tennessee.
Iată lista completă cu stări:
02861 Massachusetts 02861 Rhode Island 42223 Kentucky 42223 Tennessee 59221 Montana 59221 North Dakota 63673 Illinois 63673 Missouri 71749 Arkansas 71749 Louisiana 73949 Oklahoma 73949 Texas 81137 Colorado 81137 New Mexico 84536 Arizona 84536 Utah 86044 Arizona 86044 Utah 86515 Arizona 86515 New Mexico 88063 New Mexico 88063 Texas 89439 California 89439 Nevada 97635 California 97635 Oregon
Iată cum am generat-o (cu Pandas în Python):
Edit : se pare că recensământul are două codificări diferite din două cifre pentru stări. Ambele sunt numere alocate pe baza ordonării alfabetice a stării, dar se pare că se aplică numerele direct de la 1-51 (50 de state + DC), în timp ce celelalte omit câteva numere . Am folosit primul, în timp ce ar fi trebuit să-l folosesc pe cel de-al doilea, așa că numele statelor pe care le-am enumerat au fost greșite. Am actualizat cod și rezultate cu lista corectă.
Edit : nouă mapare a stării confirmată de API-ul OpenCongress: https://gist.github.com/gabrielgrant/89f883d093e2abf129ad
Comentarii
- Mulțumesc mult pentru prinderea acestui @JesseCrocker – Se pare că recensământul (confuz) are două codificări diferite din două cifre pentru state. Ambele sunt numere alocate pe baza stării ‘ ordonare alfabetică, dar se pare că se aplică numerele direct de la 1-51 (50 stări + DC), în timp ce celălalt omite câteva numere . Îl foloseam pe primul, dar ar fi trebuit să-l folosesc pe cel de-al doilea, așa că numele statelor pe care le-am enumerat erau greșite (deși ZCTA-urile erau bune). Am ‘ am remediat codul și rezultatele cu lista corectă.
- În ceea ce privește golurile din codurile FIPS, numerele omise au fost rezervate în anii 1970 pentru teritoriile periferice. (Samoa Americane, Zona Canalului, Guam, Puerto Rico și Insulele Virgine), dar nu au mai fost folosite pentru acestea. en.wikipedia.org/wiki/…
- Nu ‘ nu uitați codul poștal 57717 care acoperă trei state șase, județe și mai multe orașe: 57717 Aurora, SD 57717 Butte, SD 57717 Carter, MT 57717 Crook, WY 57717 Harding, SD 57717 Lawrence, SD
- Această listare nu este ‘ aproape completă. Consultați răspunsul meu pentru o aproximare de departe mai bună. gis.stackexchange.com/a/223445/6052
- Acea ‘ s ciudată. Google Maps arată
02861
ca făcând literalmente parte din granița dintre MA și RI și întregul cod poștal ferm în RI google.com/ maps / place / Pawtucket, + RI + 02861 / …
Răspuns
Nu există cu adevărat o modalitate de a spune acest lucru; deoarece nu există o formă de limită ZipCode care este definită de USPS. Codurile zip sunt definite de o casetă de delimitare a străzilor livrate către transportatori dintr-un anumit centru de distribuție.
Deci, ar trebui să luați datele AIS ale USPS și să extrageți prin coduri poștale străzile livrate de un anumit oficiu poștal, apoi să vă alăturați acestora o rețea stradală. toți vânzătorii comerciali fac (Nokia / TomTom) pentru a crea forma Psuedo pe care o folosesc pentru a arăta limitele poștale.
Acest proces inexact este motivul pentru care USPS nu furnizează date spațiale.
Comentarii
- Este ceva corect? Ce este adevărul? O mulțime de au fost create straturi de limite zip, care pot sau nu să servească scopului acestei analize particulare, având în vedere cerințele necunoscute ale acesteia. Limite zip gratuite Esri – arcgis.com/home/item.html?id=8d2012a2016e484dafaac0451f9aea24 Consultați și gis .stackexchange.com / questions / 2682 / …
- Având în vedere, dar trebuie să înțelegeți tot ce faceți implicațiile datelor pe care le utilizați.
Răspuns
Biroul de recensământ din SUA derivă limite aproximative pentru codurile poștale pe baza adreselor conținute în ele, numite ZIP Zonele de tabulare a codurilor (ZCTAs).
Acestea publică fișiere de relații care descriu modul în care ZCTA-urile lor se mapează cu diferite alte geografii. Dacă examinați fișierul de relații ZCTA to Place , puteți vedea cum se mapează orașele și orașele. Puteți deduce modul în care sunt mapate la stări din fișierul de relații ZCTA către județe .
Fișierele de relații utilizează ID-uri geografice ale recensământului, astfel încât dvs. ” Vreau să să iau un fișier gazet pentru a vă ajuta să convertiți ID-urile numerice în numele locului sau al județului pe care îl așteptați.
Ca alte răspunsurile au afirmat, orice mapare a codurilor poștale către locuri este probabil să fie aproximativă, dar „am avut noroc cu fișierele de date ale recensământului.
Răspuns
2016 TIGER Data with PostGIS
Ca o atenționare specială, datele ZCTA nu sunt coduri poștale USPS. Este o aproximare a acesteia. Codurile poștale USPS sunt cu adevărat oribile și nu sunt utile decât pentru aproximare. Toată lumea, inclusiv orice entitate guvernamentală, alta decât USPS, și (Recensământul pentru realizarea ZCTA) le ignoră în totalitate. Dacă USPS a dorit să crească un pic, s-ar face doar conversia la cel mai recent ZCTA și vor oferi poligoane GIS autorizate.
- 2016 TIGER ZCTA 877 MB date de tabel.
- 33.144 ZCTA
- 52.669.641 puncte în total,
- 2016 TIGER States 15 MB date de tabel.
- 56 „State”
- 912.464 puncte în total
Apoi … Aici interogăm intersecțiile dintre Seturi de date TIGER State și TIGER ZCTA. Rețineți, calificăm statele cu 1% din suprafața totală ZCTA. Dacă 1% din suprafața ZCTA nu se află în stat, presupunem că este o eroare de rotunjire sau că cineva arde cu degetul ceva la recensământ. Verificați 56168
sau chiar 83832
pentru un cod poștal pe care îl „tundem cu această selectivitate adăugată.
SELECT zcta5ce10, array_agg(state.name ORDER BY state.name) AS states FROM census.state AS state JOIN census.zcta AS zcta ON ( ST_Intersects(state.geog::geometry, zcta.geog::geometry) AND NOT ST_Touches(state.geog::geometry, zcta.geog::geometry) AND ST_Area(ST_Intersection(state.geog, zcta.geog)) > (ST_Area(zcta.geog)*0.01) ) GROUP BY zcta.zcta5ce10 HAVING count(*) > 1 ORDER BY zcta5ce10;
Iată resulset
zcta5ce10 | states -----------+--------------------------------- 03579 | {Maine,"New Hampshire"} 20135 | {Virginia,"West Virginia"} 24604 | {Virginia,"West Virginia"} 31905 | {Alabama,Georgia} 38079 | {Kentucky,Tennessee} 38769 | {Arkansas,Mississippi} 38852 | {Alabama,Mississippi} 42223 | {Kentucky,Tennessee} 51001 | {Iowa,"South Dakota"} 51023 | {Iowa,"South Dakota"} 51360 | {Iowa,Minnesota} 51557 | {Iowa,Nebraska} 51640 | {Iowa,Missouri} 52542 | {Iowa,Missouri} 52573 | {Iowa,Missouri} 52626 | {Iowa,Missouri} 54554 | {Michigan,Wisconsin} 56027 | {Iowa,Minnesota} 56144 | {Minnesota,"South Dakota"} 56164 | {Minnesota,"South Dakota"} 56219 | {Minnesota,"South Dakota"} 56744 | {Minnesota,"North Dakota"} 57026 | {Minnesota,"South Dakota"} 57030 | {Minnesota,"South Dakota"} 57068 | {Minnesota,"South Dakota"} 57078 | {Nebraska,"South Dakota"} 57638 | {"North Dakota","South Dakota"} 57641 | {"North Dakota","South Dakota"} 57642 | {"North Dakota","South Dakota"} 57645 | {"North Dakota","South Dakota"} 57648 | {"North Dakota","South Dakota"} 57660 | {"North Dakota","South Dakota"} 57717 | {"South Dakota",Wyoming} 57724 | {Montana,"South Dakota"} 58225 | {Minnesota,"North Dakota"} 58439 | {"North Dakota","South Dakota"} 58623 | {"North Dakota","South Dakota"} 58649 | {"North Dakota","South Dakota"} 58653 | {"North Dakota","South Dakota"} 59221 | {Montana,"North Dakota"} 59270 | {Montana,"North Dakota"} 59275 | {Montana,"North Dakota"} 59847 | {Idaho,Montana} 63673 | {Illinois,Missouri} 65729 | {Arkansas,Missouri} 65733 | {Arkansas,Missouri} 65761 | {Arkansas,Missouri} 66541 | {Kansas,Nebraska} 67950 | {Kansas,Oklahoma} 68325 | {Kansas,Nebraska} 68719 | {Nebraska,"South Dakota"} 68978 | {Kansas,Nebraska} 69201 | {Nebraska,"South Dakota"} 69212 | {Nebraska,"South Dakota"} 69216 | {Nebraska,"South Dakota"} 71749 | {Arkansas,Louisiana} 72338 | {Arkansas,Tennessee} 72644 | {Arkansas,Missouri} 73949 | {Oklahoma,Texas} 75556 | {Arkansas,Texas} 79837 | {"New Mexico",Texas} 80758 | {Colorado,Nebraska} 81137 | {Colorado,"New Mexico"} 81324 | {Colorado,Utah} 82063 | {Colorado,Wyoming} 82082 | {Nebraska,Wyoming} 82701 | {"South Dakota",Wyoming} 82801 | {Montana,Wyoming} 82930 | {Utah,Wyoming} 83111 | {Idaho,Wyoming} 83120 | {Idaho,Wyoming} 83312 | {Idaho,Utah} 83342 | {Idaho,Utah} 84034 | {Nevada,Utah} 84531 | {Arizona,Utah} 84536 | {Arizona,Utah} 86044 | {Arizona,Utah} 86504 | {Arizona,"New Mexico"} 86514 | {Arizona,Utah} 86515 | {Arizona,"New Mexico"} 87328 | {Arizona,"New Mexico"} 88220 | {"New Mexico",Texas} 88430 | {"New Mexico",Texas} 89010 | {California,Nevada} 89019 | {California,Nevada} 89060 | {California,Nevada} 89421 | {Nevada,Oregon} 89439 | {California,Nevada} 89832 | {Idaho,Nevada} 97635 | {California,Oregon} 97910 | {Idaho,Oregon} 99128 | {Idaho,Washington} 99362 | {Oregon,Washington} (93 rows)
Ar trebui să puteți verifica toate acestea în Google Maps. Cu toate acestea, Google Maps este, de asemenea, nu autoritar.
Răspuns
Suprapuneri de stat menționate în documentul recensământului din 1994
În iunie 1994, în conformitate cu următorul site site-ul Biroului de recensământ din SUA, există 153 de coduri poștale care traversează limitele statului.
Așa cum am menționat mai devreme, există câteva coduri poștale care livrează peste liniile de stat și există câteva sectoare ZIP / sectoare care traversează liniile județene. Există 153 de coduri poștale în mai multe state. Există 9.000 de coduri poștale în mai mult de un județ. Au fost 11.331 (din totalul de 857.400) coduri poștale / sectoare care au fost spl pe județ. Toate statele au avut unele sectoare divizate, Virginia, Michigan și Ohio având o doză deosebit de mare. Sectoarele rute rurale, așa cum era de așteptat, conțineau (relativ) cea mai mare parte a sectoarelor împărțite. Majoritatea celorlalte cazuri se află în sectorul inferior (rezervat pentru casetele poștale) și în sectorul 99 (rezervat pentru ofițerii poștali și afaceri returnare prin e-mail). Trebuie să existe unele atribuiri non-standard de cod județean pentru aceste cazuri selectate. Va trebui să le cercetăm în continuare la o dată ulterioară.
Răspuns
Cu ArcGIS puteți utiliza instrumentul de îmbinare spațială (sau într-un script) pentru a găsi care poligoane de cod poștal se intersectează cu mai multe poligoane de stare. În clasa de caracteristici de ieșire, va exista un câmp Join_Count care va indica mai multe stări. Ați putea face un lucru similar cu fermoarele și orașele. Probabil vor exista falsuri pozitive în care fermoarele se suprapun neintenționat mai mult decât unul din cauza inexactităților / lipsei frontierelor sau Ați putea face un buffer negativ de -100m al fermoarelor înainte de unirea spațială și vezi ce face asta.
import arcpy target_features = "C:/data/usa.gdb/states" join_features = "C:/data/usa.gdb/zips" out_feature_class = "C:/data/usa.gdb/states_zips" arcpy.SpatialJoin_analysis(target_features, join_features, out_feature_class, "JOIN_ONE_TO_MANY")
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Spatial_Join/00080000000q000000/
„Două câmpuri noi, Join_Count și TARGET_FID, sunt întotdeauna adăugate la clasa de caracteristici de ieșire. Join_Count indică câte funcții de join se potrivesc cu fiecare caracteristică țintă (TARGET_FID). Un alt câmp nou, JOIN_FID, este adăugat la ieșire atunci când JOIN_ONE_TO_MANY este specificat în parametrul Join Operation.”
Răspuns
Puteți face o intersecție spațială în PostGIS și puteți obține o listă a fiecărui stat sau oraș și a codurilor poștale că se intersectează, ceea ce ar returna mai multe coduri poștale în care se intersectează mai multe state și, pentru fiecare oraș care a intersectat același cod poștal, veți vedea și rezultatul respectiv.
Comentarii
Răspuns
În Pennsylvania, granițele oficiilor poștale nu se aliniază la granițele municipale. Unele localități pot avea mai multe oficii poștale care le livrează. Când făceam adresări 911, unele localități au cerut OP să își schimbe nae la numele orașului, PO le-a permis să facă acest lucru cu condiția să continue să folosească vechiul cod poștal al oficiului poștal. Mulți au făcut acest lucru. Puteți vedea din aceste link-uri același cod poștal este utilizat pentru mai multe orașe. https://suburbanstats.org/zip-codes/pennsylvania/thornhurst https://suburbanstats.org/zip-codes/pennsylvania/scott-twp Practic, utilizarea „Anytown” cu codul poștal corect va funcționa din cauza sortării computerelor care citesc codul zip mai întâi codul.
De asemenea, puteți rula în PO care au doar casete poștale și nu efectuează livrare locală, deci nu există poligon pentru harta dvs. Aceste PO sunt de obicei mici.