
パート1では、中核的な原則を合意しました。それは、CityGMLがプロジェクト全体のセマンティックなSingle Source of Truth (SSOT)であるということです。3D Tiles、OBJ、FBXのようなフォーマットは表示目的の出力フォーマットに過ぎません。ビジュアルに特化しながらセマンティクスに乏しい3Dモデルを追い求めようとすると、分析とシミュレーションの段階に入った途端にプロジェクトは失敗するでしょう。 しかし、オリジナル標準で保存するという考え方から、実際のファイルを処理するまでの道のりは非常に困難な課題です。ベンダーから数十GBもの重いCityGMLソースデータを受け取った際、それをデータパイプライン(FMEなど)や3Dエンジン(Cesium、Unrealなど)に直接投入することは禁物です。内部構造が不明な巨大なXMLファイルを盲目的に解析すると、直接Out of Memory (OOM)エラーやシステムクラッシュを引き起こします。 パート1の最後で提示された「自分のデータセットが、特定の課題に利用するために正しいオブジェクト、属性、構造を含んでいることをどうやって知るのか?」という質問に答えるためには、本番環境のパイプラインに投入する前に、以下の体系的な手順に従ってデータを検査し、検証する必要があります。 1. OGCオープンスタンダードとCityGMLの真の性質 OGC (Open Geospatial Consortium)は、地理空間データのためのオープンスタンダードを確立する国際機関です。このエコシステムにおいて、CityGMLは3D都市モデルの保存と交換に用いられる中核的な標準(GML3アプリケーションスキーマ)です。 CityGMLをFBXやOBJのような純粋なグラフィックフォーマットと混同しないでください。CityGMLはXMLテキストベースのデータベースです。CityGMLの最大の利点は、LOD(Level of Detail)構造を通じて、ジオメトリ、トポロジ、セマンティクス間の整合性と密接な関連性を維持することにあります。 2. “CityGML内部構造の「解剖」 CityGMLの構造は、XML名前空間を通じて非常に厳密にモジュール化されています。すべてを詰め込むのではなく、データはcore(コア)、bldg(建物)、tran(交通)、veg(植生)などの独立した空間に分割されます。 以下は、CityGMLファイルの基本的なスキーマです。 XML <?xml version=’1.0′ encoding=’UTF-8′?><core:CityModel xmlns:core=’http://www.opengis.net/citygml/2.0′ xmlns:bldg=’http://www.opengis.net/citygml/building/2.0′ xmlns:gml=’http://www.opengis.net/gml’> <!– 1. バウンディングボックスとCRS: 境界座標と座標参照系 –> <gml:boundedBy> <gml:Envelope srsName=’urn:ogc:def:crs,crs:EPSG::25832′> <gml:lowerCorner>458868.0 5438343.0…




