最終更新:2026-01-02

1 はじめに

  • 国土数値情報「鉄道時系列データ」のしshp形式のデータをCSV形式に変換する。

2 データの概要

  • 座標参照系は、EPSG:6668 - JGD2011である。
  • 座標形式は、平面直角座標系。

駅については:

  • フィーチャー数:23,812個
  • 属性フィールド:11個

路線については:

  • フィーチャー数:2645個
  • 属性フィールド:12個

3 駅・路線データの読み込み

# 必要なパッケージの読み込み
library(sf)
# シェープファイルの読み込み
eki <- sf::st_read("N05-24_GML/UTF-8/N05-24_Station2.shp")
## Reading layer `N05-24_Station2' from data source 
##   `/Users/ayumu/Documents/GitHub/research/4_GIS/railway/N05-24_GML/UTF-8/N05-24_Station2.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 23812 features and 11 fields
## Geometry type: POINT
## Dimension:     XY
## Bounding box:  xmin: 127.6523 ymin: 26.19326 xmax: 145.7539 ymax: 45.41634
## Geodetic CRS:  JGD2011
senro <- sf::st_read("N05-24_GML/UTF-8/N05-24_RailroadSection2.shp")
## Reading layer `N05-24_RailroadSection2' from data source 
##   `/Users/ayumu/Documents/GitHub/research/4_GIS/railway/N05-24_GML/UTF-8/N05-24_RailroadSection2.shp' 
##   using driver `ESRI Shapefile'
## Simple feature collection with 2645 features and 11 fields
## Geometry type: LINESTRING
## Dimension:     XY
## Bounding box:  xmin: 127.6523 ymin: 26.19315 xmax: 145.7539 ymax: 45.41634
## Geodetic CRS:  JGD2011
# CRSの確認
sf::st_crs(eki)
## Coordinate Reference System:
##   User input: JGD2011 
##   wkt:
## GEOGCRS["JGD2011",
##     DATUM["Japanese Geodetic Datum 2011",
##         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["Horizontal component of 3D system."],
##         AREA["Japan - onshore and offshore."],
##         BBOX[17.09,122.38,46.05,157.65]],
##     ID["EPSG",6668]]
sf::st_crs(senro)
## Coordinate Reference System:
##   User input: JGD2011 
##   wkt:
## GEOGCRS["JGD2011",
##     DATUM["Japanese Geodetic Datum 2011",
##         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["Horizontal component of 3D system."],
##         AREA["Japan - onshore and offshore."],
##         BBOX[17.09,122.38,46.05,157.65]],
##     ID["EPSG",6668]]

4 緯度・経度の追加

# 駅データに緯度・経度を追加

eki$lon <- sf::st_coordinates(
           sf::st_transform(eki$geometry, crs = 6668))[, 1]
eki$lat <- sf::st_coordinates(
           sf::st_transform(eki$geometry, crs = 6668))[, 2]

5 データをCSV形式で保存

rio::export(eki, "Data_output/eki.xlsx")
rio::export(eki, "Data_output/eki.csv")
rio::export(senro, "Data_output/senro.xlsx")
rio::export(senro, "Data_output/senro.csv")