#author("2020-07-07T00:26:15+09:00","default:nobuoki","nobuoki")
* デイリーポータルZのあの地図を作りたい [#w85e9e48]

#author("2020-07-27T11:07:16+09:00","default:nobuoki","nobuoki")
[[地名の最後の一文字だけで地図をつくると地形が見える :: デイリーポータルZ>https://dailyportalz.jp/kiji/saigo-no-hitomoji-chizu]] っぽいものを作る手順を考えました

あると好ましい知識
- QGIS [[QGISビギナーズマニュアル(3系) · GIS実習オープン教材>https://gis-oer.github.io/gitbook/book/materials/00/00.html#%E3%82%A6%E3%82%A7%E3%83%96%E3%81%A8%E5%9C%B0%E7%90%86%E6%83%85%E5%A0%B1%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0]]
- [[基盤地図情報ダウンロードサービス>https://fgd.gsi.go.jp/download/menu.php]]
- FGDV
- [[地理院地図|地理院タイル一覧>https://maps.gsi.go.jp/development/ichiran.html]]

参考教材
- [[QGIS を用いた洪水ハザードマップ作成手順 - 酪農学園大学学術>https://rakuno.repo.nii.ac.jp/?action=repository_action_common_download&item_id=5082&item_no=1&attribute_id=21&file_no=2]]
- 生活環境情報の表現-GIS入門('20) [[放送大学 授業科目案内 コース科目 情報コース>https://www.ouj.ac.jp/hp/kamoku/2020/kyouyou/C/joho/index.html]]

** 作り方 [#se827584]

ざっくり手順
- 国土地理院から、住所(町、字レベル)と緯度経度を含むデータを入手
- FGDVとQGISで国土地理院のデータをgeojson形式に変換し、地名の最後の一文字と緯度経度情報に加工する
- QGISで表示する


+ [[基盤地図情報ダウンロードサービス>https://fgd.gsi.go.jp/download/menu.php]] から(全項目じゃなくて)「市町村の町若しくは字の境界線及び代表点」をお好きな単位でダウンロードします(都道府県くらいがおすすめ)
#ref(./01.PNG,40%)
#br
+ ダウンロードしたファイル(大抵は複数になると思います)をFGDVで読み込みます
++ FGDVはここからダウンロード出来ます
#ref(./02.PNG,40%)
++ FGDVで新規プロジェクトを作成して先程ダウンロードしたzipファイルを読み込みます
#ref(./03.PNG,40%)
#br
+ FGDVで読み込んだデータをシェープファイル形式でエクスポートします
#ref(./04.PNG,40%)
#br
+ QGISでシェープファイル「町字の代表点」を読み込ませ、geojson形式でエクスポートします
#ref(./05.PNG,40%)
#br
+ JQ等を利用して地名の最後の文字と緯度経度の組み合わせでCSVファイルを作成します
#prism(bash){{{
# QGISで出力したgeojsonファイルを入力にする
cat ibaraki.geojson                                                                                   |\
# geojsonファイルから必要なものだけ抽出し、csv形式で出力
#   行政コード:  あとで茨城県のみ抽出するために使う
#   coordinates: 町・字レベルの住所の代表点の緯度経度
#   名称:        町・字レベルの住所
jq -r '.features[] | [.properties."行政コード", .geometry.coordinates[], .properties."名称"] | @csv' |\
# ダブルクォーテーションを削除
tr -d '"'                                                                                            |\
# 行政コードを利用して特定の都道府県を抽出
#   茨城: 08 で始まる
#   埼玉: 11 で始まる
grep '^08'                                                                                           |\
# 地名の最後の一文字を作り出す
# 入力(-F)、出力(-v OFS)ともにカンマ区切りにする
awk -F, -v OFS=, '
{
  # 町・字レベル住所を加工するために変数に格納
  a=$NF;
  # 「最後の一文字」に相応しくない文字を消す
  # 例:山本町南五丁目町 -> 「本」より後ろを削除
  # 例:豊田町           -> 「田」より後ろを削除
  # 例:中村             -> 「中」より後ろを削除
  # 例:中村南一丁目     -> 「村」より後ろを削除/いかんともしがたい
  sub(/(町?[東西南北]?[〇一二三四五六七八九十百]+丁目|[町村])$/, "", a)
}
# まれに「最後の一文字」が残らない場合があるので、それを除外
# 例:○○市 北町一丁目 の場合、町・字レベル住所=北町一丁目 となり前段の処理で全て削除される
$NF{
  # 緯度、経度、町・字レベル住所、最後の一文字 を出力
  print $2,$3,$4,substr(a,length(a))
}' >filtered.csv # 結果をファイルにリダイレクト
}}}
+ QGISでCSVファイルをインポートします
#ref(./06.PNG,40%)
#br
+ シンボルとラベルを設定します
++ シンボル(なし)
#ref(./07.PNG,40%)
++ ラベル(単一定義)
#ref(./08.PNG,40%)

** おまけ [#ob2bcad7]
地理院地図タイル(色別標高図、明治期の低湿地)と組み合わせると面白いです
- 色別標高図:土地の高低と地名が何となく関連してそうな気がしませんか?
#ref(./a.jpg,40%)
#br
- 明治期の低湿地:水に関係しそうな地名がより際立つ気がしてきませんか?
#ref(./b.jpg,40%)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS