国道の距離標(キロポスト)を地理院地図に表示させる~無料で入手出来るCSVを活用してみませんか?

PC

国土地理院のサイト

以前、Google Earth Proにキロポスト(距離標)を表示する方法を記しましたが、仕事で国土地理院のサイト「地理院地図」を使う必要があり使ってみたところ割と便利だったのでアリだなと感じました。Google Earth Proは衛星写真がベースですが、地理院地図は完全に地図がベースですから大きな違いがあります。

国土地理院が提供する情報であれば信頼性は高いと思います。実際使ってみたところで感じたのは、Google Earth Proで取得した位置情報ももちろん正確ですけど、衛星写真の更新頻度はかなり遅いので新しく開通した道路等の情報は反映されて無かったりします。やはり地図のお仕事なら地理院地図の出番です。新しい道路も迅速に反映されるので業務目的でも使えます。

今回はそんな地理院地図の機能として備わっているレイヤに、道路基準点案内システムで公開されているキロポスト(KP)を表示して便利に使える様にする方法を記します。地図上にKP情報を表示させられると仕事が捗る場面が多々あります。

レイヤに表示させる為にはKMLファイルを準備する必要があります。残念な事にGoogle Earth用に作ったものではフォーマットが合わないので、あらたに内部構造を合わせて作り直す必要があります。

地理院地図にもCSV取り込みの仕組みはある様ですが(詳細は未確認ですが住所や場所の名前データベースと照合して地点を割り出している様です。)道路基準点を指定した緯度経度にプロットする用途には使えません。独自でKMLを作って読み込ませるしか無さそうです。

道路基準点(キロポスト)をダウンロードする

「道路基準点案内システム」というサイトから道路基準点情報を調べることが出来ます。管轄組織、距離標の情報もわかります。

必要な情報を選んで表示し、右下のCSV出力をクリックすればダウンロード出来ます。

KP情報をCSV形式でDLする

ダウンロードしたCSVファイルを見てみます。私は自宅ではExcelよりもLibreOffice Calcを愛用しているので、Calcで開いてみました。余計な事をしないのでCSVデータの扱いはExcelよりも優秀だと思っています。

LibreOfficeで開いてみた

地理院地図で適当なマーカーを設置して解析する

さて地理院地図サービスを調べます。

自分で作成した色々な情報をマッピングすることが出来ます。作成したマッピング情報を保存する時はKMLとJSON形式で保存出来るので、適当なダミーデータを作成して保存してみるとそこを足がかりに内部構造が解析出来ます。

作成したものは右上にフロートしている作図・ファイルの中にリストされます。適当に地点情報を作ってみます。これを保存するときに内部構造を見ることが出来ます。KML形式、JSON形式で保存出来る様ですが、JSONは扱いに慣れていないのでKMLを選びました。

こうしてみるとKMLファイル(実態はXML形式)の内容は難しく無さそうです。

基本的にはこれをひな形にして

<Placemark> 地点情報 </Placemark>

ここを必要な地点数だけつくってやればスクリプト処理でまとめてKMLファイルの作成が実現できそうです。つまり何かしらのツールを使って(少ないならXML Notepadなどを使って手作業でも良いですが)Placemark部分をループ処理でひな形に情報を流し込んでやれば良い訳です。

ExcelやLibreOffice Calcなんかでも簡単に作れそうですし、もっと多くの情報を含めた地点情報を効率よく生成するには、awkやPythonなんかのスクリプト言語でも簡単に作れますね。

CSVデータをKMLデータに変換する

ここが最大の課題になるところですが解決してしまえば応用はいくらでもきくので、色々と自分で工夫しようと思っている人は以下も是非読んで下さい。GISを扱う上でkmlデータの作成は避けられないです。緯度経度の形式変換(換算)も場合によっては必要です。

やっぱりこういう用途にはawk(オーク)が超便利だと思っています。awkは素人さんでも当て打ち印刷の様なイメージで使うことが出来ます。しかもレコード数分だけのループ処理はawkの基本概念にあるのでイメージしにくいプログラミングの「ループ処理」を意識する必要が有りません。Windowsで作業をしている人がawkを使用するのであれば、おーくの友だちが便利です。

かなり昔に作ったYouTube動画ですがawkをWindows環境で使う方法です。良かったら参考にして下さい。音声は入れてないので字幕をONして視聴していただければと思います。

道路基準点案内システムから手に入れたKP情報のCSVデータには、KP地点と、緯度、経度情報が入っていますので、適切にkml形式に変換してやれば地理院地図サービスで使用できます。

サンプルとなるawkスクリプトをgistに置いたのでリンクしておきます。私はこういう用途にはawkが一番手軽だと思っているので簡単なスクリプトを作ってCSVからKMLに変換しています。awkは少し学習するだけで非プログラマーでも便利に扱えるツールです。awkは古くからありますので古臭さを感じますし、もちろん深く使い込むにはそれなりの学習が必要です。しかし基本的な部分の学習だけでサクッと結果が得られる点が嬉しいです。

コメント

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