PLATEAU LOD1建物データをOSMにインポートする際の留意点【事前準備編】アドベントカレンダー12/20
こんにちは!3年の吉田航です!
今回はアドベントカレンダー12月20日分として、私が取り組んでいるゼミ論の進捗状況をお伝えします!
私はゼミ論として、国土交通省主導のプロジェクト「PLATEAU」内にあるLOD1建物データを、誰でも自由に地図を編集することができるオープンデータの共同作業プロジェクト「OpenStreetMap」にインポートする作業を行っています!
前回の発表はこちら
今回は「事前準備編」と題し、私が直面した課題とその解決法についてご紹介していきます。
まず、事前準備の作業手順としては
- 対象地域のCityGMLファイルをPLATEAUのG空間情報センターからダウンロードする
2. コンバーター開発者の林さんのGitHubから変換スクリプト「citygml-osm」をダウンロードする
3.ターミナル(コマンドプロンプト、Powershell)を起動し、citygml-osmを展開したフォルダに移動して以下のコマンドを入力します。
$ java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 1st
$ java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 2nd
$ java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 3rd
これらのコマンドを入力することで以下の処理がされます。
- 1st: CityGML データを
.osm
形式に変換し、.osm
形式として保存する - 2nd: それぞれの
.osm
ファイルのデータ範囲のデータをosm.org
からダウンロードし、.org.osm
形式として保存する - 3rd:
.osm
と.org.osm
を比較・マージすることでmrg.osm
形式のファイルを出力し、保存する
といったような作業手順を踏むのですが、この3つ目の作業で問題がおきいてしまいます。
課題
1つ目のコマンドである
$ java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 1st
が実行されなくなってしまいました。
解決のため、コンバーター開発者の林さんに相談し、林さんの指示に従いながら原因究明に努めました。
すると、1つの原因が浮かび上がりました。
解決
上記の通り、citygml-osmで利用されているミドルウェアがJava8、Java11しかサポートしていないため、この作業はJava8、Java11でしか実行されないことが判明しました。
私はこの時最新版のJava19を使用していたためコマンドが実行されなかったのです。(Java8をインストールしたら正常に実行されました!)
なので今後この作業をする方は必ずJava8かJava11をインストールしてから作業するようにしてください!
今後の作業
長い間コマンド実行されない問題で作業が進まなかった分、今後は急ピッチでOSMへのインポート作業を進めていきます!
まずは、東村山市から作業を行っていこうと考えています!
理由は、Project PLATEAUに参加している東京都内の都市の中で比較的都市データの整備が未だ進んでいないためです。
その後のインポートする地域の優先順位はhttps://wiki.openstreetmap.org/wiki/JA:MLIT_PLATEAU/imports_list
にあるこちらのリストを参考にしていきます。
今のところ順番は東村山市→新座市→毛呂山町→鎌田市→岡谷市、伊那市、茅野市で考えています!