最終更新:2026-01-01

1 はじめに

  • 日本の市区町村地図行政境界データを使って、地図を作成し、Rで可視化する方法を説明する。

Rで利用しやすい行政境界データとしては、主に以下が挙げられる。

  1. 国土交通省国土地理院「地球地図日本」
  2. 国土交通省「国土数値情報 行政区域データ」
  3. 総務省「国勢調査」
  4. NipponMapパッケージ
  • このページでは、「地球地図日本」を使った方法を紹介する。

2 データの取得

  • ダウンロードしたZIPファイルを解凍し、シェープファイル(.shp)を取得する。
  • polbnda_jpn.shp(4.1MB)が市区町村境界データを含むシェープファイルである。

3 Rでの読み込み

  • Rでシェープファイルを読み込む。
  • 座標系(Coordinate Reference System)は、日本平面直角座標系(EPSG: 8994)である。
  • 日本測地系2011 (JGD2011) に基づく座標系である。
  • 平面上の直角座標\((X, Y)\)で位置を表現している。
  • フィーチャー数:2914個
  • 属性フィールド:9個
# 必要なパッケージの読み込み
library(sf)
# シェープファイルの読み込み
chikyu <- sf::st_read("gm-jpn-all_u_2_2/polbnda_jpn.shp")
## Reading layer `polbnda_jpn' from data source 
##   `/Users/ayumu/Documents/GitHub/research/4_GIS/MapJapan/gm-jpn-all_u_2_2/polbnda_jpn.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 2914 features and 9 fields
## Geometry type: POLYGON
## Dimension:     XY
## Bounding box:  xmin: 122.9335 ymin: 20.42274 xmax: 153.9869 ymax: 45.55733
## Geodetic CRS:  ITRF94
# 座標系の確認
st_crs(chikyu)
## Coordinate Reference System:
##   User input: ITRF94 
##   wkt:
## GEOGCRS["ITRF94",
##     DYNAMIC[
##         FRAMEEPOCH[1993]],
##     DATUM["International Terrestrial Reference Frame 1994",
##         ELLIPSOID["GRS 1980",6378137,298.257222101,
##             LENGTHUNIT["metre",1]]],
##     PRIMEM["Greenwich",0,
##         ANGLEUNIT["degree",0.0174532925199433]],
##     CS[ellipsoidal,2],
##         AXIS["geodetic latitude (Lat)",north,
##             ORDER[1],
##             ANGLEUNIT["degree",0.0174532925199433]],
##         AXIS["geodetic longitude (Lon)",east,
##             ORDER[2],
##             ANGLEUNIT["degree",0.0174532925199433]],
##     USAGE[
##         SCOPE["Geodesy."],
##         AREA["World."],
##         BBOX[-90,-180,90,180]],
##     ID["EPSG",8994]]

4 データ確認

含まれる属性フィールドは以下の通りである。

  • f_code: コード(FA001)
  • coc: 国名コード(JPN)
  • nam: 都道府県名:例)Hokkai Do
  • laa: 市区町村名:例)Sapporo Shi
  • pop: 人口
  • ypc: 人口取得年(と推測): 2014
  • adm_code: 全国地方公共団体コード:例)01100
  • salb: UNK(不明)
  • soc: 国名コード(JPN)

5 市区町村境界データの可視化

# 地図の作成
library(ggplot2)
ggplot(data = chikyu) + # 地図データの指定
  geom_sf(fill = "lightblue", color = "black") + # 塗りつぶし色と境界線の色の指定
  theme_minimal() + # ミニマルテーマの適用
  labs(title = "Global Map Japan", 
       subtitle = "Administrative Boundaries of Japan",
       caption = "Source: Geospatial Information Authority of Japan")  +
  theme(axis.text = element_blank(), # 目盛りを非表示
        axis.title = element_blank()) # 軸タイトルを非表示
TRUE

TRUE

# 保存
ggsave("fig/Global_Map_Japan.png", width = 8, height = 6, dpi = 300)