ポイントデータによる地価の可視化では,地価公示を利用して調査地点(観測ポイント)の土地価格を可視化した.この情報を利用して,調査地点以外の箇所の地価を予測し,地域全体にわたる地価の様子を表現する.
ライブラリ:sf,tidyverse,gstat
library(sf)
library(tidyverse)
#idw()利用のため
library(gstat)シェープファイルのダウンロード
国土数値情報ダウンロードサービス > 行政区域(ポリゴン) > 富山県 > 令和3年
国土数値情報ダウンロードサービス > 地価公示(ポイント) > 富山県 > 「富山県」データのダウンロード > 世界測地系 令和4年
read_sf():データ読込.crs="JGD2011"を指定.crs(Coordinate
ReferenceSystem,座標参照系)を2011年に定められた世界測地系に基づく日本測地系(Japanese
Geodetic Datum)に投影を意味.この指定がないとうまく行かなかった.%>%)を使い,富山県のデータから富山市のデータを抜き出し.#富山県の地図
Toyama_map<-
read_sf("N03-20210101_16_GML/N03-20210101_16_GML/N03-21_16_210101.shp",
crs="JGD2011")
#富山市の選別
Toyama_map %>%
filter(N03_004=="富山市") ->
Toyama_shi_map
#富山県の地価の地図
Toyama_lp<-
read_sf('L01-22_16_GML/L01-22_16.shp',
crs="JGD2011")
#富山市の地価の選別
Toyama_lp %>%
filter(L01_022=="16201") ->
Toyama_shi_lp 各年地価
0になっている.実際には地価が0円ということではないため削除.scale_color_viridis_c():連続変数の色分けを指示.viridisで用意されているカラーマップはAからHの8種類用意されている.#1997年(地価はL01_075の列)
#ゼロを削除
Toyama_shi_lp75<-
Toyama_shi_lp[!(Toyama_shi_lp$L01_075=="0"),]
#単位変換
Toyama_shi_lp75 %>%
mutate(L01_075=L01_075/10000) ->
Toyama_shi_lp75
#順番の変更
Toyama_shi_lp75 %>%
arrange(L01_075) ->
Toyama_shi_lp75
#1997年の地価分布の可視化
ggplot()+
geom_sf(data=Toyama_shi_map, fill="white")+
geom_sf(data=Toyama_shi_lp75, aes(color=L01_075))+
scale_color_viridis_c(option="G", direction=-1)+
labs(color="万円/㎡")+
ggtitle("富山市の地価(1997年)")+
theme_bw()#2007年(地価はL01_085の列)
#ゼロを削除
Toyama_shi_lp85<-
Toyama_shi_lp[!(Toyama_shi_lp$L01_085=="0"),]
#単位変換
Toyama_shi_lp85 %>%
mutate(L01_085=L01_085/10000) ->
Toyama_shi_lp85#単位変換
Toyama_shi_lp %>%
mutate(L01_006=L01_006/10000) ->
Toyama_shi_lp6st_make_grid():富山市の地図(Toyama_shi_map)に合わせてメッシュ(grid)の作成の指示.
n=c(#, #):メッシュの数を指定.x軸方向の数とy軸方向の数の順番.ここでは,それぞれ100としているため,100×100で1000のメッシュを作成.#メッシュ(グリッド)作成
Toyama_shi_grid<-
st_make_grid(Toyama_shi_map, n=c(100, 100))
#メッシュの可視化
ggplot()+
geom_sf(data=Toyama_shi_grid)+
geom_sf(data=Toyama_shi_map, fill="NA")+
ggtitle("作成したメッシュ")+
theme_bw()idw():逆距離加重法による空間内挿の適用.
L01_075~1:1997年の地価の内挿を行う際の関数系.1は線形.Toyama_shi_lp85:調査地点(観測ポイント)が含まれるデータを指定.Toyama_shi_grid:内挿を行うメッシュを指示.idp:予測地点と調査地点の距離にかかる累乗の指定.ここでは2を選択.#1997年の空間内挿
Toyama_shi_idw75<-
idw(L01_075~1, Toyama_shi_lp75, Toyama_shi_grid, idp=2)
#2007年の空間内挿
Toyama_shi_idw85<-
idw(L01_085~1, Toyama_shi_lp85, Toyama_shi_grid, idp=2)
#2022年の空間内挿
Toyama_shi_idw6<-
idw(L01_006~1, Toyama_shi_lp6, Toyama_shi_grid, idp=2)注意
save)して,使用する際に読込(load).Toyama_shi_idw75をToyama_shi_idw75.Rdataと名付けて保存.#データの保存
save(Toyama_shi_idw75, file="Toyama_shi_idw75.Rdata")
save(Toyama_shi_idw85, file="Toyama_shi_idw85.Rdata")
save(Toyama_shi_idw6, file="Toyama_shi_idw6.Rdata")#データの読込
load("Toyama_shi_idw75.Rdata")
load("Toyama_shi_idw85.Rdata")
load("Toyama_shi_idw6.Rdata")データ結合
空間内挿によって作成した図を富山市の地図に重ねてみる.
var1.pred列に含まれる.
Toyama_shi_grid)は富山市の行政区域(Toyama_shi_map)からはみ出しているため,はみ出さないように,Toyama_shi_gridとToyama_shi_mapを結合する.st_intersection()を用いて共通部分を切り取る.
constant)と指定.st_agr(Toyama_shi_map)="constant"
st_agr(Toyama_shi_idw75)="constant"
st_agr(Toyama_shi_idw85)="constant"
st_agr(Toyama_shi_idw6)="constant"
#データの結合
Toyama_intersec75<-
st_intersection(Toyama_shi_idw75, Toyama_shi_map)
Toyama_intersec85<-
st_intersection(Toyama_shi_idw85, Toyama_shi_map)
Toyama_intersec6<-
st_intersection(Toyama_shi_idw6, Toyama_shi_map)1997年の地価の可視化
Toyama_shi_lp)も参考に示す.ポイントの形状(shape)を枠を黒,枠内を透明(21)にサイズ(size)を小さくする.
Toyama_intersec75のvar1.pred列.ggplot()+
geom_sf(data=Toyama_intersec75, aes(fill=var1.pred))+
scale_fill_viridis_c(option="G", direction=-1)+
geom_sf(data=Toyama_shi_lp, shape=21, size=0.5)+
coord_sf(xlim= c(136.96, 137.4), ylim=c(36.5, 36.78))+
labs(fill="万円/㎡")+
ggtitle("調査地点と空間内挿による富山市の地価(1997年)")+
theme_bw()CRSの変更
概ね,上記の地図により空間内挿による地価分布を示せた.ここからは,地図上に鉄道を示したり,CRSを変更したりする(好みの問題).
CRSをJGD2011に指示.これをWGS84に変更する.proj<-
"+proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0"
st_crs(Toyama_intersec75)=proj
st_crs(Toyama_intersec85)=proj
st_crs(Toyama_intersec6)=proj行政区域の地図
富山県と富山市の行政区域の地図を改めてオプション(crs="JSD2011")なしで読み込み.別名を付ける(それぞれToyama_map1とToyama_shi_map1と名付ける).
#富山県の地図(オプションなし)
Toyama_map1<-
read_sf("N03-20210101_16_GML/N03-20210101_16_GML/N03-21_16_210101.shp")
#富山市の選別
Toyama_map1 %>%
filter(N03_004=="富山市") ->
Toyama_shi_map1地図上に鉄道(ライン)を示すため,シェープファイルをダウンロード.
国土数値情報ダウンロードサービス > 鉄道(ライン) > 全国 > 世界測地系 > 平成19年(および令和2年)
crs="WGS84"が必要.railway07と名付ける.railway20と名付ける. -
パイプ演算子(%>%)を使い,路線名(鉄道路線の名称,N02_003)の「北陸新幹線」を抜き出しHokuriku_shinkansenと名付ける.#2007年の鉄道路線図
railway07<-
read_sf("N02-07_GML/N02-07-g_RailroadSection.shp",
crs="WGS84")
#2020年の鉄道路線図
railway20<-
read_sf("N02-20_GML/N02-20_GML/N02-20_RailroadSection.shp")
#新幹線の選別
railway20 %>%
filter(N02_003=="北陸新幹線")->
Hokuriku_shinkansen完成図
color=NA).#1997年の完成図
ggplot()+
geom_sf(data=Toyama_map1)+
geom_sf(data=Toyama_intersec75,
aes(fill=var1.pred), color=NA)+
scale_fill_viridis_c(option="G", direction=-1)+
geom_sf(data=Toyama_shi_map1, fill="NA", size=0.8)+
geom_sf(data=railway07, size=0.2,
linetype="dashed")+
labs(fill="万円/㎡")+
ggtitle("富山市の地価(1997年)")+
coord_sf(xlim= c(136.96, 137.4), ylim=c(36.5, 36.78))+
theme_bw()複数地図の比較
比較しやすいように3枚の地図を並べる.複数の地図を同時に可視化.
データの結合
上の3枚の地図の違いは注意深く見ないと分からない(間違い探しクイズの模様).
year)による.その他の点として,物価水準の違いを調整.
98.9,
07年が97.0,
22年(2015年版には掲載なし,21年)100.9.predと名付ける.#物価調整
Toyama_intersec75 %>%
mutate(pred=var1.pred/0.989) ->
Toyama_intersec75
Toyama_intersec85 %>%
mutate(pred=var1.pred/0.970) ->
Toyama_intersec85
Toyama_intersec6 %>%
mutate(pred=var1.pred/1.009) ->
Toyama_intersec6
#識別する列(year)の作成(各データ:4940行)
Toyama_intersec75$year<-c(rep(1997,4940))
Toyama_intersec85$year<-c(rep(2007,4940))
Toyama_intersec6$year<-c(rep(2022,4940))
#データの結合
Toyama_7585<-rbind(Toyama_intersec75, Toyama_intersec85)
Toyama_75856<-rbind(Toyama_7585, Toyama_intersec6)凡例を一つにまとめた図
1997年の地価は2007年,2022年の地価より高いことを確認.
datum=NA:緯度経度の表記なしfacet_wrap():複数の地図の並べ方を指示.
~year:年ごとに地図を作成..ncol=2:1行に地図を2枚並列.ggplot()+
geom_sf(data=Toyama_75856,
aes(fill=pred), color=NA)+
scale_fill_viridis_c(option="G", direction=-1)+
coord_sf(xlim=c(136.96, 137.4), ylim=c(36.5, 36.78),
datum=NA)+
facet_wrap(~year, ncol=2)+
labs(fill="万円/㎡")+
theme_bw()参考文献
Rによる地理空間データの可視化