行政データのプロット

行政データのプロット

今回は国土数値情報の行政区域データを使う

https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03-v2_3.html
これは市区町村の境界が表示できる

今回は東京都の平成29年のものを使う
N03-170101_13_GML.zip
をダウンロード

ダブルクリックで解凍し

mv ~/Downloads/N03-170101_13_GML .

で移動

この中にあるシェープファイルを使う
N03-17_13_170101.shp
を使う

拡張子 .shpがシェープファイル

まずはこのファイルの読み込み

gyosei = gpd.read_file('./N03-170101_13_GML/N03-17_13_170101.shp')
gyosei

N03_001	N03_002	N03_003	N03_004	N03_007	geometry	
0	東京都	None	千代田区	None	13101	POLYGON ((139.77287 35.7037, 139.77279 35.7031...
1	東京都	None	中央区	None	13102	POLYGON ((139.78341 35.69645, 139.78459 35.696...
2	東京都	None	港区	None	13103	POLYGON ((139.77129 35.62841, 139.77128 35.628...
3	東京都	None	港区	None	13103	POLYGON ((139.76689 35.62774, 139.76718 35.627...
4	東京都	None	港区	None	13103	POLYGON ((139.77022 35.63199, 139.77046 35.631...
...	...	...	...	...	...	...
6205	東京都	None	None	所属未定地	None	POLYGON ((139.8413 35.64702, 139.84131 35.6471...
6206	東京都	None	None	所属未定地	None	POLYGON ((139.80438 35.60061, 139.80399 35.600...
6207	東京都	None	None	所属未定地	None	POLYGON ((139.81937 35.60899, 139.81923 35.608...
6208	東京都	None	None	所属未定地	None	POLYGON ((139.81009 35.61355, 139.81069 35.613...
6209	東京都	None	None	所属未定地	None	POLYGON ((139.82664 35.5976, 139.827 35.59703,...
6210 rows × 6 columns

となる

次にこの中から品川区のデータに絞るため
まずは区のみに絞る

そのためにまずはNoneのあるデータを除く

gyosei_tmp = gyosei.dropna(subset=['N03_003'])
gyosei_tmp

これで

N03_001	N03_002	N03_003	N03_004	N03_007	geometry	
0	東京都	None	千代田区	None	13101	POLYGON ((139.77287 35.7037, 139.77279 35.7031...
1	東京都	None	中央区	None	13102	POLYGON ((139.78341 35.69645, 139.78459 35.696...
2	東京都	None	港区	None	13103	POLYGON ((139.77129 35.62841, 139.77128 35.628...
3	東京都	None	港区	None	13103	POLYGON ((139.76689 35.62774, 139.76718 35.627...
4	東京都	None	港区	None	13103	POLYGON ((139.77022 35.63199, 139.77046 35.631...
...	...	...	...	...	...	...
140	東京都	None	西多摩郡	瑞穂町	13303	POLYGON ((139.35786 35.74464, 139.35776 35.744...
141	東京都	None	西多摩郡	瑞穂町	13303	POLYGON ((139.35 35.79414, 139.35016 35.79364,...
142	東京都	None	西多摩郡	日の出町	13305	POLYGON ((139.19302 35.78875, 139.19307 35.788...
143	東京都	None	西多摩郡	檜原村	13307	POLYGON ((139.10611 35.77867, 139.10644 35.778...
144	東京都	None	西多摩郡	奥多摩町	13308	POLYGON ((139.01912 35.89826, 139.01941 35.898...

となる

次にこのデータから区を含むものだけに絞り込む

gyosei_ku = gyosei_tmp['N03_003'].str.contains('区')
gyosei_ku

とすれば

0       True
1       True
2       True
3       True
4       True
       ...  
140    False
141    False
142    False
143    False
144    False
Name: N03_003, Length: 117, dtype: bool

となって判別できるので

この条件式を使って

gyosei_ku = gyosei_tmp[gyosei_tmp['N03_003'].str.contains('区')]
gyosei_ku

とすれば

N03_001	N03_002	N03_003	N03_004	N03_007	geometry	
0	東京都	None	千代田区	None	13101	POLYGON ((139.77287 35.7037, 139.77279 35.7031...
1	東京都	None	中央区	None	13102	POLYGON ((139.78341 35.69645, 139.78459 35.696...
2	東京都	None	港区	None	13103	POLYGON ((139.77129 35.62841, 139.77128 35.628...
3	東京都	None	港区	None	13103	POLYGON ((139.76689 35.62774, 139.76718 35.627...
4	東京都	None	港区	None	13103	POLYGON ((139.77022 35.63199, 139.77046 35.631...
...	...	...	...	...	...	...
107	東京都	None	葛飾区	None	13122	POLYGON ((139.87626 35.79479, 139.87661 35.793...
108	東京都	None	江戸川区	None	13123	POLYGON ((139.86285 35.63532, 139.86299 35.635...
109	東京都	None	江戸川区	None	13123	POLYGON ((139.8638 35.63722, 139.86391 35.6371...
110	東京都	None	江戸川区	None	13123	POLYGON ((139.8556 35.63856, 139.85563 35.6385...
111	東京都	None	江戸川区	None	13123	POLYGON ((139.89018 35.75055, 139.89044 35.750...
112 rows × 6 columns

というように区のみにできる

これで東京23区の表示をする

gyosei_ku.plot()

これで区の区切りが白い線になっているのがわかる

次に品川区のみ色を変更する

ax = gyosei_ku.plot()
gdf.plot(ax=ax,color='orange',markersize=1)
ax = gyosei_ku.plot()
gdf.plot(ax=ax,color='orange',markersize=1)

次に品川のみに絞り込む

shinagawa = gyosei[gyosei['N03_003']=='品川区']
shinagawa

これで

N03_001	N03_002	N03_003	N03_004	N03_007	geometry	
87	東京都	None	品川区	None	13109	POLYGON ((139.75501 35.61771, 139.75507 35.617...
88	東京都	None	品川区	None	13109	POLYGON ((139.77231 35.62188, 139.77302 35.621...
89	東京都	None	品川区	None	13109	POLYGON ((139.75953 35.625, 139.75966 35.6216,...
90	東京都	None	品川区	None	13109	POLYGON ((139.71943 35.64167, 139.71953 35.641...

となる

次に品川区のみ表示する

ax = shinagawa.plot()
gdf.plot(ax=ax,color='orange',markersize=2)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です