Skip to content

How_to_use

haya4 edited this page Nov 5, 2023 · 32 revisions

「citygml-osm」を使った openStreetMap の編集方法

Step 1 : インストール

1-1 Java実行環境のインストール

  1. すでにJavaの実行環境がインストールされているかどうかを確認してください。コマンドターミナルで下記のコマンドを入力すると、既存のJava実行環境のバージョンが表示されます。
java -version
java-version

この例では「Java 11」がインストール済みとなっています。

「citygml-osm」では、「Java 11」または「Java 17」が必要です。「Java 8」の場合は「Java 11」または「Java 17」にアップグレードしてください。 下記のサイトから「Java 17」を取得してインストールしてください。

1-2 JOSMのインストール

「JOSM」がインストールされていない場合は、下記のサイトからインストールしてください。

1-3 「citygml-osm」のインストール

  • 「GitHubのcitygml-osm Release」 から 最新の'citygml-osm-x.x.x.zip' をダウンロードして、'任意のフォルダ'に解凍する
    citygml-osm-jar-with-dependencies.jarconversion.json が解凍されます。
Downloads

Step 2 : GMLからOSMへの変換

2-1 "OSMファイル"を生成

PLATEAUの「3D都市モデル」の"GMLファイル"をOpenStreetMapの形式に変換した"OSMファイル"を生成します。

作業フロー

「citygml-osm」をインストールしたフォルダに、PLATEAUの「3D都市モデル」からダウンロードした"GMLファイル"を配置し、下記のコマンドを実行するとOpenStreetMapの形式に変換した"OSMファイル"を生成します。 ただし、変換された"OSMファイル"は次項の「task-bldg」のサイトで配信されていますので、この処理を実行する必要はありません。

java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 1st

2-2 「task-bldg」からOSMデータをダウンロードする

「task-bldg」のサイトでは、PLATEAUの「3D都市モデル」にある"GMLファイル"をOpenStreetMapの形式に変換した"OSMファイル"を生成したものを配信しております。

task-bldg-top
  • (1) PLATEAUタスク管理サイト から「OSM形式に変換済みの3D都市データ」をダウンロードする

  • (2) ダウンロードしたZIPファイルを「citygml-osm」をインストールしたフォルダに解凍してください。

    • このZIPを解凍すると 「OSM形式に変換済みの3D都市データ *.osm」が得られます。
faile list
  • (3) コマンドターミナルから (2)のフォルダに移動して,下記のコマンドを実行します。
    • 「2nd.bat」または「2nd.sh」を起動することでも起動できます。
  $ cd (解凍先フォルダ)
  $ java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 2nd
faile list
  • *.org.osm」ファイル(OSMデータベース内の建物データ)が生成されます。

  • (4) 同様にして 下記のコマンドを実行します。

    • 「3rd.bat」または「3rd.sh」を起動することでも起動できます。
  $ cd (解凍先フォルダ)
  $ java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 3rd
  • *.mrg.osm」ファイル(既存建物データとPLATEAUデータとの競合チェック済みデータ)が生成されます。

Step 3 : 変換されたPOIの確認

(1) JOSMを起動して、「*.mrg.osm」ファイルをJOSMにドロップしてください。
生成されたデータを確認することができます。

JOSM

JOSMで *.mrg.osm を開くことで既存データと重複するPOIが確認できるようになります。JOSMのフィルタ機能を使って MLIT_PLATEAU:fixme がついたPOIを表示することで確認できます。

(2) JOSM上で、変換後のPOIを確認します。
不要な(アップロードしたくない)POIは削除してください。(JOSM上から消えたPOIは更新されません)

  • 背景地図にできるだけ最新の航空写真を使用することで建物の有無をある程度確認できます。
  • 航空写真で判断できない場合は、現地調査で判断してください。
JOSM

(3) JOSMで 既存データとの重複を確認し、PLATEAUデータのインポートをやめたい場合には その部分のPOIをJOSM上で「削除」してください。削除予定のPOIもそのPOIを「削除」することで削除を取りやめることができます。(削除予定のPOIをJOSM状に残すとそのPOIが削除されます)

  • 背景地図に OpenStreetMap Cart (Standard) を使うことで、既存の建物を表示することができます。
  • 既存の建物と、PLATEAUデータとを比較して、PLATEAUを適用するかどうかを決めてください。
    • PLATEAUを適用する場合は、特に何もする必要はありません。
    • 既存建物をそのままにしてPLATEAUを適用したくない場合は、背景のOpenStreetMap Cart (Standard)に表示された建物に重複している POI(オブジェクト)をすべてJOSM上から削除してください。POIの内容や種別に関係なく重複しているものはすべて削除してください。
    • POI(オブジェクト)の削除によって一部のリレーションのメンバーが欠損したリレーションができることがあります。その場合は、不完全になったリレーションの他のメンバーも削除した上、リレーションを削除してください。

