GithubHelp home page GithubHelp logo

kokudosuuchiutils's Introduction

kokudosuuchiUtils

Travis-CI Build Status

Installation

# install.packages("devtools")
devtools::install_github("yutannihilation/kokudosuuchiUtils")

Procedures

Update the list of data description URLs

See Fetch description URLs

Parse all data description HTMLs

See Parse all data description HTMLs

Update the list of codes from shape_property_table.xls

See Fetch shape_property_table.xls

Merge HTML data and Excel data

See Merge HTML Data And Excel Data

Update the list of code description URLs

KSJCodesDescriptionURL <- extract_all_codelist_urls()
devtools::use_data(KSJCodesDescriptionURL, overwrite = TRUE)
file.copy("data/KSJCodesDescriptionURL.rda", "/path/to/kokudosuuchi/data/", overwrite = TRUE)

kokudosuuchiutils's People

Contributors

yutannihilation avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

kokudosuuchiutils's Issues

Codelist metadata

extract_all_codelist_urls() %>%
  dplyr::filter(!stringr::str_detect(text, "コードリスト")) %>%
  dplyr::glimpse()
#> Observations: 15
#> Variables: 4
#> $ source <chr> "39", "39", "45", "49", "52", "53", "54", "59", "60", "62", "99", "99", "99", "104", "104"
#> $ text   <chr> "不燃領域率定義コード", "防災再開発促進地区指定コード", "・JPGISに準拠した符号化(GML形式)。詳細は製品仕様書\n内の符号化規則を参照してください。・SHAPE形式。(属性名はこちらのリス...
#> $ url    <chr> "http://nlftp.mlit.go.jp/ksj/gml/codelist/CodeNoncombustibleCd.html", "http://nlftp.mlit.go.jp/ksj/gml...
#> $ name   <chr> "不燃領域率定義コード", "防災再開発促進地区指定コード", "こちらのリスト", "参照資料コード", "土地利用種別", "土地利用種別", "土地利用種別", "こちら", "こちら", "こちら...

Excel data is wrong

This seems to belong to one category:

image

But, when I unmerge the cell, its true form appears...:

image

Ambiguous codes

KSJMetadata_code %>%
  distinct(identifier, name, code) %>%
  group_by(code) %>%
  add_count() %>%
  ungroup() %>%
  filter(n > 1) %>%
  arrange(code) %>%
  knitr::kable() %>%
  clipr::write_clip()
