Rで解析:国土数値情報のデータの読み込みに便利!!「kokudosuuchi」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

国土数値情報のデータの読み込みやデータの列名、コードリストを簡単に変換できるパッケージの紹介です。大変便利です。

国土数値情報「鉄道時系列データ」の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&#12501;&#12449;&#12452;&#12523;&#12434;&#36984;&#25246;",
                                              filetypes = '{"zip&#12501;&#12449;&#12452;&#12523;" {".zip"}}',
                                              initialfile = c("*.zip"))))

#zip&#12501;&#12449;&#12452;&#12523;&#20869;&#12398;shp&#12501;&#12449;&#12452;&#12523;&#12434;&#35501;&#12415;&#36796;&#12416;:readKSJData&#12467;&#12510;&#12531;&#12489;
#list&#24418;&#24335;&#12391;&#21508;shp&#12501;&#12449;&#12452;&#12523;&#12398;&#12487;&#12540;&#12479;&#12364;&#26684;&#32013;&#12373;&#12428;&#12414;&#12377;
GetKokudoData <- readKSJData(TestData)

#&#20869;&#23481;&#34920;&#31034;
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       &#20989;&#39208;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1880    1950     1968     EB02_1~ NA      NA      NA     
#2 2       &#20989;&#39208;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1880    1950     1968     EB02_1~ NA      NA      NA     
#3 2       &#20989;&#39208;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1880    1969     9999     EB02_1~ NA      NA      NA     
#4 2       &#20989;&#39208;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1880    1969     9999     EB02_1~ NA      NA      NA     
#5 2       &#27743;&#24046;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1913    1950     2013     EB02_1~ NA      NA      NA     
#6 2       &#28023;&#23777;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1988    1988     9999     EB02_1~ NA      NA      NA     
#7 2       &#23460;&#34349;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1892    1950     1967     EB02_1~ NA      NA      NA     
#8 2       &#23460;&#34349;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1892    1997     9999     EB02_1~ NA      NA      NA     
#9 2       &#23460;&#34349;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1892    1968     1996     EB02_1~ NA      NA      NA     
#10 2       &#23460;&#34349;&#32218;  &#21271;&#28023;&#36947;&#26053;&#23458;&#37444;~ 1892    1950     1967     EB02_1~ NA      NA      NA     
# ... with 2,584 more rows, and 2 more variables: N05_010 <chr>,
#   geometry <LINESTRING [arc_degree]>
###&#20197;&#38477;&#12487;&#12540;&#12479;&#12399;&#30465;&#30053;###

#&#35501;&#12415;&#36796;&#12435;&#12384;&#12501;&#12449;&#12452;&#12523;&#12395;&#21015;&#21517;&#20184;&#19982;&#12420;&#12467;&#12540;&#12489;&#12522;&#12473;&#12488;&#12434;&#22793;&#25563;:translateKSJData&#12467;&#12510;&#12531;&#12489;
ChangeGetKokudoData <- translateKSJData(GetKokudoData)

#&#20869;&#23481;&#34920;&#31034;
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
#&#20107;&#26989;&#32773;&#31278;&#21029;             &#20107;&#26989;&#32773;&#31278;&#21029;_code &#36335;&#32218;&#21517; &#36939;&#21942;&#20250;&#31038;    &#20379;&#29992;&#38283;&#22987;&#24180; `&#35373;&#32622;&#26399;&#38291;&#65288;&#35373;&#32622;&#38283;~
# <chr>                  <chr>           <chr>  <chr>       <chr>      <chr>             
#1 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#20989;&#39208;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1880       1950              
#2 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#20989;&#39208;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1880       1950              
#3 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#20989;&#39208;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1880       1969              
#4 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#20989;&#39208;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1880       1969              
#5 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#27743;&#24046;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1913       1950              
#6 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#28023;&#23777;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1988       1988              
#7 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#23460;&#34349;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1892       1950              
#8 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#23460;&#34349;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1892       1997              
#9 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#23460;&#34349;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1892       1968              
#10 JR&#22312;&#26469;&#32218;&#65288;&#26087;&#22269;&#37444;&#21547;&#12416;&#65289; 2               &#23460;&#34349;&#32218; &#21271;&#28023;&#36947;&#26053;&#23458;~ 1892       1950              
# ... with 2,584 more rows, and 8 more variables: &#35373;&#32622;&#26399;&#38291;&#65288;&#35373;&#32622;&#32066;&#20102;&#65289; <chr>,
#   &#38306;&#20418;ID <chr>, &#22793;&#36983;ID <chr>, &#22793;&#36983;ID_code <chr>, &#22793;&#36983;&#20633;&#32771; <chr>, &#20633;&#32771; <chr>,
#   &#38306;&#20418;&#20633;&#32771; <chr>, geometry <LINESTRING [arc_degree]>
###&#20197;&#38477;&#12487;&#12540;&#12479;&#12399;&#30465;&#30053;###

「tmmap」パッケージのプロット例

「translateKSJData」コマンドで処理した「ChangeGetKokudoData」でプロットしています。

#&#12503;&#12525;&#12483;&#12488;
tmap_mode("plot")
tm_shape(ChangeGetKokudoData$`N05-20_RailroadSection2`) +
  tm_lines(col = "&#20107;&#26989;&#32773;&#31278;&#21029;", lwd = 2, legend.show = TRUE,
           legend.col.show = TRUE)

・出力例

参考記事


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました