どの米国の郵便番号が複数の州または複数の都市にマップされているかを判断しますか?


23

郵便番号リストを使用していますが、米国の複数の州または米国の都市に対応する郵便番号の数(またはどの)を知りたいですか?

たとえば、郵便番号42223は、KY-TN州境にまたがる米国陸軍のフォートキャンベルに解決されることを知っています。奇妙なことに、google APIは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

これを生成する方法は次のとおりです(PythonのPandaを使用)。

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)

編集:国勢調査は、州のための2つの異なる2桁のコーディングを持っているようです。両方とも州のアルファベット順に基づいて割り当てられた番号ですが、一方は1〜51(50州+ DC)から直接番号を適用、もう一方はいくつかの番号をスキップします。私は最初のものを使用していましたが、2番目のものを使用すべきだったので、リストした州名は間違っていました。コードと結果を正しいリストで更新しました。

編集:OpenCongress APIによって確認された新しい状態マッピング:https ://gist.github.com/gabrielgrant/89f883d093e2abf129ad


2
この@JesseCrockerをキャッチしてくれてありがとう-国勢調査には(混乱させて)州の2つの異なる2桁のコーディングがあるようです。両方とも州のアルファベット順に基づいて割り当てられた番号ですが、一方は1〜51(50州+ DC)から直接番号を適用、もう一方はいくつかの番号をスキップします。最初のものを使用していましたが、2番目のものを使用していたはずなので、リストした州名は間違っていました(ただし、ZCTAは良かったです)。コードと結果を正しいリストで修正しました。
ガブリエルグラント

2
FIPSコードのギャップに関しては、スキップされた数値は1970年代に辺境地域(アメリカ領サモア、運河地帯、グアム、プエルトリコ、バージン諸島)のために予約されていましたが、それらに使用されることはありませんでした。en.wikipedia.org/wiki/…–
ノイハウザー

3
、SD 57717ビュート、SD 57717カーター、MT 57717クルック、WY 57717ハーディング、SD 57717ローレンス、SD 57717オーロラ:郵便番号三つの状態6、郡、および複数の都市にまたがる57717忘れてはいけない
ジェフリー・

1
このリストは完全に近いものではありません。はるかに優れた近似値については、私の答えをご覧ください。gis.stackexchange.com/a/223445/6052
エヴァンキャロル

@Jeffrey興味深い、なぜそれがZCTAプレイスリストに載っていないのだろうか?
ガブリエルグラント

11

これを伝える方法は本当にありません。そこ以来ではありません USPSによって定義される郵便番号の境界形状。ジップコードは、特定の配信センタから通信事業者に配信通りの境界ボックスによって定義されます。

したがって、USPS AISデータを取得し、指定された郵便局から配達された通りをZipCodesで抽出し、これらを通りグリッドに結合する必要があります。これは、すべての商業ベンダー(Nokia / TomTom)が郵便境界を表示するために使用するPsuedo形状を作成するために行うことです。

この不正確なプロセスは、USPSは、空間データを提供していない理由です。


2
何か正確ですか?真実とは何ですか?多くのzip境界レイヤーが作成されました。これは、未知の要件を考えると、この特定の分析の目的に役立つ場合とそうでない場合があります。Esriの自由ジップ境界- arcgis.com/home/item.html?id=8d2012a2016e484dafaac0451f9aea24も参照してくださいgis.stackexchange.com/questions/2682/...
awesomo

2
考えると、あなたはまた、あなたが使用したデータの意味を行っているものは何でも理解する必要があります。
DEWright

7

米国国勢調査局は、郵便番号に含まれる住所に基づいて、ZIP Code Tabulation Areas(ZCTA)と呼ばれる郵便番号のおおよその境界を導き出します。

彼らは、関係ファイルパブリッシュそのZCTAsは、様々な他の地域にマッピングする方法について説明します。ZCTAからPlaceへの関係ファイルを調べると、それらが都市や町にどのようにマップされているかを確認できます。ZCTAから郡への関係ファイルから状態にマップする方法を推測できます。