identifier name code n
A10 支庁区分コード A10_002 2
A10 振興局コード A10_002 2
A10 自然公園地域区分コード A10_003 2
A10 自然公園区分コード A10_003 2
A15 指定機関:指定機関コード A15_003 2
A15 指定機関コード A15_003 2
A15 保護区分:保護区分コード A15_004 2
A15 保護区分コード A15_004 2
A17 行政コード A17_002 2
A17 行政区域コード A17_002 2
A17 支庁名 A17_004 2
A17 支庁・振興局名 A17_004 2
A17 郡・政令市名 A17_005 2
A17 郡・政令都市名 A17_005 2
A17 過疎区分コード A17_007 2
A17 原典市区町村名 A17_007 2
A17 指定日 A17_008 2
A17 旧市町村名 A17_008 2
A17 指定事由コード A17_009 2
A17 過疎区分コード A17_009 2
A18 行政コード A18_002 2
A18 行政区域コード A18_002 2
A18 支庁名 A18_004 2
A18 支庁・振興局名 A18_004 2
A18 郡・政令市名 A18_005 2
A18 郡・政令都市名 A18_005 2
A18 指定地域名 A18_007 2
A18 原典市区町村名 A18_007 2
A18 指定日 A18_008 2
A18 旧市町村名 A18_008 2
A23 行政コード A23_002 2
A23 行政区域コード A23_002 2
A23 支庁名 A23_004 2
A23 支庁・振興局名 A23_004 2
A23 郡・政令市名 A23_005 2
A23 郡・政令都市名 A23_005 2
A23 特殊土壌区分コード A23_007 2
A23 原典市区町村名 A23_007 2
A23 指定日 A23_008 2
A23 旧市町村名 A23_008 2
C28 供用中・建設中の区別 C28_004 2
C28 供用中・建設中の区分 C28_004 2
C28 滑走路延長 C28_012 2
C28 滑走路_滑走路延長 C28_012 2
C28 滑走路幅 C28_013 2
C28 滑走路_滑走路幅 C28_013 2
C28 1日あたりの着陸回数 C28_015 2
C28 1日あたりの着陸回数 C28_015 2
C28 1日あたりの乗降客数 C28_016 2
C28 1日あたりの乗降客数 C28_016 2
L01 標準地行政コード L01_017 2
L01 標準地行政区域コード L01_017 2
L01 形状 L01_027 2
L01 駅名 L01_027 2
L01 間口比率 L01_028 2
L01 駅からの距離 L01_028 2
L01 奥行比率 L01_029 2
L01 法規制 L01_029 2
L01 地上階層 L01_030 2
L01 建ぺい率 L01_030 2
L01 地下階層 L01_031 2
L01 容積率 L01_031 2
L02 駅名 L02_027 2
L02 形状区分 L02_027 2
L02 駅からの距離 L02_028 2
L02 間口比率 L02_028 2
L02 法規制 L02_029 2
L02 奥行比率 L02_029 2
L02 建ぺい率 L02_030 2
L02 地上階層 L02_030 2
L02 容積率 L02_031 2
L02 地下階層 L02_031 2
N03 支庁・振興局名 N03_002 2
N03 支庁名 N03_002 2
N03 郡・政令都市名 N03_003 2
N03 郡政令都市 N03_003 2
N04 幅員11.0m以上_道路密度_左 N04_002 3
N04 3次メッシュ面積 N04_002 3
N04 3次メッシュの実面積 N04_002 3
N04 幅員11.0m以上_道路密度_上 N04_003 3
N04 幅員13.0m(11.0m)以上_道路密度_左 N04_003 3
N04 幅員25.0m以上 道路密度_左 N04_003 3
N04 幅員11.0m以上_道路密度_右 N04_004 3
N04 幅員13.0m(11.0m)以上_道路密度_上 N04_004 3
N04 幅員25.0m以上 道路密度_上 N04_004 3
N04 幅員11.0m以上_道路密度_下 N04_005 3
N04 幅員13.0m(11.0m)以上_道路密度上_右 N04_005 3
N04 幅員25.0m以上 道路密度_右 N04_005 3
N04 幅員11.0m以上_道路延長_道路延長 N04_006 3
N04 幅員13.0m(11.0m)以上_道路密度_下 N04_006 3
N04 幅員25.0m以上 道路密度_下 N04_006 3
N04 幅員11.0m以上_道路延長_上限値 N04_007 3
N04 幅員13.0m(11.0m)以上_道路延長_実延長 N04_007 3
N04 幅員25.0m以上 道路延長_実延長 N04_007 3
N04 幅員11.0m以上_道路延長_下限値 N04_008 3
N04 幅員13.0m(11.0m)以上_道路延長_1k㎡当り N04_008 3
N04 幅員25.0m以上 道路延長_1k㎡当り N04_008 3
N04 幅員5.5~11.0m以上_道路密度_左 N04_009 3
N04 幅員5.5m以上13.0m(11.0m)未満_道路密度_左 N04_009 3
N04 幅員19.5m以上25.0m未満 道路密度_左 N04_009 3
N04 幅員5.5~11.0m以上_道路密度_上 N04_010 3
N04 幅員5.5m以上13.0m(11.0m)未満_道路密度_上 N04_010 3
N04 幅員19.5m以上25.0m未満 道路密度_上 N04_010 3
N04 幅員5.5~11.0m以上_道路密度_右 N04_011 3
N04 幅員5.5m以上13.0m(11.0m)未満_道路密度上_右 N04_011 3
N04 幅員19.5m以上25.0m未満 道路密度_右 N04_011 3
N04 幅員5.5~11.0m以上_道路密度_下 N04_012 3
N04 幅員5.5m以上13.0m(11.0m)未満_道路密度_下 N04_012 3
N04 幅員19.5m以上25.0m未満 道路密度_下 N04_012 3
N04 幅員5.5~11.0m以上_道路延長_道路延長 N04_013 3
N04 幅員5.5m以上13.0m(11.0m)未満_道路延長_実延長 N04_013 3
N04 幅員19.5m以上25.0m未満 道路延長_実延長 N04_013 3
N04 幅員5.5~11.0m以上_道路延長_上限値 N04_014 3
N04 幅員5.5m以上13.0m(11.0m)未満_道路延長_1k㎡当り N04_014 3
N04 幅員19.5m以上25.0m未満 道路延長_1k㎡当り N04_014 3
N04 幅員5.5~11.0m以上_道路延長_下限値 N04_015 3
N04 幅員3.0m(2.5m)以上5.5m未満_道路密度_左 N04_015 3
N04 幅員13.0m(11.0m)以上19.5m未満 道路密度_左 N04_015 3
N04 幅員2.5~5.5m以上_道路密度_左 N04_016 3
N04 幅員3.0m(2.5m)以上5.5m未満_道路密度_上 N04_016 3
N04 幅員13.0m(11.0m)以上19.5m未満 道路密度_上 N04_016 3
N04 幅員2.5~5.5m以上_道路密度_上 N04_017 3
N04 幅員3.0m(2.5m)以上5.5m未満_道路密度上_右 N04_017 3
N04 幅員13.0m(11.0m)以上19.5m未満 道路密度_右 N04_017 3
N04 幅員2.5~5.5m以上_道路密度_右 N04_018 3
N04 幅員3.0m(2.5m)以上5.5m未満_道路密度_下 N04_018 3
N04 幅員13.0m(11.0m)以上19.5m未満 道路密度_下 N04_018 3
N04 幅員2.5~5.5m以上_道路密度_下 N04_019 3
N04 幅員3.0m(2.5m)以上5.5m未満_道路延長_実延長 N04_019 3
N04 幅員13.0m(11.0m)以上19.5m未満 道路延長_実延長 N04_019 3
N04 幅員2.5~5.5m以上_道路延長_道路延長 N04_020 3
N04 幅員3.0m(2.5m)以上5.5m未満_道路延長_1k㎡当り N04_020 3
N04 幅員13.0m(11.0m)以上19.5m未満 道路延長_1k㎡当り N04_020 3
N04 幅員2.5~5.5m以上_道路延長_上限値 N04_021 3
N04 幅員3.0m(2.5m)未満_道路密度_左 N04_021 3
N04 幅員13.0m(11.0m)以上で幅員不明 道路密度_左 N04_021 3
N04 幅員2.5~5.5m以上_道路延長_下限値 N04_022 3
N04 幅員3.0m(2.5m)未満_道路密度_上 N04_022 3
N04 幅員13.0m(11.0m)以上で幅員不明 道路密度_上 N04_022 3
N04 幅員1.5~2.5m以上_道路密度_左 N04_023 3
N04 幅員3.0m(2.5m)未満_道路密度上_右 N04_023 3
N04 幅員13.0m(11.0m)以上で幅員不明 道路密度_右 N04_023 3
N04 幅員1.5~2.5m以上_道路密度_上 N04_024 3
N04 幅員3.0m(2.5m)未満_道路密度_下 N04_024 3
N04 幅員13.0m(11.0m)以上で幅員不明 道路密度_下 N04_024 3
N04 幅員1.5~2.5m以上_道路密度_右 N04_025 3
N04 幅員3.0m(2.5m)未満_道路延長_実延長 N04_025 3
N04 幅員13.0m(11.0m)以上で幅員不明 道路延長_実延長 N04_025 3
N04 幅員1.5~2.5m以上_道路密度_下 N04_026 3
N04 幅員3.0m(2.5m)未満_道路延長_1k㎡当り N04_026 3
N04 幅員13.0m(11.0m)以上で幅員不明 道路延長_1k㎡当り N04_026 3
N04 幅員1.5~2.5m以上_道路延長_道路延長 N04_027 3
N04 幅員(未調査)_道路密度_左 N04_027 3
N04 幅員5.5m以上13.0m(11.0m)未満 道路密度_左 N04_027 3
N04 幅員1.5~2.5m以上_道路延長_上限値 N04_028 3
N04 幅員(未調査)_道路密度_上 N04_028 3
N04 幅員5.5m以上13.0m(11.0m)未満 道路密度_上 N04_028 3
N04 幅員1.5~2.5m以上_道路延長_下限値 N04_029 3
N04 幅員(未調査)_道路密度上_右 N04_029 3
N04 幅員5.5m以上13.0m(11.0m)未満 道路密度_右 N04_029 3
N04 幅員1.5m未満_道路密度_左 N04_030 3
N04 幅員(未調査)_道路密度_下 N04_030 3
N04 幅員5.5m以上13.0m(11.0m)未満 道路密度_下 N04_030 3
N04 幅員1.5m未満_道路密度_上 N04_031 3
N04 幅員(未調査)_道路延長_実延長 N04_031 3
N04 幅員5.5m以上13.0m(11.0m)未満 道路延長_実延長 N04_031 3
N04 幅員1.5m未満_道路密度_右 N04_032 3
N04 幅員(未調査)_道路延長_1k㎡当り N04_032 3
N04 幅員5.5m以上13.0m(11.0m)未満 道路延長_1k㎡当り N04_032 3
N04 幅員1.5m未満_道路密度_下 N04_033 3
N04 幅員合計_道路密度_左 N04_033 3
N04 幅員3.0m(2.5m)以上5.5m未満 道路密度_左 N04_033 3
N04 幅員1.5m未満_道路延長_道路延長 N04_034 3
N04 幅員合計_道路密度_上 N04_034 3
N04 幅員3.0m(2.5m)以上5.5m未満 道路密度_上 N04_034 3
N04 幅員1.5m未満_道路延長_上限値 N04_035 3
N04 幅員合計_道路密度上_右 N04_035 3
N04 幅員3.0m(2.5m)以上5.5m未満 道路密度_右 N04_035 3
N04 幅員1.5m未満_道路延長_下限値 N04_036 3
N04 幅員合計_道路密度_下 N04_036 3
N04 幅員3.0m(2.5m)以上5.5m未満 道路密度_下 N04_036 3
N04 合計_道路密度_左 N04_037 3
N04 幅員合計_道路延長_実延長 N04_037 3
N04 幅員3.0m(2.5m)以上5.5m未満 道路延長_実延長 N04_037 3
N04 合計_道路密度_上 N04_038 3
N04 幅員合計_道路延長_1k㎡当り N04_038 3
N04 幅員3.0m(2.5m)以上5.5m未満 道路延長_1k㎡当り N04_038 3
N04 合計_道路密度_右 N04_039 3
N04 平面直角座標系(19系区分) N04_039 3
N04 幅員3.0m(2.5m)未満 道路密度_左 N04_039 3
N04 合計_道路密度_下 N04_040 2
N04 幅員3.0m(2.5m)未満 道路密度_上 N04_040 2
N04 合計_道路延長_道路延長 N04_041 2
N04 幅員3.0m(2.5m)未満 道路密度_右 N04_041 2
N04 合計_道路延長_上限値 N04_042 2
N04 幅員3.0m(2.5m)未満 道路密度_下 N04_042 2
N04 合計_道路延長_下限値 N04_043 2
N04 幅員3.0m(2.5m)未満 道路延長_実延長 N04_043 2
P02 台帳番号 P02_002 2
P02 公共施設大分類 P02_002 2
P02 種別 P02_003 2
P02 公共施設小分類 P02_003 2
P02 分室等 P02_004 2
P02 名称 P02_004 2
P02 種別(漢字) P02_005 2
P02 所在地 P02_005 2
P02 名称(漢字) P02_006 2
P02 管理者コード P02_006 2
P02 管理者コード_行政区域コード P02_007 2
P02 原典資料名 P02_007 2
P04 診療科目1 P04_004 2
P04 診療科目1 P04_004 2
P04 診療科目2 P04_005 2
P04 診療科目2 P04_005 2
P04 診療科目3 P04_006 2
P04 診療科目3 P04_006 2
S05-a 徒歩-出勤トリップ数 S05a_029 2
S05-a 自転車-出勤トリップ数 S05a_029 2
S05-a 徒歩-登校トリップ数 S05a_030 2
S05-a 自転車-登校トリップ数 S05a_030 2
S05-a 徒歩-自由トリップ数 S05a_031 2
S05-a 自転車-自由トリップ数 S05a_031 2
S05-a 徒歩-業務トリップ数 S05a_032 2
S05-a 自転車-業務トリップ数 S05a_032 2
S05-a 徒歩-帰宅トリップ数 S05a_033 2
S05-a 自転車-帰宅トリップ数 S05a_033 2
S05-a 徒歩-合計トリップ数 S05a_034 2
S05-a 自転車-合計トリップ数 S05a_034 2
S05-a 全トリップ数 S05a_035 2
S05-a 徒歩-出勤トリップ数 S05a_035 2
S05-a 調査年度 S05b_002 2
S05-b 調査年度 S05b_002 2
S05-a 発ゾーンコード S05b_003 2
S05-b 発ゾーンコード S05b_003 2
S05-a 着ゾーンコード S05b_004 2
S05-b 着ゾーンコード S05b_004 2
S05-a 鉄道-出勤トリップ数 S05b_005 2
S05-b 鉄道-出勤トリップ数 S05b_005 2
S05-a 鉄道-登校トリップ数 S05b_006 2
S05-b 鉄道-登校トリップ数 S05b_006 2
S05-a 鉄道-自由トリップ数 S05b_007 2
S05-b 鉄道-自由トリップ数 S05b_007 2
S05-a 鉄道-業務トリップ数 S05b_008 2
S05-b 鉄道-業務トリップ数 S05b_008 2
S05-a 鉄道-帰宅トリップ数 S05b_009 2
S05-b 鉄道-帰宅トリップ数 S05b_009 2
S05-a 鉄道-合計トリップ数 S05b_010 2
S05-b 鉄道-合計トリップ数 S05b_010 2
S05-a バス-出勤トリップ数 S05b_011 2
S05-b バス-出勤トリップ数 S05b_011 2
S05-a バス-登校トリップ数 S05b_012 2
S05-b バス-登校トリップ数 S05b_012 2
S05-a バス-自由トリップ数 S05b_013 2
S05-b バス-自由トリップ数 S05b_013 2
S05-a バス-業務トリップ数 S05b_014 2
S05-b バス-業務トリップ数 S05b_014 2
S05-a バス-帰宅トリップ数 S05b_015 2
S05-b バス-帰宅トリップ数 S05b_015 2
S05-a バス-合計トリップ数 S05b_016 2
S05-b バス-合計トリップ数 S05b_016 2
S05-a 自動車-出勤トリップ数 S05b_017 2
S05-b 自動車-出勤トリップ数 S05b_017 2
S05-a 自動車-登校トリップ数 S05b_018 2
S05-b 自動車-登校トリップ数 S05b_018 2
S05-a 自動車-自由トリップ数 S05b_019 2
S05-b 自動車-自由トリップ数 S05b_019 2
S05-a 自動車-業務トリップ数 S05b_020 2
S05-b 自動車-業務トリップ数 S05b_020 2
S05-a 自動車-帰宅トリップ数 S05b_021 2
S05-b 自動車-帰宅トリップ数 S05b_021 2
S05-a 自動車-合計トリップ数 S05b_022 2
S05-b 自動車-合計トリップ数 S05b_022 2
S05-a 二輪-出勤トリップ数 S05b_023 2
S05-b 二輪-出勤トリップ数 S05b_023 2
S05-a 二輪-登校トリップ数 S05b_024 2
S05-b 二輪-登校トリップ数 S05b_024 2
S05-a 二輪-自由トリップ数 S05b_025 2
S05-b 二輪-自由トリップ数 S05b_025 2
S05-a 二輪-業務トリップ数 S05b_026 2
S05-b 二輪-業務トリップ数 S05b_026 2
S05-a 二輪-帰宅トリップ数 S05b_027 2
S05-b 二輪-帰宅トリップ数 S05b_027 2
S05-a 二輪-合計トリップ数 S05b_028 2
S05-b 二輪-合計トリップ数 S05b_028 2
S05-a 自転車-出勤トリップ数 S05b_029 2
S05-b 徒歩-出勤トリップ数 S05b_029 2
S05-a 自転車-登校トリップ数 S05b_030 2
S05-b 徒歩-登校トリップ数 S05b_030 2
S05-a 自転車-自由トリップ数 S05b_031 2
S05-b 徒歩-自由トリップ数 S05b_031 2
S05-a 自転車-業務トリップ数 S05b_032 2
S05-b 徒歩-業務トリップ数 S05b_032 2
S05-a 自転車-帰宅トリップ数 S05b_033 2
S05-b 徒歩-帰宅トリップ数 S05b_033 2
S05-a 自転車-合計トリップ数 S05b_034 2
S05-b 徒歩-合計トリップ数 S05b_034 2
S05-a 徒歩-出勤トリップ数 S05b_035 2
S05-b 全トリップ数 S05b_035 2
S05-d 自動車_金属・工業品トン数 S05d_037 2
S05-d 自動車_金属・機械工業品トン数 S05d_037 2
W01 ダム規模(堤高) W01_007 2
W01 ダム規模(堤高) W01_007 2
W01 竣工年 W01_012 2
W01 竣工年(西暦) W01_012 2
W09 行政区域 W09_002 2
W09 行政区域コード W09_002 2

