データモデルは、ある目的に必要なデータを整理し、それをデータに含まれるべき内容やデータの構造として記述した、データの定義に該当するものです。データモデルに従って作成された結果が、データになります。
利用目的によって必要なデータは異なります。例えば、「建物」を例に考えてみましょう。
AさんとBさんは、それぞれ自身が保有するビルを建て替えようとしています。
Aさんは、業務用ビルを建設するか、マンションを建設するかを判断するために、データを使って定量的に分析したいと考えています。この場合、競合となる業務用ビルやマンションの分布がわかる周辺の建物のデータがあるとよいでしょう。このとき、必要なデータとして、Aさんのビルからの距離や位置関係を把握するための「建物の位置」が考えられます。この「建物の位置」は建物の詳細な形状というよりも、大まかな場所がわかればよいので、点でよいでしょう。また、業務用なのか居住用なのか、それ以外なのかを区別するための「建物の用途」も必要です。
一方、Bさんは建て替え後にどんな形状のビルにするかを判断するために、周辺の建物による日陰の影響や、その反対に自分のビルが周辺の建物に及ぼす日陰の影響を分析したいと考えています。そのためのシミュレーションを行う場合、建物の高さや屋根の傾きなどがわかる、「詳細な形状」のデータが必要です。また、属性として「外壁の素材」があれば、日光の反射による影響量を計算することができます (図1-1)
図 1‑1 AさんとBさんの利用目的と必要なデータ
この場合、AさんもBさんも建物のデータを必要としていますが、Aさんが必要とするデータのデータモデルには、「建物の位置」や「建物の用途」が含まれていなければなりませんし、Bさんが必要とするデータのデータモデルには、「詳細な形状」や「外壁の素材」が含まれていなければなりません。このように、データを使いたい目的が異なると、そのデータモデルは異なります。
ポイント: データモデルは、データの内容と構造を示すものです。データの利用目的が異なれば、データモデルも異なります。
地理空間データとは、地球上の位置に関する情報を含むデータです。地理空間データを作成する際には、どんなデータをどんな構造で作成すべきかを把握する必要がありますので、データモデルが必要です。もしデータモデルがない場合には作成しなければなりません。また、地理空間データを利用する際にも、どんな内容のデータがどんな構造で含まれているのかを知りたい場合は、データモデルが必要になります。
ここで、地理空間データのデータモデルを構成する基本的な要素を「地物(Feature)」と呼びます。
地物は、建物や道路といった目に見えるモノだけではなく、行政界や都市計画区域といった、目に見えない仮想的なモノや概念的なモノも含みます。
現実の世界には、様々な地物が存在します。地物は様々な性質を持っており、また、地物と地物との間には様々な関係性があります。「地理空間データを作成する」とは、地物とその性質や関係性をデータとして記述することです。このとき、現実の世界の全てを地理空間データとして記述しようとすると、膨大なデータ量となり、作成には時間やお金がかかります。そのため、目的に必要な地物とその性質・関係性のみを抽出して地理空間データとして記述するのが現実的でしょう。
地理空間データのデータモデルは、現実の世界に存在する様々な事柄から、何を地物として、また、その地物のどのような性質・関係性を抽出すべきかを示したものです。つまり、地理空間データのデータモデルは、目的に必要な地物の定義の集まりといえます。また、地理空間データのデータモデルのことを「応用スキーマ(Application Schema)」と呼びます。
地理空間データを作る際には、まずは必要な地物を定義し、地理空間データに含むべき範囲を明確にする、すなわちデータモデルを作る必要があります。データモデルには、地理空間データの利用目的に必要な地物の定義が網羅されていなければなりません。データモデルが必要十分であれば、そのデータモデルに従って作成された地理空間データは、その利用目的に合致したものとなります。
ポイント: 地理空間データのデータモデルの基本的な要素を「地物」と呼びます。
ある目的に必要な地理空間データを入手する方法として、以下の3つの方法が考えられます。
①自分で作成する
②他の人に作ってもらう
③他の人が作ったものを使う
このうち、「②他の人に作ってもらう」場合は、作ってくれる人に対して、どんな地理空間データが必要なのか、つまりデータモデルを伝える必要があります。また、「③他の人が作ったものを使う」場合は、それがどんな地理空間データなのか、つまり他の人が作ったデータモデルを自分で理解する必要があります。
つまり、データモデルは、他の人が理解しなければならない場面があります。特に、自分が作ったデータを、より多くの人に使ってもらえるようにしたい場合には、「データモデルを誰もが理解できる」ことが重要です。
そこで、地理空間データに関する国際的な標準化団体であるISO/TC 211では、地理空間データのデータモデルを記述する際に、UMLクラス図という記法を採用することをルールとして定めました。前述したように目的に応じてデータモデルは異なりますが、同じ記法に則ってデータモデルが作成されていれば、データモデルを読み、理解できるようになります。データモデルを理解できれば、そのデータモデルに従って作成されたデータを理解できるようになります。
次章では、UMLクラス図の記法を説明します。
ポイント: 地理空間データのデータモデルの相互理解を可能とするため、共通の記法としてUMLクラス図が採用されています。