3-1. 内部属性と属性データベースの関係
ここまで見てきたように、PC-MAPPINGのデータベースには、
- 内部属性
- 属性データベース
内部属性
内部属性は、図形(ベクター)と一対一で対応するデータによって構成されるデータベースです。
図形に直接関連付けられており、図形が作成されるとそれに対応したレコードが自動的に追加されます。逆に、図形が削除された場合、その図形に対応したレコードも自動的に削除されます。
内部属性は、主に、地図上で図形に表示する情報や、図形の描画(線の太さ、面の塗りつぶし色等)を定義するためのパラメーター値を格納するために利用されます。また、データベースリンクによって、後述する属性データベースのデータを参照することもできます。
図形に直接関連付けられており、図形が作成されるとそれに対応したレコードが自動的に追加されます。逆に、図形が削除された場合、その図形に対応したレコードも自動的に削除されます。
内部属性は、主に、地図上で図形に表示する情報や、図形の描画(線の太さ、面の塗りつぶし色等)を定義するためのパラメーター値を格納するために利用されます。また、データベースリンクによって、後述する属性データベースのデータを参照することもできます。
属性データベース
属性データベースは、内部属性と異なり、図形と直接関連付けられず独立した形で存在するデータベースです。
プロジェクトに登録することで地図データと一体的に管理することができ、形式は内部属性と同様です。
属性データベースは単体でも閲覧や編集等が可能ですが、内部属性とのデータベースリンク設定により、地図と関連付けて利用することで、図形とデータの統合利用が可能となります。
属性データベースは、プロジェクト外部のファイルとして単体で保存することも可能です。拡張子は「*.ndv」です。
プロジェクトに登録することで地図データと一体的に管理することができ、形式は内部属性と同様です。
属性データベースは単体でも閲覧や編集等が可能ですが、内部属性とのデータベースリンク設定により、地図と関連付けて利用することで、図形とデータの統合利用が可能となります。
属性データベースは、プロジェクト外部のファイルとして単体で保存することも可能です。拡張子は「*.ndv」です。
内部属性と属性データベースは、共にPC-MAPPING独自のデータベースです。この2種類で、PC-MAPPINGのデータベースに関する機能の全てを利用することができます。
データベースリンク
内部属性と属性データベースの間、または属性データベース同士で、あるフィールドにキーとなる属性値を与え、相互のレコードを関連付ける仕組みを、PC-MAPPINGではデータベースリンクと呼んでいます。
例えば、下図のように、ポリゴンデータを持つレイヤーがあり、その内部属性に「大字」「地番」「現況地目」「所有者」フィールドがあるとします。
「地番」「所有者」フィールドには、具体的な名称が入力されていますが、「大字」「現況地目」フィールドには、具体的な名称が入力されておらず、代わりにコードが入力されています。そして、各コードと大字や地目の具体的な名称の対応表は、ポリゴン内部属性とは別に「大字辞書」「地目辞書」という名前の属性データベースとして整備されています。
この時、ポリゴン内部属性と、「大字辞書」「地目辞書」データベースとの間に、コードを仲立ちとして関連付けの設定(リンク設定)を行うことにより、ポリゴン内部属性側で、コードに対応する大字や地目の具体的な名称を扱うことができます。
「地番」「所有者」フィールドには、具体的な名称が入力されていますが、「大字」「現況地目」フィールドには、具体的な名称が入力されておらず、代わりにコードが入力されています。そして、各コードと大字や地目の具体的な名称の対応表は、ポリゴン内部属性とは別に「大字辞書」「地目辞書」という名前の属性データベースとして整備されています。
この時、ポリゴン内部属性と、「大字辞書」「地目辞書」データベースとの間に、コードを仲立ちとして関連付けの設定(リンク設定)を行うことにより、ポリゴン内部属性側で、コードに対応する大字や地目の具体的な名称を扱うことができます。
データベースリンク設定 概念図
データベースリンクのメリット
例えば、筆(土地の一区画のこと)の情報を入力した、「筆属性」データベースを考えてみましょう。
このデータベースには、「大字名」フィールドや「小字名」フィールドが存在しています。大字や小字は、ある自治体内に無数に存在するということはなく、むしろ同じ値を繰り返し入力する類のデータです。上の画像の場合も、「大字名」フィールドには、「中原区」「川崎区」という値が繰り返し入力されています。
このような場合に、毎回直接「中原区」「川崎区」と入力するのでは、多大な労力がかかる上、ミスも発生しやすくなります。
このような場合に、毎回直接「中原区」「川崎区」と入力するのでは、多大な労力がかかる上、ミスも発生しやすくなります。
「大字辞書」を参照してリスト選択により属性値を入力
そこで、事前に「大字辞書」「小字辞書」といった、管理対象となる値をコードと合わせて管理する辞書データベースを作成しておくことによって、新規に大字や小字を入力する際に、リストから該当するものを選択するだけでよくなるため、省力化や入力ミスの減少が期待されます。
キーフィールド
データベースリンクのキーとなるフィールドには、主キーと外部キーの2種類があります。
主キー | フィールドのレコードの値に重複がなく、一意にレコードを指定することができるフィールド |
外部キー | 主キーを参照し、主キーに対応したフィールド(データフィールド)の値しか入力できないように制約されたフィールド |
PC-MAPPINGでは、辞書として利用する属性データベースのキーフィールドが主キー、辞書を参照して値を表示したい内部属性のフィールドが外部キーに当たります。
主キーと外部キー
データベースリンクの設定方法や、辞書データベースの活用方法については、次項「3-2. データベースリンク設定を行う」をご覧ください。