duplicated metadata in KSJMetadata_code

A22_500001

KSJMetadata_code[KSJMetadata_code$identifier == "A22-m", ][31:32, ]
#> # A tibble: 2 x 7
#>                                                         source identifier           name item_id   tag       code
#>                                                          <chr>      <chr>          <chr>   <int> <chr>      <chr>
#> 1 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-A22-m.html      A22-m 位置特定レベル      NA  <NA> A22_500001
#> 2 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-A22-m.html      A22-m 位置特定レベル      NA  <NA> A22_500001
#> # ... with 1 more variables: correspondence_table <chr>

Enum

Enum type ("列挙型") is written in one of the following formats:

  1. 列挙型 (only we can do for this is to ignore)
  2. 列挙型(type1、type2、type3) (implicitly numbered by sequence of numbers)
  3. 列挙型(type1=1、type2=2、type3=3)
  4. 列挙型(1:type1, 2:type2、3:type3)
  5. multiple version of 4.
d %>%
  filter(stringr::str_detect(.data$type, "列挙型")) %>%
  select(identifier, code, type) %>%
  knitr::kable()
identifier code type
A03 NA 列挙型(陸地、湖沼、湖沼内の島、海上)
A30a5 A30a5_004 列挙型
A30b A30b_002 列挙型
A30b A30b_013 列挙型
A30b A30b_016 列挙型
A30b A30b_017 列挙型
A30b A30b_020 列挙型
A30b A30b_021 列挙型
A30b A30b_022 列挙型
A30b A30b_023 列挙型
A30b A30b_024 列挙型
C28 C28_004 列挙型(供用中=1、建設中=2、休止中=3)
C28 C28_008 列挙型(「公共用飛行場周辺における航空機騒音による障害の防止等に関する法律」に基づく特定飛行場で、かつ周辺整備空港に指定されている場合=1、周辺整備空港に指定されていない特定飛行場=2、特定飛行場以外=3、未定=4)
L01 NA 列挙型(住宅、店舗、事務所、銀行、旅館、給油所、工場、倉庫、農地、山林、医院、空地、作業場、原野、その他、用材、雑木)
L01 NA 列挙型(1低専:第一種低層住居専用地域、  2低専:第二種低層住居専用地域、  1中専:第一種中高層住居専用地域、  2中専:第二種中高層住居専用地域、  1住居:第一種住居地域、  2住居:第二種住居地域、  準住居:準住居地域、  近商:近隣商業地域、  商業:商業地域、  準工:準工業地域、  工業:工業地域、  工専:工業専用地域、  防火:防火地域、  準防:準防火地域、  調区:市街化調整区域、  都市:市街化区域及び市街化調整区域以外の都市計画区域、  都計外:都市計画区域外、  準都計:準都市計画区域、  地森計:地域森林計画対象区域、  国立公:国立公園地域、  国定公:国定公園区域、  国定公(3種):国定公園第三種特別区域、  1住専:第一種住居専用地域、  2住専:第二種住居専用地域、  住居:住居地域、  住専:住居専用地域)
L02 NA 列挙型(住宅、店舗、事務所、銀行、旅館、給油所、工場、倉庫、農地、山林、医院、空地、作業場、原野、その他、用材、雑木)
L02 NA 列挙型(1低専:第一種低層住居専用地域、2低専:第二種低層住居専用地域、 1中専:第一種中高層住居専用地域、2中専:第二種中高層住居専用地域、1住居:第一種住居地域、 2住居:第二種住居地域、準住居:準住居地域、近商:近隣商業地域、商業:商業地域、 準工:準工業地域、工業:工業地域、工専:工業専用地域、防火:防火地域、準防:準防火地域、 調区:市街化調整区域、都市:市街化区域及び市街化調整区域以外の都市計画区域、都計外:都市計画区域外、 準都計:準都市計画区域、地森計:地域森林計画対象区域、国立公:国立公園地域、国定公:国定公園区域)
N04 NA 列挙型(平成14~16年版)1:幅員13.0m(11.0m)以上、2:幅員5.5m以上13.0m(11.0m)未満、3:幅員3.0m(2.5m)以上5.5m未満、 4:幅員3.0m(2.5m)未満、5:幅員未調査、6:幅員合計(平成22年版)1:幅員25.0m以上、2:幅員19.5m以上25.0m未満、 3:幅員13.0m(11.0m)以上19.5m未満、4:幅員13.0m(11.0m)以上で幅員不明、5:幅員5.5m以上13.0m(11.0m)未満、 6:幅員3.0m(2.5m)以上5.5m未満、7:幅員3.0m(2.5m)未満、8:幅員未調査、9:幅員合計
P03 P03_0207 列挙型(立軸、横軸、斜流型、フランシス型、ポンプ水車)
P03 P03_0403 列挙型(専焼、混焼、専混焼)
P03 P03_0405 列挙型(石炭、石炭(CWM)、原油、重油、軽油、灯油、残渣油、天然ガス、LNG(液化天然ガス)、LPG(液化石油ガス)、都市ガス、ミックスガス、ナフサ、COM(石炭石油混合燃料)、COG(石炭乾溜ガス)、BFG(高炉用ガス)、LDG(転炉ガス)、廃棄物、瀝青質混合物)
P22 P22_005 列挙型(事業区分名詳細)
P22 P22_006 列挙型(事業区分名詳細)
S10a NA 列挙型
S10a NA 列挙型
S10a NA 列挙型
W05 NA 列挙型(1:1級直轄区間、2:1級指定区間、3:2級河川区間、4:指定区間外、 5:1級直轄区間でかつ湖沼区間を兼ねる場合、6:1級指定区間でかつ湖沼区間を兼ねる場合、7:2級河川区間でかつ湖沼区間を兼ねる場合、 8:指定区間外でかつ湖沼区間を兼ねる場合、0:不明)

