目的

公的土地価格は「地価公示」と「都道府県地価調査」に基づき毎年公表される.

  • 地価公示」(国土交通省土地鑑定委員会)は1月1日時点の地価を3月に,「都道府県地価調査」(都道府県知事)は7月1日時点の地価を9月に公表.1

    • 「公示価格」(公示地価)は原則として都市計画区域内(主に市街化区域)の土地だけを調査対象とするが,「調査価格」(基準地価)は都市計画区域外(市街化調整区域の調査地点も増える)の土地も含まれる.
    • したがって,都市全体(広域)の地価分布を知りたい場合は「調査価格」が適している場合もある.そこで,「調査価格」を可視化.
  • 佐賀市(グレー枠)の市街化区域(青枠)と市街化調整区域(緑枠)は以下の通り.2

ライブラリ:sftidyverserayshader

library(sf)
library(tidyverse)

#3Dマップ作成のため
library(rayshader)

調査価格の可視化

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

  • 国土数値情報ダウンロードサービス > 行政区域(ポリゴン) > 佐賀県 > 世界測地系 令和4年

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

  • 国土数値情報ダウンロードサービス > 都道府県地価調査(ポイント) > 佐賀県 > 「佐賀県」データのダウンロード > 世界測地系 令和3年

    • ダウンロードしたZIPファイルは同じフォルダ(ディレクトリ)に納め,ZIPファイルを選択 > 右クリック > すべて展開 > 展開先の選択とファイルの選択 > 展開を実行する.展開後は最初にダウンロードしたZIPファイルを削除.
    • シェープファイルの読込(read_sf()):行政区域をSaga_map,公示価格をSaga_lp1,調査価格をSaga_lp2と名付ける.
      • それぞれのファイルから佐賀市を抜き出す(filter()).
      • 地価は見易いように順番変更(arrange()
      • (背景に福岡県(世界測地系 令和4年)も使用するため,ダウンロード.)
#行政区域(佐賀県)
Saga_map <-
  read_sf("N03-20220101_41_GML/N03-22_41_220101.shp")

#佐賀市選別
Saga_map %>%
  filter(N03_004=="佐賀市") -> 
  Saga_shi_map 

#行政区域(福岡県)背景に使うため
Fukuoka_map <-
  read_sf("N03-20220101_40_GML/N03-22_40_220101.shp")

#公示価格
Saga_lp1 <-
  read_sf('L01-22_41_GML/L01-22_41.shp')

#佐賀市選別
Saga_lp1 %>%
  filter(L01_022=="41201") -> 
  Saga_shi_lp1 

#公示価格の順番変更
Saga_shi_lp1 %>%
  arrange(L01_006) -> 
  Saga_shi_lp1

#調査価格
Saga_lp2 <-
  read_sf("L02-21_41_GML/L02_21_41.shp")

#佐賀市選別
Saga_lp2 %>%
  filter(L02_020=="41201") -> 
  Saga_shi_lp2

#調査価格の順番変更
Saga_shi_lp2 %>%
  arrange(L02_006) -> 
  Saga_shi_lp2

続いて,都市計画区の内外を区別するため都市地域(ポリゴン)をダウンロード.

  • 国土数値情報ダウンロードサービス > 都市地域(ポリゴン) > 佐賀県 > 世界測地系 平成30年

    • 佐賀市のシェープファイルの読込.Saga_shi_upaと名付ける.
      • 都市地域区分コード(layer_no)を用いて市街化区域(1)を抜き出す.Saga_shi_uaと名付ける.
      • 同様にして,市街化調整区域(2)を抜き出す.Saga_shi_ucaと名付ける.
Saga_shi_upa <-
  read_sf("A09-18_41_GML/A09-18_41_GML/shp_file/41201_佐賀市.shp")

Saga_shi_upa %>%
  filter(layer_no==1) ->
  Saga_shi_ua

Saga_shi_upa %>%
  filter(layer_no==2) ->
  Saga_shi_uca

鉄道

佐賀市の地図上に鉄道(ライン)を示すため,シェープファイルをダウンロード.

  • 国土数値情報ダウンロードサービス > 鉄道(ライン) > 全国 > 世界測地系 > 令和2年 
    • railway20と名付ける.
#2020年の鉄道路線図
railway20 <-
  read_sf("N02-20_GML/N02-20_GML/N02-20_RailroadSection.shp")

完成図

2枚の地図を並べ,比べる.

  • 公示価格の地図をfig1,調査価格の地図をfig2と名付ける.
    • theme(legend.position="bottom")で凡例を地図の下に配置.
    • patchwork:図を並べるためのパッケージ.
    • plot_layout(ncol=2)で地図を横に2枚並べる.
  • 青枠(枠内)が都市計画区域内の市街化区域を,緑枠(枠内)が市都市計画区域内の市街化調整区域を,それ以外(枠黒,枠内白)が都市計画区域外を示す.
    • ポイント数は公示価格が40ポイント,調査価格が51ポイント.
    • 公示価格のポイントは都市計画区域内のみ.
    • 調査価格の地図は公示価格の地図に比べて,市街化調整区域や都市計画区域外のポイント多い.
  • 鉄道はlinewidth=0.2,線の形状は破線linetype="dashed"を指示.
#公示価格
fig1 <-
  ggplot()+
  geom_sf(data=Fukuoka_map)+
  geom_sf(data=Saga_map)+
  geom_sf(data=Saga_shi_map, fill="white",
          linewidth=0.6)+
  geom_sf(data=Saga_shi_uca, fill=NA, 
          color="darkgreen", linewidth=0.6)+
  geom_sf(data=Saga_shi_ua, fill=NA, 
          color="blue", linewidth=0.6)+
  geom_sf(data=Saga_shi_lp1, aes(color=L01_006/10000))+
  scale_color_viridis_c(option="G", direction=-1)+
  geom_sf(data=railway20, linewidth=0.2, 
          linetype="dashed")+
  labs(color="万円/㎡",
       caption="出典:国土交通省国土数値情報")+
  ggtitle("公示価格(2022年)")+
  coord_sf(xlim= c(130.13, 130.38), ylim=c(33.13, 33.48))+
  theme_bw()+
  theme(legend.position="bottom")

#調査価格
fig2 <-
  ggplot()+
  geom_sf(data=Fukuoka_map)+
  geom_sf(data=Saga_map)+
  geom_sf(data=Saga_shi_map, fill="white", 
          linewidth=0.6)+
  geom_sf(data=Saga_shi_uca, fill=NA, 
          color="darkgreen", linewidth=0.6)+
  geom_sf(data=Saga_shi_ua, fill=NA, 
          color="blue", linewidth=0.6)+
  geom_sf(data=Saga_shi_lp2, aes(color=L02_006/10000))+
  scale_color_viridis_c(option="G", direction=-1)+
  geom_sf(data=railway20, linewidth=0.2, 
          linetype="dashed")+
  labs(color="万円/㎡",
       caption="出典:国土交通省国土数値情報")+
  ggtitle("調査価格(2021年)")+
  coord_sf(xlim= c(130.13, 130.38), ylim=c(33.13, 33.48))+
  theme_bw()+
  theme(legend.position="bottom")

#図を並べるため
library(patchwork)

#可視化
fig1+fig2+
  plot_layout(ncol=2)

応用

3Dマップ

作成した地図を立体化してみる.地図の立体化の詳細は3Dマップによる地価の可視化参照.

Saga_shi_lp1 %>%
  mutate(x=st_coordinates(geometry)[,1],
         y=st_coordinates(geometry)[,2]) ->
  Saga_shi_lp1

Saga_shi_lp2 %>%
  mutate(x=st_coordinates(geometry)[,1],
         y=st_coordinates(geometry)[,2]) ->
  Saga_shi_lp2

公示地価の可視化

ggplot()で地図を作成し,名前を付ける(map1).

  • plot_gg()ggplot()で作成した地図を立体(3D)化.
    • オプションは大きさ,角度,ズーム調査など多岐にわたる.最低限必要なのが,ggplot()で作成した地図(map6),横幅(width,初期値は3),縦幅(height,初期値は3)の3つ.
      • shadow_intensity:影の強さを調整.1は影無し.0に向かうほど影が濃くなる.
      • map2を利用しないと,佐賀市の行政区域データの端部分も立体化.
  • render_snapshot()で3Dマップを可視化.R Markdownに対応
#公示価格の地図
map1 <-
  ggplot()+
  geom_sf(data=Saga_shi_map, fill="white")+
  geom_sf(data=Saga_shi_uca, fill=NA, 
          color="darkgreen")+
  geom_sf(data=Saga_shi_ua, fill=NA, 
          color="blue")+
  geom_point(data=Saga_shi_lp1, 
          aes(x=x, y=y, color=L01_006/10000))+
  scale_color_viridis_c(option="G", direction=-1)+
  labs(color="万円/㎡", x="", y="")+
  ggtitle("公示価格(2022年)")+
  theme_void()+
  theme(
    plot.background=element_rect(fill="white", 
                                 color=NA))

map2 <-
  ggplot()+
  geom_sf(data=Saga_shi_map,
          alpha=0, color=NA, fill=NA)+
  geom_sf(data=Saga_shi_uca, alpha=0, 
          color=NA, fill=NA)+
  geom_sf(data=Saga_shi_ua, alpha=0, 
          color=NA, fill=NA)+
  geom_point(data=Saga_shi_lp1, 
          aes(x=x, y=y, color=L01_006/10000))+
  scale_color_viridis_c(option="G", direction=-1)+
  labs(color="万円/㎡", x="", y="")+
  ggtitle("公示価格(2022年)")+
  theme_void()+
  theme(
    plot.background=element_rect(fill="white", 
                                 color=NA))

#3D準備  
plot_gg(list(map1, map2), 
        width=4,
        height=4,
        shadow_intensity=1,
        offset_edges=TRUE,
        soliddepth=0,
        windowsize=c(1400,900),
        zoom=0.6, phi=30, theta=30)

#可視化
render_snapshot()

調査価格の可視化

同様にして,調査価格も立体化.

#調査価格の地図
map3 <-
  ggplot()+
  geom_sf(data=Saga_shi_map, fill="white")+
  geom_sf(data=Saga_shi_uca, fill=NA, 
          color="darkgreen")+
  geom_sf(data=Saga_shi_ua, fill=NA, 
          color="blue")+
  geom_point(data=Saga_shi_lp2, 
             aes(x=x, y=y, color=L02_006/10000))+
  scale_color_viridis_c(option="G", direction=-1)+
  labs(color="万円/㎡", x="", y="")+
  ggtitle("調査価格(2021年)")+
  theme_void()+
  theme(
    plot.background=element_rect(fill="white", 
                                 color=NA))

map4 <-
  ggplot()+
  geom_sf(data=Saga_shi_map,
          alpha=0, color=NA, fill=NA)+
  geom_sf(data=Saga_shi_uca, alpha=0, 
          color=NA, fill=NA)+
  geom_sf(data=Saga_shi_ua, alpha=0, 
          color=NA, fill=NA)+
  geom_point(data=Saga_shi_lp2, 
             aes(x=x, y=y, color=L02_006/10000))+
  scale_color_viridis_c(option="G", direction=-1)+
  labs(color="万円/㎡", x="", y="")+
  ggtitle("調査価格(2021年)")+
  theme_void()+
  theme(
    plot.background=element_rect(fill="white", 
                                 color=NA))

#3D準備
plot_gg(list(map3, map4), 
        width=4,
        height=4,
        shadow_intensity=1,
        offset_edges=TRUE,
        soliddepth=0,
        windowsize=c(1400,900),
        zoom=0.6, phi=30, theta=30)

#可視化
render_snapshot()

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


  1. その他に相続税を計算する際に利用される「相続税路線価」や固定資産税を計算する際に利用される「固定資産税評価額」がある.どちらも地価公示を用いて計算される.↩︎

  2. この図はmapview()を用いている.mapview()を用いた地理空間データの可視化についてはインタラクティブな地図によるデータの可視化参照.↩︎