Визначення, які поштові індекси в США відображають більше ніж один штат або більше ніж одне місто?


23

Я використовую перелік поштових індексів, і мені цікаво дізнатись, скільки (або які) поштові індекси відображаються в більш ніж одному штаті США чи США?

Наприклад, я знаю, що поштовий індекс 42223поширюється на армію США, Форт Кемпбелл, яка простежує лінію штату KY-TN. Як не дивно, API google повертається лише TNдля того стану, що відповідає цьому zip.


Як ви визначаєте "місто" та "поштовий індекс"?
Еван Керролл

Відповіді:


22

Існує 13 областей табуляції поштових індексів перепису населення США (ZCTA): 02861, 42223, 59221, 63673, 71749, 73949, 81137, 84536, 86044, 86515, 88063, 89439 та 97635.

Як уже згадували інші, існує кілька різних способів визначити область, яку охоплює Поштовий індекс, але ZCTA - це найпростіша і єдина офіційна версія, про яку я знаю.

Тож ваш приклад 42223 охоплює державний кордон, але схоже, що він насправді знаходиться між штатом Меріленд і Вірджинія. що між Кентуккі та Теннессі.

Ось повний список зі станами:

 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

Ось як я створив це (з Pandas в Python):

import pandas as pd

zcta_to_place_url = 'http://www2.census.gov/geo/docs/maps-data/data/rel/zcta_place_rel_10.txt'

# load relevant data
df = pd.read_csv(
  zcta_to_place_url,
  dtype={'ZCTA5': str},
  usecols=['ZCTA5', 'STATE'])

# the data often repeats the same (ZCTA, state) pair. Remove these
df = df.drop_duplicates()

# get number of times each ZCTA appears (most are only 1)
counts = df['ZCTA5'].value_counts()

# get those listed more than once
multi_state_zips = df[df.ZCTA5.isin(counts[counts > 1].index)]


# the census uses numeric state codes
# replace these with state names

census_codes_to_names_url = 'http://www2.census.gov/geo/docs/reference/state.txt'

states = pd.read_csv(census_codes_to_names_url, sep='|')
merged = pd.merge(
  multi_state_zips, states,
  on='STATE'
  )[['ZCTA5', 'STATE_NAME']]
print merged.sort(['ZCTA5', 'STATE_NAME']).to_string(index=False)

Редагувати : Здається, перепис має два різних двозначні кодування для штатів. Обидва - це числа, присвоєні на основі алфавітного впорядкування штату, але, здається, один застосовує числа безпосередньо від 1-51 (50 станів + DC), а інший пропускає деякі числа . Я використовував перше, тоді як я повинен був використовувати другий, тому імена держав, які я перераховував, були помилковими. Я оновив код і результати з правильним списком.

Редагувати : нове відображення стану підтверджено API OpenCongress: https://gist.github.com/gabrielgrant/89f883d093e2abf129ad


2
Велике спасибі, що впіймали цей @JesseCrocker - Здається, перепис (заплутано) має дві різні двозначні кодування для штатів. Обидва - це числа, присвоєні на основі алфавітного впорядкування штату, але, здається, один застосовує числа безпосередньо від 1-51 (50 станів + DC), а інший пропускає деякі числа . Я використовував перший, але я повинен був використовувати другий, тому імена держав, які я перераховував, були невірними (хоча ZCTA були хорошими). Я виправив код і результати за допомогою правильного списку.
Габріель Грант

2
Щодо прогалин у кодах FIPS, пропущені номери були зарезервовані у 1970-х для віддалених територій (Американське Самоа, зона Каналу, Гуам, Пуерто-Рико та Віргінські острови), але потім їх не використовували. en.wikipedia.org/wiki/…
neuhausr

3
Не забувайте поштовий індекс 57717, який охоплює три штати шість, округи та кілька міст: 57717 Aurora, SD 57717 Butte, SD 57717 Carter, MT 57717 Crook, WY 57717 Harding, SD 57717 Lawrence, SD
Jeffrey

1
Цей список не є майже повним. Ознайомтеся з моєю відповіддю для набагато кращого наближення. gis.stackexchange.com/a/223445/6052
Еван Керролл

@Jeffrey цікаво, мені цікаво, чому це не вказано у списку місць ZCTA?
Габріель Грант

11

Дійсно не існує способу сказати це; так як НЕ ZipCode форма кордону , яка визначається USPS. ZipCodes визначаються обмежувальним вікном вулиць, доставленим перевізниками з певного розподільного центру.

Таким чином, вам потрібно взяти дані AIS USPS та витягнути по ZipCodes вулиці, які доставлені певним поштовим відділенням, а потім приєднатись до цих вуличних мереж. Це те, що роблять усі комерційні виробники (Nokia / TomTom), щоб створити форму Psuedo, яку вони використовують для показу поштових кордонів.

Цей неточний процес є причиною того, що USPS не надає просторових даних.


2
Чи є щось точне? Що таке правда? Створено багато шарів меж zip, які можуть або не можуть служити цілі цього конкретного аналізу з огляду на його невідомі вимоги. Межі безкоштовного zri для Esri - arcgis.com/home/item.html?id=8d2012a2016e484dafaac0451f9aea24 Дивіться також gis.stackexchange.com/questions/2682/…
awesomo

2
Дано, але ви також повинні зрозуміти, що ви робите, наслідки даних, які ви використовуєте.
DEWright

7