Duplicated when merged

html_data %>%
  left_join(excel_data, by = c("identifier", "name")) %>%
  select(identifier, name, item_id, tag, code = code.x) %>% 
  filter(duplicated(code) | duplicated(code, fromLast = TRUE)) %>%
  knitr::kable() %>% 
  clipr::write_clip()
identifier name item_id tag code
A27 市区町村コード 0 PublicElementarySchool A27_005
A27 市区町村コード 1 SchoolDistrict A27_005
A27 設置主体 0 PublicElementarySchool A27_006
A27 設置主体 1 SchoolDistrict A27_006
A27 名称 0 PublicElementarySchool A27_007
A27 名称 1 SchoolDistrict A27_007
A27 所在地 0 PublicElementarySchool A27_008
A27 所在地 1 SchoolDistrict A27_008
A27 市区町村コード 0 PublicElementarySchool A27_001
A27 市区町村コード 1 SchoolDistrict A27_001
A27 設置主体 0 PublicElementarySchool A27_002
A27 設置主体 1 SchoolDistrict A27_002
A27 名称 0 PublicElementarySchool A27_003
A27 名称 1 SchoolDistrict A27_003
A27 所在地 0 PublicElementarySchool A27_004
A27 所在地 1 SchoolDistrict A27_004
S05-d 調査年度 0 CargoRegionFlow S05d_044
S05-d 調査年度 1 PassengerRegionFlow S05d_044
S05-d 発ゾーンコード 0 CargoRegionFlow S05d_045
S05-d 発ゾーンコード 1 PassengerRegionFlow S05d_045
S05-d 着ゾーンコード 0 CargoRegionFlow S05d_046
S05-d 着ゾーンコード 1 PassengerRegionFlow S05d_046
S05-d 調査年度 0 CargoRegionFlow S05d_001
S05-d 調査年度 1 PassengerRegionFlow S05d_001
S05-d 発ゾーンコード 0 CargoRegionFlow S05d_002
S05-d 発ゾーンコード 1 PassengerRegionFlow S05d_002
S05-d 着ゾーンコード 0 CargoRegionFlow S05d_003
S05-d 着ゾーンコード 1 PassengerRegionFlow S05d_003