リレーションシップファイルは国勢調査の地理IDを使用するため、地名ファイル取得して、数値IDを目的の場所または郡名に変換できるようにします。

他の回答が述べているように、場所への郵便番号のマッピングはおおよそのものである可能性が高いですが、私は国勢調査のデータファイルで幸運に恵まれました。


4

PostGISを使用した2016 TIGERデータ

特別な注意事項として、ZCTAデータはUSPS郵便番号ではありません。それは近似です。USPS郵便番号は本当に恐ろしいものであり、おおよその場合を除いて有用ではありません。USPS以外のすべての政府機関を含む全員、および(ZCTAを作成するためのセンサス)は、それらを完全に無視します。USPSを少し成長させたい場合は、最新のZCTAに変換し、信頼できるGISポリゴンを提供するだけでした。

  • 2016 TIGER ZCTA 877 MBテーブルデータ。
    • 33,144 ZCTA
    • 合計52,669,641ポイント、
  • 2016 TIGER States 15 MBのテーブルデータ。
    • 56「州」
    • 912,464ポイント合計

次に...ここでは、TIGER状態とTIGER ZCTAデータセット間の交差点を照会します。ZCTAの総面積の1%で州を認定しています。ZCTAエリアの1%が状態にない場合、丸め誤差、または国勢調査で何かを指で太っている人だと想定します。この追加の選択性でプルーニングしている郵便番号を確認する5616883832、郵便番号で確認してください。

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年6月、次の米国国勢調査局のサイトによると、州の境界を越える153の郵便番号があります。

前述のように、州の境界線を越えて配信される郵便番号がいくつかあり、郡の境界線を越える郵便番号/セクターがいくつかあります。複数の州に153の郵便番号があります。複数の郡に9,000の郵便番号があります。郡ごとに分割されたZIP /セクターは11,331(合計857,400のうち)でした。すべての州にいくつかの分割セクターがあり、バージニア州、ミシガン州、およびオハイオ州では特に投与量が多くなっています。予想どおり、地方のルートセクターには、(比較的)分割セクターの大部分が含まれていました。その他のケースのほとんどは、低いセクターの範囲(私書箱用に予約済み)およびセクター99(ポストマスターおよびビジネス用メールの返品用に予約済み)にあります。これらの選択されたケースに対して、非標準の郡コードの割り当てが発生する必要があります。これらについては後日さらに調査する必要があります。


0

ArcGISでは、空間結合ツール(またはスクリプト内)を使用して、どの郵便番号のポリゴンが複数の州のポリゴンと交差しているかを見つけることができます。出力フィーチャクラスには、複数の状態を示すJoin_Countフィールドがあります。zipや都市でも同様のことができます。国境の不正確さ/欠如または解決のために、ジッパーが意図せずに複数重複する場合、誤検知が発生する可能性があります。場合によっては、空間結合の前にzipのマイナス-100mのバッファーを実行し、それが何をするかを確認できます。

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の2つの新しいフィールドは常に出力フィーチャクラスに追加されます。Join_Countは結合の数を示しますフィーチャは各ターゲットフィーチャ(TARGET_FID)と一致します。JOIN_ONE_TO_MANYが結合操作パラメーターで指定されている場合、別の新しいフィールドJOIN_FIDが出力に追加されます。



-2

ペンシルバニア州では、郵便局の境界は市の境界と一致しません。いくつかのタウンシップには、複数の郵便局が配達されている場合があります。911アドレス指定を行っていたときに、一部のタウンシップはPOにnaeをタウンシップ名に変更するように依頼しました。多くの人がこれをやった。これらのリンクから、複数の町で同じ郵便番号が使用されていることがわかります。https://suburbanstats.org/zip-codes/pennsylvania/thornhurst https://suburbanstats.org/zip-codes/pennsylvania/scott-twp基本的に、正しい郵便番号で「Anytown」を使用すると、コンピューターの読み取りが機能するため機能します最初に郵便番号。

また、POボックスのみを持ち、ローカル配信を行わないため、マップにポリゴンがないPOを実行することもできます。これらのPOは通常小さいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.