Бюро перепису населення США отримує приблизні межі для поштових індексів на основі адрес, що містяться в них, іменованих областями табуляції поштових індексів (ZCTA).

Вони публікують файли стосунків, в яких описується, як їх ZCTA відображаються в різних інших географіях. Якщо ви вивчите файл відносин ZCTA до місця, то ви зможете побачити, як вони відображаються у містах та селищах. Ви можете зробити висновок про те, як вони відображаються у станах із файлу відносин ZCTA до графств .

У файлах зв’язків використовуються ідентифікатори географії перепису, тож вам захочеться захопити файл лічильника, який допоможе вам перетворити числові ідентифікатори в імена місця чи округу, яких ви очікуєте.

Як було сказано в інших відповідях, будь-яке зіставлення поштових індексів до місць, ймовірно, буде приблизним, але мені пощастило з файлами даних перепису.


4

Дані TIGER за 2016 рік за допомогою PostGIS

Як особливий застереження, дані ZCTA не є поштовими кодами USPS. Це його наближення. Поштові індекси USPS справді жахливі і не корисні, окрім приблизних. Усі, включаючи кожен державний орган, окрім USPS, і (Перепис щодо створення ЗКТА) повністю ігнорують їх. Якби USPS хотів трохи підрости, вони просто перетворилися б на останню ZCTA та надали авторитетні багатокутники GIS.

  • 2016 TIGER ZCTA 877 МБ таблиці даних.
    • 33,144 ZCTA
    • 52 669 641 балів,
  • 2016 TIGER Стани 15 Мб даних таблиці.
    • 56 "Держава" с
    • 912 464 балів

Потім ... Тут ми запитуємо перехрестя між наборами даних TIGER State та TIGER ZCTA. Зауважте, ми кваліфікуємо штати на 1% від загальної площі ZCTA. Якщо 1% району ZCTA не знаходиться в штаті, ми припускаємо, що це помилка округлення або хтось жир щось перебирає під час перепису. Перевірте 56168чи навіть 83832для поштового коду , який ми обрізка з цієї додаткової вибірковістю.

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;

Ось результат

 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)

Ви зможете помітити все це на Картах Google. Однак Карти Google також не є авторитетними.


1

Державні перекриття, згадані в Переписному документі 1994 року

У червні 1994 року, згідно з наступним сайтом Бюро перепису населення США, є 153 поштові індекси, які перетинають державні кордони.

Як уже згадувалося раніше, існує кілька поштових індексів, які передаються через державні лінії, і є кілька ZIP / секторів, які перетинають лінії округу. Є 153 поштові індекси у кількох штатах.У більш ніж одному окрузі є 9000 поштових індексів. Округи були розділені 11 311 (із загальної кількості 857 400). Усі штати мали кілька розщеплених секторів, особливо велику дозу мали Вірджинія, Мічиган та Огайо. Як очікували, сільські маршрутні сектори містили (відносно) левову частку розділених секторів. Більшість інших випадків перебувають у нижньому секторі (зарезервовано для поштових скриньок) та в секторі 99 (зарезервовано для повернення пошти та службової пошти). У цих вибраних випадках має бути якесь нестандартне присвоєння коду округу. Нам доведеться додатково дослідити їх згодом.


0

За допомогою ArcGIS ви можете використовувати інструмент просторового з'єднання (або в сценарії), щоб знайти, які полігони з поштовим індексом перетинаються з більш ніж декількома полігонами стану. У класі вивідних функцій буде поле Join_Count, яке вказуватиме на кілька станів. Можна зробити аналогічну річ із зірками та містами. Ймовірно, будуть помилкові позитиви, коли блискавки ненавмисно перекриваються декількома через неточності / відсутність або вирішення меж. Ви можете, можливо, зробити негативний буфер -100 м блискавки до просторового з'єднання і подивитися, що це робить.

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/
"Два нові поля, Join_Count та TARGET_FID, завжди додаються до виходу класу функцій. Join_Count вказує, скільки приєднається функції відповідають кожній цільовій функції (TARGET_FID). Ще одне нове поле JOIN_FID додається до виводу, коли в параметрі операції приєднання буде вказано JOIN_ONE_TO_MANY. "


0

Ви можете зробити просторове перехрестя в PostGIS і отримати список списку кожного штату чи міста та поштові коди, які вони перетинаються, які б повернули кілька поштових індексів, де перетинаються декілька штатів, і для кожного міста, яке перетинало один і той же поштовий індекс, ви побачите що і результат.



-2

У Пенсільванії межі поштового відділення не узгоджуються з муніципальними межами. У деяких містах може бути декілька поштових відділень, які доставляють їх. Коли ми робили 911 звернення, деякі селища просили ПО, щоб змінити своє прізвище на назву селища, PO дозволив їм це зробити за умови, що вони продовжують використовувати старий поштовий індекс поштового відділення. Багато хто це робив. З цих посилань ви бачите той самий поштовий індекс, який використовується для кількох міст. https://suburbanstats.org/zip-codes/pennsylvania/thornhurst https://suburbanstats.org/zip-codes/pennsylvania/scott-twp В основному використання "Anytown" з правильним поштовим індексом буде працювати через читання комп'ютерів для їх сортування. Спочатку поштовий індекс.

Ви також можете зіткнутися з PO, які мають лише скриньки для поштових відправлень і не виконують місцеву доставку, тому немає полігону для вашої карти. Зазвичай ці PO невеликі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.