Inconsistency between scraped data and excel data

library(dplyr)
library(kokudosuuchiUtils)

scraped_data <- readr::read_csv("codes.csv")
excel_data <- kokudosuuchi::KSJShapeProperty

scraped_data_w_code <- filter(scraped_data, !is.na(code))
scraped_data_wo_code <- filter(scraped_data, is.na(code))

scraped_data_w_code %>%
  left_join(excel_data, by = c("identifier" = "category",
                               "name"       = "name")) %>%
  filter(code.x != code.y) %>% 
  select(identifier, code.x, code.y, name, type) %>% 
  mutate(type = stringr::str_replace_all(type, "\\s+", "")) %>% 
  knitr::kable()
identifier code.x code.y name type
A27 A27_005 A27_001 市区町村コード コードリスト「行政コード」
A27 A27_006 A27_002 設置主体 文字列型(CharacterString)
A27 A27_007 A27_003 名称 文字列型(CharacterString)
A27 A27_008 A27_004 所在地 文字列型(CharacterString)
A27 A27_001 A27_005 市区町村コード コードリスト「行政コード」
A27 A27_002 A27_006 設置主体 文字列型(CharacterString)
A27 A27_003 A27_007 名称 文字列型(CharacterString)
A27 A27_004 A27_008 所在地 文字列型(CharacterString)
L05 L01_001 L05_001 工業用地ID 整数型(Integer)
L05 L01_002 L05_002 工業用地名 文字列型(CharacterString)
L05 L01_003 L05_003 行政コード コードリスト「行政コード」
L05 L01_004 L05_004 市区町村名 文字列型(CharacterString)
L05 L01_006 L05_006 特記事項 文字列型(CharacterString)
L05 L01_009 L05_010 全体開発面積 実数型(Real)
L05 L01_010 L05_011 工業用地面積 実数型(Real)
L05 L01_014 L05_014 立地企業数 整数型(Integer)
L05 L01_016 L05_016 業種 文字列型(CharacterString)
P03 P03_0003 P03_004 所在地 文字列型
P03 P03_0003 P03_004 所在地 文字列型
P03 P03_0003 P03_004 所在地 文字列型
P03 P03_0003 P03_004 所在地 文字列型
P03 P03_0003 P03_003 所在地 文字列型
P03 P03_0003 P03_003 所在地 文字列型
P03 P03_0003 P03_003 所在地 文字列型
P03 P03_0003 P03_003 所在地 文字列型
P03 P03_0003 P03_003 所在地 文字列型
P03 P03_0003 P03_003 所在地 文字列型
P03 P03_0003 P03_003 所在地 文字列型
P03 P03_0004 P03_004 既設・建設中区分 コードリスト型「工事中コード」
P03 P03_0004 P03_004 既設・建設中区分 コードリスト型「工事中コード」
P03 P03_0004 P03_004 既設・建設中区分 コードリスト型「工事中コード」
P03 P03_0004 P03_004 既設・建設中区分 コードリスト型「工事中コード」
P03 P03_0004 P03_004 既設・建設中区分 コードリスト型「工事中コード」
P03 P03_0004 P03_004 既設・建設中区分 コードリスト型「工事中コード」
P03 P03_0004 P03_004 既設・建設中区分 コードリスト型「工事中コード」
P03 P03_0005 P03_006 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_006 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_006 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_006 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_005 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_005 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_005 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_005 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_005 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_005 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0005 P03_005 運転開始年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する.
P03 P03_0006 P03_007 出力 実数型
P03 P03_0101 P03_008 水系名 文字列型
P03 P03_0101 P03_006 水系名 文字列型
P03 P03_0101 P03_006 水系名 文字列型
P03 P03_0102 P03_008 型式 コードリスト型(水力発電型式コード)1:ダム式、2:水路式、3:ダム水路
P03 P03_0201 P03_008 水系名 文字列型
P03 P03_0201 P03_006 水系名 文字列型
P03 P03_0201 P03_006 水系名 文字列型
P03 P03_0202 P03_009 最大使用水量 実数型
P03 P03_0202 P03_010 最大使用水量 実数型
P03 P03_0203 P03_010 最大有効落差 実数型
P03 P03_0203 P03_011 最大有効落差 実数型
P03 P03_0204 P03_011 上池 文字列型
P03 P03_0204 P03_012 上池 文字列型
P03 P03_0205 P03_012 下池 文字列型
P03 P03_0205 P03_013 下池 文字列型
P03 P03_0206 P03_013 水車容量 整数型
P03 P03_0206 P03_014 水車容量 整数型
P03 P03_0207 P03_014 水車形式 列挙型(立軸、横軸、斜流型、フランシス型、ポンプ水車)
P03 P03_0207 P03_015 水車形式 列挙型(立軸、横軸、斜流型、フランシス型、ポンプ水車)
P03 P03_0208 P03_015 水車台数 整数型
P03 P03_0208 P03_016 水車台数 整数型
P03 P03_0209 P03_016 水力原動力 コードリスト型(水力原動力コード)1:混合揚水式水力2:純揚水式水力
P03 P03_0209 P03_017 水力原動力 コードリスト型(水力原動力コード)1:混合揚水式水力2:純揚水式水力
P03 P03_0302 P03_101 名称 文字列型
P03 P03_0303 P03_102 有効容量 整数型
P03 P03_0304 P03_103 利用水深 実数型
P03 P03_0401 P03_003 号機 文字列型
P03 P03_0401 P03_003 号機 文字列型
P03 P03_0401 P03_003 号機 文字列型
P03 P03_0401 P03_003 号機 文字列型
P03 P03_0401 P03_018 号機 文字列型
P03 P03_0401 P03_031 号機 文字列型
P03 P03_0401 P03_032 号機 文字列型
P03 P03_0401 P03_038 号機 文字列型
P03 P03_0401 P03_040 号機 文字列型
P03 P03_0403 P03_018 専・混焼の別 列挙型(専焼、混焼、専混焼)
P03 P03_0403 P03_021 専・混焼の別 列挙型(専焼、混焼、専混焼)
P03 P03_0404 P03_020 火力原動力 コードリスト型火力原動力コード
P03 P03_0404 P03_022 火力原動力 コードリスト型火力原動力コード
P03 P03_0405 P03_019 混焼含有物 列挙型(石炭、石炭(CWM)、原油、重油、軽油、灯油、残渣油、天然ガス、LNG(液化天然ガス)、LPG(液化石油ガス)、都市ガス、ミックスガス、ナフサ、COM(石炭石油混合燃料)、COG(石炭乾溜ガス)、BFG(高炉用ガス)、LDG(転炉ガス)、廃棄物、瀝青質混合物)
P03 P03_0405 P03_023 混焼含有物 列挙型(石炭、石炭(CWM)、原油、重油、軽油、灯油、残渣油、天然ガス、LNG(液化天然ガス)、LPG(液化石油ガス)、都市ガス、ミックスガス、ナフサ、COM(石炭石油混合燃料)、COG(石炭乾溜ガス)、BFG(高炉用ガス)、LDG(転炉ガス)、廃棄物、瀝青質混合物)
P03 P03_0406 P03_024 排煙脱硫装置_脱硫方式 文字列型
P03 P03_0407 P03_025 排煙脱硫装置_処理ガス量 実数型
P03 P03_0408 P03_026 排煙脱硫装置_比率 整数型
P03 P03_0409 P03_027 排煙脱硝装置_処理ガス量 実数型
P03 P03_0410 P03_028 排煙脱硝装置_比率 整数型
P03 P03_0501 P03_022 蒸気供給部門 文字列型
P03 P03_0501 P03_029 蒸気供給部門 文字列型
P03 P03_0502 P03_003 号機 文字列型
P03 P03_0502 P03_003 号機 文字列型
P03 P03_0502 P03_003 号機 文字列型
P03 P03_0502 P03_003 号機 文字列型
P03 P03_0502 P03_018 号機 文字列型
P03 P03_0502 P03_031 号機 文字列型
P03 P03_0502 P03_032 号機 文字列型
P03 P03_0502 P03_038 号機 文字列型
P03 P03_0502 P03_040 号機 文字列型
P03 P03_0601 P03_003 号機 文字列型
P03 P03_0601 P03_003 号機 文字列型
P03 P03_0601 P03_003 号機 文字列型
P03 P03_0601 P03_003 号機 文字列型
P03 P03_0601 P03_018 号機 文字列型
P03 P03_0601 P03_031 号機 文字列型
P03 P03_0601 P03_032 号機 文字列型
P03 P03_0601 P03_038 号機 文字列型
P03 P03_0601 P03_040 号機 文字列型
P03 P03_0602 P03_023 炉型 コードリスト型炉型コード
P03 P03_0602 P03_034 炉型 コードリスト型炉型コード
P03 P03_0604 P03_036 原子炉設置許可年月日 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する
P03 P03_0605 P03_037 第一回工事計画認可年月 時間型(TM_Instant)※西暦で、4桁の「年」、2桁の「月」及び「日」を記述する
P03 P03_0701 P03_003 号機 文字列型
P03 P03_0701 P03_003 号機 文字列型
P03 P03_0701 P03_003 号機 文字列型
P03 P03_0701 P03_003 号機 文字列型
P03 P03_0701 P03_018 号機 文字列型
P03 P03_0701 P03_031 号機 文字列型
P03 P03_0701 P03_032 号機 文字列型
P03 P03_0701 P03_038 号機 文字列型
P03 P03_0701 P03_040 号機 文字列型
P03 P03_0801 P03_003 号機 文字列型
P03 P03_0801 P03_003 号機 文字列型
P03 P03_0801 P03_003 号機 文字列型
P03 P03_0801 P03_003 号機 文字列型
P03 P03_0801 P03_018 号機 文字列型
P03 P03_0801 P03_031 号機 文字列型
P03 P03_0801 P03_032 号機 文字列型
P03 P03_0801 P03_038 号機 文字列型
P03 P03_0801 P03_040 号機 文字列型
P12 P12_003 P12_001 都道府県コード コードリスト「都道府県コード」
P12 P12_003 P12_001 都道府県コード コードリスト「都道府県コード」
P12 P12_003 P12_001 都道府県コード コードリスト「都道府県コード」
P12 P12_004 P12_002 行政コード コードリスト「行政コード」
P12 P12_004 P12_002 行政コード コードリスト「行政コード」
P12 P12_004 P12_002 行政コード コードリスト「行政コード」
S05-d S05d_044 S05d_001 調査年度 整数型
S05-d S05d_045 S05d_002 発ゾーンコード コードリスト「旅客地域流動ゾーンコード」
S05-d S05d_046 S05d_003 着ゾーンコード コードリスト「旅客地域流動ゾーンコード」
S05-d S05d_001 S05d_044 調査年度 整数型
S05-d S05d_002 S05d_045 発ゾーンコード コードリスト「貨物地域流動ゾーンコード」
S05-d S05d_003 S05d_046 着ゾーンコード コードリスト「貨物地域流動ゾーンコード」

