1 目的

行政区域(ポリゴン)に地価公示(ポイント)を重ねる.

パッケージ:sftidyverse

library(sf)
library(tidyverse)

2 地価公示ポイントの可視化

シェープファイルのダウンロード

  • 国土数値情報ダウンロードサービス > 行政区域(ポリゴン) > 神奈川県 > 令和3年

  • 国土数値情報ダウンロードサービス > 地価公示(ポイント) > 神奈川県 > 「神奈川県」データのダウンロード > 世界測地系 令和4年

    • ダウンロードしたZIPファイルは同じフォルダ(ディレクトリ)に納め,ZIPファイルを選択 > 右クリック > すべて展開 > 展開先の選択とファイルの選択 > 展開を実行する.展開後は最初にダウンロードしたZIPファイルを削除.
    • シェープファイルの読込(read_sf()):オブジェクト名については,行政区域をKanagawa_map,地価公示をKanagawa_lpとする.
    • 必要に応じて各種ファイルを読み込む際にオプション(encoding="cp932")で日本語の文字化けを防ぐ.最新のファイルはオプションなしでも問題ない模様.
    • 行政区域のCRS(座標参照系)はJSD2011.それに対して,地価公示はJSD2000.ここでは,2つのオブジェクトを合併しないため大きな支障はないが,地価公示をEPSG:6668(JGD2011)に変換.
#神奈川県の行政区域
Kanagawa_map <-
  read_sf("N03-20210101_14_GML/N03-21_14_210101.shp")

#神奈川県の地価
Kanagawa_lp <-
  read_sf("L01-22_14_GML/L01-22_14.shp")

#Kanagawa_lpのCRS変換
Kanagawa_lp <- Kanagawa_lp %>% 
  st_transform(crs=6668)

参考

神奈川県の地理に詳しくない人のために次の図に行政区域の地名を示す.なお,神奈川県は3つの政令指定都市(横浜市,川崎市,相模原市)と6つの群(愛甲郡,足柄上郡,足柄下郡,高座郡,中郡,三浦郡)が存在.参考に横浜市(),川崎市(),相模原市(),湘南エリア)を示す.

地価公示ポイント

黒丸が地価公示ポイント.

  • 下記の図では,神奈川県の行政区域の地図(Kanagawa_map:背景白fill="white",枠黒)の上に地価公示のポイント(調査地点)地図(Kanagawa_lp)を重ねている.
    • size:ポイントの大きさを指示.
#地価公示ポイント
ggplot()+ 
  geom_sf(data=Kanagawa_map, fill="white")+
  geom_sf(data=Kanagawa_lp, size=0.5)+
  ggtitle("神奈川県地価公示ポイント(2022年)")+
  labs(caption="出典:国土数値情報(行政区域データ,地価公示データ)")

3 地価の色付け

3.1 修正前

地価の高低を表現するためにポイント(上記の地図の黒丸)にグラディエーション効果を付ける.地価公示データには2022年度(令和4年度)の地価(公示価格)とそれ以前(昭和59(1984)年度)からの地価が記載.単位は円/㎡.ここでは2022年(正確には年度だが西暦で表す)の地価(L01_006)を利用する.

  • aes(color=L01_006/10000)でポイントを2022年の地価で埋めるように指示.ポリゴン(面)データの場合はfillを利用したが,ポイント(点)データの場合はcolor1
    • ここでは単位を万円/㎡にするためにL01_006を1万(10000)で割る.
  • scale_color_viridis_caes()colorに揃える)でポイントに埋める数値の色をmakoG)に指示  - direction=-1色付けを逆順に指示.この指示は必要に応じて対処すればよい.
