このアプリは、PLATEAUデータと任意のデータをアップロードし、任意のデータの特定要素をPLATEAUデータに追加することができます。
追加するにはそれぞれのデータにおけるキーとなるタグを選択します。
選択するタグがキーとなるかは、事前にデータを見比べる等してあたりをつけておく必要があります。データを見比べるにはメモ帳などのテキストエディタで可能です。
紐づけるににあたり、任意のデータの追加したいタグを選択し、属性名を入れることでPLATEAUのGenric属性として追加可能になります。
追加が成功すると自動的にCityGMLがファイルダウンロードされます。追加されているかはデータを見比べる際と同様にメモ帳などのテキストエディタで確認可能です。
- ファイルアップロード: ユーザーはCityGMLアップロードし、任意のGML、XML、CSV、JSONファイルをアップロードします。
- タグの選択: アップロードされたファイルのタグが一覧表示され、その中からデータ間の紐付けに必要なキーとなる属性を選択します。
- データの紐づけ: 選択された属性とデータを基に、データを紐づけます。この際に、選択した任意のデータをPLATEAUのCityGMLに新たな属性として追加します。
-
ファイルのアップロード:
FileUploader
コンポーネントでファイルを選択し、handleFileUpload
関数でファイルを処理します。- ファイルのMIMEタイプを取得し、適切な解析関数(
parseJSONFile
,parseXMLFile
,parseCSVFile
)を呼び出します。 - タグを収集し、
onTagsCollected
コールバックで親コンポーネントに通知します。
-
タグの表示と選択:
TagsComboBox
コンポーネントで収集されたタグを表示し、ユーザーがタグを選択します。- 選択されたタグは
handlePlateauTagSelected
やhandleAnyDataTagSelected
で状態管理されます。
-
データの紐づけ:
DataTagTable
コンポーネントで任意のデータタグとPLATEAUタグを紐づけるためのUIを提供します。- ユーザーがタグと属性名を入力し、
handleSelectedTagsChange
で選択されたデータを管理します。
-
データの処理:
processGMLData
関数で、選択されたタグとデータを基にGMLデータを処理し、建物要素を更新します。- 更新されたGMLデータをXML形式でダウンロードします。
現状対応しているのは座標(経緯度)になります。 PLATEAUにおける建物あたりの経緯度(LOD0)は建物の外周座標点(緯度、経度、標高)のリストになっています。任意のデータの座標がそのリストの範囲内に入っているかを判定してマッチングを行なっています。