(4) 不要な(アップロードしたくない)POIを削除したら、レイヤ「*.mrg.osm」を『名前をつけて保存』してください。保存ファイル名は「checked.osm」とします。

  • 保存ファイル名は「checked.osm」固定です。
  • checked.osm」や「*.mrg.osm」は、そのままではOSMにアップロードすることはできません(できるけど既存データを壊してしまいます)。
JOSM

Step 4 : OpenStreetMapへアップロード

4-1 「upload.osm」ファイルを生成する

コマンドターミナルから下記のコマンドを実行してください。
upload.osm」ファイルが生成されます。

  • 「4th.bat」または「4th.sh」を起動することでも起動できます。
  $ cd (解凍先フォルダ)
  $ java -Dfile.encoding=utf-8 -jar citygml-osm-jar-with-dependencies.jar 4th

4-2 妥当性チェック

JOSMを起動して、「upload.osm」ファイルをJOSMにドロップしてください。

  • 生成されたupload.osmを、JOSMで開くことで OpenStreetMap へアップロードすることができます。

JOSMで、「妥当性検査」を実施してエラーやワーニングが出ないことを確認してください。

  • もし、エラーが発生した場合は、通常の編集通りに修正してください。
  • どうしてもエラーが解消しない場合は 問題の箇所をJOSMから削除してください。

(1)「amenityの中にamenityがある、shopの中にshopがある」

(2)「リレーションメンバーのロールがプリセットBuildingのテンプレートの式'building=*'に含まれていません。」

(3) 「自身で交差するウェイ」

(4) 「ウェイが同じ区間を二度含んでいる」

(5) 「混合タイプの重複ノード」

  • 建物が「点」でくっついているものは建物を分離させる。「線」で接しているものは接したライン上のノードを「ノードの結合」を行ってください。 詳細はIssue#101参照

(6) 「重なった建物」

  • 建物が「点」でくっついているものは建物を分離させる。「線」で接しているものは接したライン上のノードを「ノードの結合」を行ってください。 詳細はIssue#98参照

4-3 アップロード実施

レイヤ「upload.osm」を"アップロード"してください。

JOSM
  • (1) 概略コメントを入力。この例では「PLATEAUでーたを参考に建物を編集」と入力しています。
  • (2) データソースの記入。この例では既存建物状態を確認するために参考にした OpenStreetMap Carto (Standard) と航空写真Mapbox Satelite とPLATEAUデータの形状と内容の参照として MLIT_PLATEAU を記載しています。

4-4 データアップロード時に起きる「不審なデータ」の対策

  • レイヤ「upload.osm」をアップロードすると、下記のような妥当性検証エラーが発生する場合があります。

    スクリーンショット 2023-10-08 8 00 43

アップロード時に競合が発生した場合の解決方法

  • レイヤ「upload.osm」をアップロードすると、下記のような競合エラーが発生する場合があります。

    nodeFaile

    • 1.「競合の解決の準備」ボタンを押してください。

      1. JOSMメニュー→ [ファイル] → [データを更新] を選択。データのダウンロードが行われ競合が検出されます。

      競合が検出されました

      1. 競合パネルの項目を選択して「解決」ボタンをクリック

      2件が未解決です

      1. '''自分の編集を結合したバージョンに適合'''させて 「解決を適用」ボタンを押します。これを競合パネルに表示された分だけ繰り返します。
      解決を適用

Step 5 : 「変更セット」の確認と作業報告

5-1 「変更セット」の確認

(1) アップロードを行ったら「変更セット」を確認してください。

  1. 直前に更新したオブジェクトを選択する。
  2. JOSMメニューの「表示」ー「詳細な情報」を選択する。
  1. 「変更セット」が表示されます。

5-2 「編集完了」報告

PLATEAUタスク管理サイト で、編集対象の地域に「編集完了」の登録を行ってください。

task-bldg-top

Tools : "pack"機能

  • *.gml」ファイルから生成されたファイルをGMLファイル単位にまとめた「ZIPファイル(*.zip)」に変換する機能。「PACKコマンド