Expand tilda in Excel

excel_data %>% filter(!grepl("^[A-Z]\\d+[a-z]*_\\d+$", code)) %>% knitr::kable() %>% clipr::write_clip()
identifier item_id tag code name
P11 0 BusStop P11_003_1~19 バス路線情報_事業者名
P11 0 BusStop P11_004_1~19 バス路線情報_バス系統

Errors

datalist_files <- list.files("downloaded_html", pattern = "datalist-.*\\.html", full.names = TRUE)
read_kokudosuuchi_table_safely <- purrr::safely(read_kokudosuuchi_table)
result <- purrr::map(datalist_files, read_kokudosuuchi_table_safely)

datalist_files[purrr::map_lgl(result, ~ !is.null(.$error))]
[1] "downloaded_html/datalist-KsjTmplt-N08-v1_4.html"  "downloaded_html/datalist-KsjTmplt-P26.html"      
[3] "downloaded_html/datalist-KsjTmplt-S10a-v1_2.html"
map(result, "error") %>% discard(is.null)
#> [[1]]
#> <Rcpp::not_compatible in nodes_duplicated(nodes): expecting an external pointer>
#> 
#> [[2]]
#> <Rcpp::not_compatible in nodes_duplicated(nodes): expecting an external pointer>
#> 
#> [[3]]
#> <Rcpp::not_compatible in nodes_duplicated(nodes): expecting an external pointer>
#> 

