はじめに

本チュートリアルでは、3D都市モデルのXMLスキーマ(XML Schema)について解説します。

XMLスキーマは、3D都市モデルのデータモデルに従って、XMLというフォーマットでデータを記述(符号化)するための仕様(符号化仕様)です。3D都市モデルの記述にXMLを採用している利点としては以下のようなことが挙げられます。

l  テキスト形式で記述されるため、人間が直接読んで理解しやすい

l  様々なプラットフォームやシステム間でデータをやり取りする際に互換性が高い

l  階層構造を持つことができ、複雑なデータ構造を記述できる

l  XMLスキーマ(XML Schema)を使ってデータの構造を定義することで、データの整合性を確保しやすい

l  拡張性が高く、必要に応じて新しいタグや属性を追加してデータを拡張できる

地理空間データの記述に用いられている他のフォーマットには、CSVJSON、バイナリ形式があります。しかし、3D都市モデルを広く運用する上で以下のような課題があります。

CSV

l  複雑な階層構造や関係性を表現困難である

l  データの型や制約を定義することが難しく、整合性が確保しにくい

JSON

l  XML程、柔軟な拡張性を持っていないため、複雑なデータモデルの表現に限界がある

バイナリ

l  データを扱う際のツールやライブラリが限られ、互換性に乏しい

l  データの拡張が難しいことが多く、既存のデータ構造を変更する際に問題が発生しやすい

本チュートリアルでは3D都市モデルが採用するXMLについて、まず1章でXMLの基本的な内容を説明します。次に2章でXMLスキーマの記法を説明します。そして3章では、3D都市モデルのXMLデータと3D都市モデルのXMLスキーマを対比しながら、3D都市モデルのXMLデータの構造を解説します。最後に参考として、4章では3D都市モデルのデータモデルとXMLスキーマとの関係を解説します。

3D都市モデルのXMLデータを作成したり、読み込んだりすることを目指す人は、まず3章までを読むとよいでしょう。4章は発展的な内容ですが、UMLクラス図で記述されたデータモデルとXMLスキーマとの対応関係を理解できると、XMLスキーマに従ったXMLデータの構造をより体系的に理解できるようになります。

なお、XMLXMLスキーマには様々なルールがありますが、このチュートリアルでは、3D都市モデルで使用するXMLスキーマを理解できることを目的として、これに必要な内容のみを抽出・整理し解説しています。XMLXMLスキーマのルールを網羅するものではないことに注意してください。

本チュートリアル内で使用する図では、XMLスキーマを表す際は灰色の背景、XMLデータを表す際は青色の背景で記載しています(図0-1)。

 

01 本チュートリアルにおけるXMLスキーマとXMLデータの表記

 

なお、「XMLスキーマのオンラインマニュアル」では、3D都市モデル標準製品仕様書で使用するXMLスキーマの階層構造や内容とサンプルのXMLデータを示しています。本チュートリアルでXMLXMLスキーマの基本を理解したうえでご参照ください。

また、XMLスキーマの構造を定めるデータモデルについては、「GIS標準データモデルのチュートリアル」においてデータモデルの記法を含む基礎知識を解説し、「3D都市モデル標準製品仕様書のオンラインマニュアル」において、3D都市モデル標準製品仕様書に記載されているすべてのUMLクラス図とその定義文書を対応付けることで、「データ構造」とこれに対応する「データの内容」をわかりやすく参照できます。3D都市モデルのデータ構造を視覚的に把握したい場合には、これらをご参照ください。

 

【オンラインマニュアルとチュートリアルの位置付け】

3D都市モデル標準製品仕様書のオンラインマニュアル
3D
都市モデル標準製品仕様書のUMLクラス図、定義文書及びコードリストを対応付け、各クラスの構造と定義を参照しやすくするためのマニュアル。

XMLスキーマのオンラインマニュアル
3D
都市モデル標準製品仕様書で使用されているCityGML及びi-URElementComplexTypeの構造や内容、サンプルXMLデータを参照するためのマニュアル。

GIS標準データモデルのチュートリアル
3D
都市モデル標準製品仕様書を活用していく上で必要となるGIS標準データモデルの基礎知識を学ぶためのチュートリアル。

XMLスキーマのチュートリアル(本書)
3D
都市モデル標準製品仕様書を活用していく上で必要となるXML及びXMLスキーマの基礎知識を学ぶためのチュートリアル。