#地価公示ポイントの色付け
ggplot()+ 
  geom_sf(data=Kanagawa_map, fill="white")+
  geom_sf(data=Kanagawa_lp,
          aes(color=L01_006/10000),
          size=0.9)+
  scale_color_viridis_c(option="G", direction=-1,)+ 
  geom_sf(data=Kanagawa_map, fill="NA")+
  labs(color="万円/㎡",
       caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
  ggtitle("図1:神奈川県地価(2022年)")+
  theme_bw()

注意

  • 図1では,最背面の神奈川県の行政区域の地図(背景白色,枠黒)の上に色付けされたポイント・データを重ね,さらに神奈川県の行政区域の地図(ただし背景無色,枠黒)を再度上に重ねている.最前面の行政区域はポイントによって行政区域が見えなくなることを防いでいる.

3.2 修正

3.2.1 データのソート

  • 図1は色の濃淡もはっきりせず,分かり難い.そこで,いくつか改善を行う.
  1. ポイントが近く重なり合う場合に,順番が後ろに位置るデータが上に表記される.そのため,目立たせたいポイントが隠れる場合がある.ここでは地価(L01_006)が高いポイントの色が上にくるよう順番を変更(arrange()).
Kanagawa_lp <- Kanagawa_lp %>%
  arrange(L01_006) 

3.2.2 対数変換

  1. 地価は図2に示されるように,分布の山が左に偏り,右裾が長い.

3.2.3 サブセット(データの部分集合)

  1. ポイントが多いため,地価水準が25万円/㎡以上のみ可視化する.
  • dataKanagawa_lpとせず,subset()を用いて一部分だけ抜き出す.
    • L01_006/10000>=25の条件付けで地価水準が25万円/㎡以上だけを用いる.

3.3 修正後

候補1

#神奈川県地価の可視化
ggplot()+
  geom_sf(data=Kanagawa_map, fill="white")+
  geom_sf(data=subset(Kanagawa_lp, L01_006/10000>=25),
          aes(color=L01_006/10000),
          size=0.9)+
  scale_color_viridis_c(option="G", direction=-1,
                        trans="log10")+ 
  geom_sf(data=Kanagawa_map, fill="NA")+
  labs(color="万円/㎡",
       caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
  ggtitle("図3:神奈川県地価(2022年)")+
  theme_bw()

候補2

  • 凡例のデータの分類間隔(閾値)を設定し,連続的な値を離散的に扱えるscale_color_viridis_b()を活用.
    • 図3よりわずかではあるが地価の高低が際立つ.
my_breaks <- c(50, 100, 200, 400)

#神奈川県地価の可視化
ggplot()+
  geom_sf(data=Kanagawa_map, fill="white")+
  geom_sf(data=subset(Kanagawa_lp, L01_006/10000>=25),
          aes(color=L01_006/10000),
          size=0.9)+
  scale_color_viridis_b(option="G", direction=-1,
                        trans="log10",
                        breaks=my_breaks)+ 
  geom_sf(data=Kanagawa_map, fill="NA")+
  labs(color="万円/㎡",
       caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
  ggtitle("図4:神奈川県地価(2022年)")+
  theme_bw()

4 応用

4.1 サブセットの地価の可視化

4.1.1 住宅地

土地の用途は都市計画法により用途区分(住宅地,商業地,工業地など)の制限を受けている.L01_001に「住宅地」(000)を識別するコードがあるため,これを利用し,データから住宅地だけ取り出し,住宅地の地価を可視化.

  • subset()を用いて,Kanagawa_lpから「住宅地」(L01_001=="000")のポイントだけを取り出す.
my_breaks <- c(5, 10, 20, 40)

#住宅地地価の可視化
ggplot()+ 
  geom_sf(data=Kanagawa_map, fill="white")+
  geom_sf(data=subset(Kanagawa_lp, L01_001=="000"),
          aes(color=L01_006/10000), size=0.9)+
  scale_color_viridis_b(option="G", direction=-1,
                        trans="log10",
                        breaks=my_breaks)+ 
  geom_sf(data=Kanagawa_map, fill="NA")+
  labs(color="万円/㎡",
       caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
  ggtitle("住宅地地価(2022年)")+
  theme_bw()

4.1.2 川崎市

神奈川県の行政区域データ及び地価公示データから川崎市だけを抜き出し,可視化.

  • 行政区域についてはN03_003から川崎市を識別.
  • 地価についてはL01_022に川崎市の行政区域のコード(1413114137)が示されている.
my_breaks <- c(50, 100, 200, 400)

#川崎市地価の可視化
ggplot()+
  geom_sf(data=subset(Kanagawa_map, N03_003=="川崎市"), 
          fill="white")+
  geom_sf(data=subset(Kanagawa_lp, L01_006/10000>=25 & 
                        L01_022>=14131 & L01_022<=14137),
          aes(color=L01_006/10000), size=1.4)+
  scale_color_viridis_b(option="G", direction=-1,
                        trans="log10",
                        breaks=my_breaks)+ 
  geom_sf(data=subset(Kanagawa_map, N03_003=="川崎市"),
          fill="NA")+
  labs(color="地価(万円/㎡)",
       caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
  ggtitle("川崎市地価(2022年)")+
  theme_void()

4.1.3 湘南エリア

神奈川県の行政区域データ及び地価公示データから湘南エリアを抜き出し,可視化.

  • 湘南エリアについて(アクセス日:2025-02-12)から平塚市,藤沢市,茅ヶ崎市,秦野市,伊勢原市,寒川町,大磯町,二宮町を識別.行政区域についてはN03_004を利用.
  • 地価についてはL01_023を利用.
my_breaks <- c(3, 10, 30, 100)

#湘南エリア地価の可視化
ggplot()+
  geom_sf(data=subset(Kanagawa_map, N03_004=="平塚市" |
                        N03_004=="藤沢市" |
                        N03_004=="茅ヶ崎市" |
                        N03_004=="秦野市" |
                        N03_004=="伊勢原市" |
                        N03_004=="寒川町" |
                        N03_004=="大磯町" |
                        N03_004=="二宮町"), 
          fill="white")+
  geom_sf(data=subset(Kanagawa_lp,  
                        L01_023=="平塚" |
                        L01_023=="藤沢" |
                        L01_023=="茅ケ崎" |
                        L01_023=="秦野" |
                        L01_023=="伊勢原" |
                        L01_023=="神奈川寒川" |
                        L01_023=="大磯" |
                        L01_023=="神奈川二宮"),
          aes(color=L01_006/10000), size=1.4)+
  scale_color_viridis_b(option="G", direction=-1,
                        trans="log10",
                        breaks=my_breaks)+ 
  geom_sf(data=subset(Kanagawa_map, N03_004=="平塚市" |
                        N03_004=="藤沢市" |
                        N03_004=="茅ヶ崎市" |
                        N03_004=="秦野市" |
                        N03_004=="伊勢原市" |
                        N03_004=="寒川町" |
                        N03_004=="大磯町" |
                        N03_004=="二宮町"),
          fill="NA")+
  labs(color="地価(万円/㎡)",
       caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
  ggtitle("湘南エリア地価(2022年)")+
  theme_void()

4.2 地価変化率の可視化

地価公示データには2022年度(令和4年度)の地価(公示価格)とそれ以前(昭和59(1984)年度)からの地価が記載.そこで,地価変化率を計算し,可視化.

  • 2012年~2022年(10年前から)の地価変化率を計算する.
    • 2012年の地価はL01_090
    • 2022年のポイントで2012年時点では計測されず,ポイントがなかった場合は地価が(恐らく)0になっている.0地点については,計測されなかった点を考慮して変化率は計算しないようにする.そのために,0を欠損値NAに置き換える.これにより,NA地点の地価変化率は計算できなくなる.コードは2012年の地価(na_if()関数内のL01_090)の列にある数値がもしも0ならばNAに置き換えなさいと指示.
    • 地価変化率(ここではlp_rateと表現する)は(L01_006-L01_090)/L01_090)*100Kanagawa_lpのデータに加え(mutate),新しいデータをKanagawa_lp2と名付ける.
    • 地価変化率を地図に示すとき,計算された地価変化率のポイントだけでなく,計算されなかったポイント(NA地点)も出現する.これを避けるために,地価変化率のNAをデータ(Kanagawa_lp2)から削除し,再びKanagawa_lp2と名付ける.コードは,lp_rateの列にあるNAを除いて(!)抽出(filter())するように指示.
#0から欠損値NAへの置き換え
Kanagawa_lp %>% 
  mutate(L01_090=na_if(L01_090, 0)) -> 
  Kanagawa_lp

#地価変化率の追加
Kanagawa_lp2<- 
  mutate(Kanagawa_lp,
         lp_rate=((L01_006-L01_090)/L01_090)*100)

#地価変化率の欠損値NAの列をデータから削除(NAを含まないデータ作成)
Kanagawa_lp2 %>% 
  filter(!is.na(lp_rate)) -> 
  Kanagawa_lp2
  • ggplot()で地価変化率(Kanagawa_lp2lp_rate)を可視化.
  • scale_color_gradient2()は中間値(初期値は0)より大きな値と小さな値で色を塗り分けることを可能にする関数.
    • ここでは,変化率0を白,負を青,正を赤に設定.ただし,muted()は色を落ち着かせる際に利用.muted()利用のため,scalesパッケージを呼び出す(library)
    • muted()は指示しなくても問題ない.その場合は単にlow=blueと指示.利用しない場合はscalesパッケージを呼び出す必要もない.
    • なお,変化率0の白いポイントは背景も白(再背面のKanagawa_map)のためわかりにくい.変化率0を目立たせたい場合は,背景を初期値に戻す(fill="white"を削除)か,ポイントの枠を黒くすることが考えられる.2
#muted()利用
library(scales) 

#地価変化率の可視化
ggplot()+
  geom_sf(data=Kanagawa_map, fill="white")+ 
  geom_sf(data=Kanagawa_lp2, 
          aes(color=lp_rate),
          size=0.9)+ 
  scale_color_gradient2(low=muted("blue"), 
                        mid="white", 
                        high=muted("red"))+
  geom_sf(data=Kanagawa_map, fill="NA")+ 
  labs(color="%",
       caption="出典:国土数値情報(行政区域データ,地価公示データ)")+
  ggtitle("2012年~2022年の地価変化率")+
  theme_bw()

Rによる地理空間データの可視化