Prototype codes

library(dplyr)

readr::read_csv("codes.csv") %>% 
  filter(stringr::str_detect(.data$code, "X|~|~")) %>%
  knitr::kable() %>% 
  clipr::write_clip()
identifier table_num name code type note
A22-m 3 各年度別最深積雪 A22_01XXXX 実数型(Real) XXXX:西暦
A22-m 4 各年度別累計降雪量 A22_02XXXX 実数型(Real) XXXX:西暦
A22-m 5 各年度別最低気温 A22_03XXXX 実数型(Real) XXXX:西暦
A22-m 6 各年度別平均風速 A22_04XXXX 実数型(Real) XXXX:西暦
A22-m 7 雪害 A22-m-14_SnowDisaster_XX 曲面型(GM_Surface) XX:都道府県コード
A22-m 8 各年別死者数 A22_10XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別行方不明者数 A22_11XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別重傷者数 A22_12XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別軽傷者数 A22_13XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別住家全壊棟数 A22_14XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別住家半壊棟数 A22_15XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別住家一部破損数 A22_16XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別除雪ボランティア団体数 A22_17XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別除雪ボランティア登録人数 A22_18XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別除雪ボランティア活動回数 A22_19XXXX 整数型(Integer) XXXX:西暦
A22-m 8 各年別除雪ボランティアの延べ参加人数 A22_20XXXX 整数型(Integer) XXXX:西暦
A35b 1 景観地区・準景観地区(面) A35d-14_XX 曲面型(GM_Surface) XX:都道府県コード
A35b 1 景観地区・準景観地区(点) A35e-14_XX 点型(GM_Point) XX:都道府県コード
A35b 3 景観地区・準景観地区ゾーン A35f-14_XX 曲面型(GM_Surface) XX:都道府県コード
A35c 1 景観重要建造物 A35g-14_XX 点型(GM_Point) XX:都道府県コード
A35c 3 景観重要樹木 A35h-14_XX 点型(GM_Point) XX:都道府県コード
A37 8 各年別救急車出動件数 A37_34XXXX 整数型(Integer) ※XXXX:該当年の西暦
A37 8 各年別消防防災ヘリ出動件数 A37_35XXXX 整数型(Integer) ※XXXX:該当年の西暦
A37 8 各年別平均現場到着所要時間 A37_36XXXX 実数型(Real) ※XXXX:該当年の西暦
A37 8 各年別平均病院収容時間 A37_37XXXX 実数型(Real) ※XXXX:該当年の西暦
P15 2 取扱品目1~15 P15_019~033 文字列型(CharacterString) NA
P16 2 備考1-12 P16_015~026 文字列型(CharacterString) NA
P17 2 管轄範囲(1~n) P17_006~ 文字列型(CharacterString) NA
P18 2 管轄範囲(1~n) P18_006~ 文字列型(CharacterString) NA
P33 1 集客施設 P33-14 XX 点型(GM_Point) XX:都道府県コード

