人口密度を示す方法はいくつかある.ここでは,その方法の一つとして,静岡県の行政区域(ポリゴン)に1kmメッシュ別人口を重ねる方法を紹介する.
データとしては500mメッシュも用意されているが,都道府県など範囲が広い場合は,メッシュが相対的に小さく,見えにくくなる.
シェープファイルのダウンロード
国土数値情報ダウンロードサービス > 行政区域(ポリゴン) > 静岡県 > 令和3年
国土数値情報ダウンロードサービス > 1kmメッシュ別将来推計人口(H30国政局推計)(shape形式版) > 静岡県 > 世界測地系
read_sf
),Shizuoka_map
と名付ける.encoding="cp932"
,fileEncoding="CP932"
など)で日本語の文字化けを防ぐ.行政区域の可視化
Shizuoka_map<-
read_sf("N03-20210101_22_GML/N03-21_22_210101.shp")
#行政区域の可視化
ggplot()+
geom_sf(data=Shizuoka_map, fill="white")
参考
静岡県の地理に詳しくない人のために次の図に行政区域の地名を示す.なお,静岡県では政令指定都市(静岡市,浜松市)と5つの群(賀茂群,周智郡,駿東郡,田方郡,榛原郡)が存在.ここでは参考に静岡市(青)と浜松市(緑)を示しておく.
1kmメッシュ別人口の可視化
1kmメッシュ別将来推計人口(H30国政局推計)のファイルには2015年の人口とそれ以降の将来推計人口がメッシュ毎に計算されている.ここでは2015年の人口(PTN_2015
)を利用.
aes(fill=PTN_2015)
でメッシュを2015年の人口で埋めるように指示.scale_fill_distiller()
でメッシュに埋める(aes
のfill
に揃える)数値の色を黄緑青(YlGnBu
)に指示.
scale_fill_distiller()
関数では,色の順番の初期設定がdirection=-1
のため,direction=1
を用いて色の順番を逆にしている.このオプションは必要に応じて対処すればよい.2枚の地図を重ねる.図のタイトル,凡例をつけて,完成図を示す.
labs()
の凡例(aes
のfill
に揃える)を人口にするように指示.
labs()
い出典表記(caption
).ggplot()
はデフォルトのままの場合,背面は灰色,線は白で描写(theme_grey()
).theme_bw()
(black
& white)を利用すること背面を白,線を黒に変更可能.ggplot()+
geom_sf(data=Shizuoka_map, fill="white")+
geom_sf(data=Shizuoka_mesh,
aes(fill=PTN_2015))+
scale_fill_distiller(palette="YlGnBu", direction=1)+
geom_sf(data=Shizuoka_map, fill="NA")+
labs(fill="人口",
caption="出典:国土交通省国土数値情報")+
ggtitle("静岡県1kmメッシュ別人口(2015)")+
theme_bw()
注意
fill="NA"
)にしている.1kmメッシュ別将来推計人口(H30国政局推計)には将来の人口予想の推計も記されている.そこで,予想人口変化率を計算し,可視化.
PTN_2035
.Pop_rate
と表現する)は(PTN_2035-PTN_2015)/PTN_2015)*100
.mutate()
:データの列の変更や追加を可能にする.データ名を記入し(ここではShizuoka_mesh
),次に列の変更や追加を指示する.Pop_rate
を追加したデータをShizuoka_mesh2
と名付ける.scale_fill_gradient2()
は中間値(初期値は0
)より大きな値と小さな値で色を塗り分けることを可能にする関数.
ggplot()+
geom_sf(data=Shizuoka_map, fill="white")+
geom_sf(data=Shizuoka_mesh2,
aes(fill=Pop_rate))+
scale_fill_gradient2(low="blue",
mid="white",
high="red")+
geom_sf(data=Shizuoka_map, fill="NA")+
labs(fill="%",
caption="出典:国土交通省国土数値情報")+
ggtitle("2015年ー2035年の予想人口変化率")+
theme_bw()
Rによる地理空間データの可視化