国土数値情報のデータの読み込みやデータの列名、コードリストを簡単に変換できるパッケージの紹介です。大変便利です。
国土数値情報「鉄道時系列データ」のN05-20_GML.zipを読み込んだ例で紹介します。
国土数値情報「鉄道時系列データ」:https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N05-v1_3.html
パッケージバージョンは1.0.0。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("kokudosuuchi")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("kokudosuuchi") #ダウンロードしたzipファイルを選択 library("tcltk") TestData <- paste0(as.character(tkgetOpenFile(title = "zipファイルを選択", filetypes = '{"zipファイル" {".zip"}}', initialfile = c("*.zip")))) #zipファイル内のshpファイルを読み込む:readKSJDataコマンド #list形式で各shpファイルのデータが格納されます GetKokudoData <- readKSJData(TestData) #内容表示 GetKokudoData #$`N05-20_RailroadSection2` #Simple feature collection with 2594 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 # A tibble: 2,594 x 12 #N05_001 N05_002 N05_003 N05_004 N05_005b N05_005e N05_006 N05_007 N05_008 N05_009 #<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> #1 2 函館線 北海道旅客鉄~ 1880 1950 1968 EB02_1~ NA NA NA #2 2 函館線 北海道旅客鉄~ 1880 1950 1968 EB02_1~ NA NA NA #3 2 函館線 北海道旅客鉄~ 1880 1969 9999 EB02_1~ NA NA NA #4 2 函館線 北海道旅客鉄~ 1880 1969 9999 EB02_1~ NA NA NA #5 2 江差線 北海道旅客鉄~ 1913 1950 2013 EB02_1~ NA NA NA #6 2 海峡線 北海道旅客鉄~ 1988 1988 9999 EB02_1~ NA NA NA #7 2 室蘭線 北海道旅客鉄~ 1892 1950 1967 EB02_1~ NA NA NA #8 2 室蘭線 北海道旅客鉄~ 1892 1997 9999 EB02_1~ NA NA NA #9 2 室蘭線 北海道旅客鉄~ 1892 1968 1996 EB02_1~ NA NA NA #10 2 室蘭線 北海道旅客鉄~ 1892 1950 1967 EB02_1~ NA NA NA # ... with 2,584 more rows, and 2 more variables: N05_010 <chr>, # geometry <LINESTRING [arc_degree]> ###以降データは省略### #読み込んだファイルに列名付与やコードリストを変換:translateKSJDataコマンド ChangeGetKokudoData <- translateKSJData(GetKokudoData) #内容表示 ChangeGetKokudoData #$`N05-20_RailroadSection2` #Simple feature collection with 2594 features and 13 fields #Geometry type: LINESTRING #Dimension: XY #Bounding box: xmin: 127.6523 ymin: 26.19315 xmax: 145.7539 ymax: 45.41634 #Geodetic CRS: JGD2011 # A tibble: 2,594 x 14 #事業者種別 事業者種別_code 路線名 運営会社 供用開始年 `設置期間(設置開~ # <chr> <chr> <chr> <chr> <chr> <chr> #1 JR在来線(旧国鉄含む) 2 函館線 北海道旅客~ 1880 1950 #2 JR在来線(旧国鉄含む) 2 函館線 北海道旅客~ 1880 1950 #3 JR在来線(旧国鉄含む) 2 函館線 北海道旅客~ 1880 1969 #4 JR在来線(旧国鉄含む) 2 函館線 北海道旅客~ 1880 1969 #5 JR在来線(旧国鉄含む) 2 江差線 北海道旅客~ 1913 1950 #6 JR在来線(旧国鉄含む) 2 海峡線 北海道旅客~ 1988 1988 #7 JR在来線(旧国鉄含む) 2 室蘭線 北海道旅客~ 1892 1950 #8 JR在来線(旧国鉄含む) 2 室蘭線 北海道旅客~ 1892 1997 #9 JR在来線(旧国鉄含む) 2 室蘭線 北海道旅客~ 1892 1968 #10 JR在来線(旧国鉄含む) 2 室蘭線 北海道旅客~ 1892 1950 # ... with 2,584 more rows, and 8 more variables: 設置期間(設置終了) <chr>, # 関係ID <chr>, 変遷ID <chr>, 変遷ID_code <chr>, 変遷備考 <chr>, 備考 <chr>, # 関係備考 <chr>, geometry <LINESTRING [arc_degree]> ###以降データは省略###
「tmmap」パッケージのプロット例
「translateKSJData」コマンドで処理した「ChangeGetKokudoData」でプロットしています。
#プロット tmap_mode("plot") tm_shape(ChangeGetKokudoData$`N05-20_RailroadSection2`) + tm_lines(col = "事業者種別", lwd = 2, legend.show = TRUE, legend.col.show = TRUE)
・出力例
参考記事
少しでも、あなたの解析が楽になりますように!!