Unavailable identifiers via API

setdiff(unique(merged_data$identifier), x$identifier)
#>  [1] "A02-a" "A02-b" "A05"   "A07"   "A39"   "A40"   "C01"   "C04"   "C05-a" "C05-b" "C05-c" "C07"   "C10"   "C11"  
#> [15] "C12"   "C13"   "C14"   "C20"   "C21"   "C22"   "C26"   "C30"   "C31"   "C32"   "C33"   "C34"   "C35"   "C36"  
#> [29] "C37"   "C39"   "C41"   "C43"   "C45"   "C46"   "G04-b" "G05"   "G06"   "G07"   "G08"   "N01"   "P01"   "S01"  
#> [43] "S02"   "S03"   "S04"   "S05-e" "W04-a" "W04-b" "W06"   "W12" 

Add function to separate sf data by year

As suggested at #9 (comment), XXXX should be treated specially. For example:

library(dplyr)
library(kokudosuuchi)

sf_data <- getKSJData(
  "http://nlftp.mlit.go.jp/ksj/gml/data/A22-m/A22-m-14/A22-m-14_01_GML.zip",
  cache_dir = "../kokudosuuchi/cached_zip",
  translate_colnames = FALSE
)

sf_data$`A22-m-14_MaxSnowDepth_01` %>%
  rename(avg = A22_010001, max_depth = A22_010002) %>%
  tidyr::gather(key = "year", value = "yearly_max_depth", starts_with("A22_01")) %>%
  mutate(year = stringr::str_extract(year, "(?<=A22_01)\\d{4}")) %>%
  split(.year)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.