STEP10 属性データの結合


1.属性データの結合
 1個のベクトルデータは図形と属性のセットから構成されている。GISデータ全体としては図形オブジェクトと属性データセットがリンクされたイメージを持つ。SuperMapのデータセットには図形情報を含まない,属性情報テーブルだけで構成された属性データセットが存在する。(マニュアルでは純属性データセット)
 図形データセットが有する属性情報をもとに属性データセットの情報を結合することが可能である。



(1)観測結果エクセルファイルのインポート
 インポート手順は前項までに解説済みであるので,ここでの説明は省略。



 図形データセットと属性データセットを結びつけるキーを十分意識してエクセルデータのフィールド名称を与える必要がある。今回の例では属性データセット観測場所Aから生成したポイントデータセットpointDT 内のフィールドIDと共通データがエクセル表の先頭列に使用されており,このデータをキーとしてデータを結合することとなる。SuperMapの結合処理では,キーとして利用するため同じフィールド名称にする必要がある。また,キー以外に同じ名称のフィールドがある場合はそのフィールドに属性データセットの値が上書きされる。
(2)属性データの結合
 @データセット/属性テーブルの結合より,『属性テーブルの結合』ウィンドウを開く。
 Aポイントデータセットを追加先に,属性データセットを追加元に設定し,キーとなるフィールド名称を共通フィールドに設定する。



 BOKボタンにより処理開始。終了後ポイントデータセットをマップ表示,属性情報を確認する。

2.属性データの結合例2
 属性データセットはエクセル表やアクセスデータと同様な構造を有しているので,属性データセットとしてインポートする事が可能である。以下,エクセルデータ表をSuperMap属性データセットにインポートする手法を示す。



(1)エクセルデータのインポート手順
 @エクセルデータ沖縄県市町村別人口変化から市町村名と人口以外の不要なデータを消去する。

>

 A各列にデータ型を設定する。エクセルの操作は列などの範囲を選択後,右クリックよりセル書式設定を使って変更する。今回は市町村名を文字列,人口を整数とした。



 B先頭行にフィールド名を追加する。今回は以下の図のようにフィールド名を決定した。



 CデータをDB4形式で保存する。ファイル形式は保存画面のファイルの種類より選択。今回はoki_pop.dbfとした。



 DSuperMapへのインポート。沖縄本島の市町村ベクトルデータを含むデータソース統計を開く。
 Eデータソース統計を右クリック,『データセットのインポート』を選択。『データーインポート』ウィンドウが開く。『ファイルの追加』ボタンを押し,ファイルを開くウィンドウを表示。ファイルの種類より『DBFデータベースファイル(*.dbf)』を選択し,市町村別人口の表 oki_pop.dbf を開く。




 Fデータインポート完了後,データソース統計内に属性データセットoki_pop が作成されている。
属性データセットoki_pop をダブルクリックすると属性データセットの一覧表が表示される。エクセルデータからインポートしたデータ以外にSuperMap内部属性のSmID及びSmUserIDが付加されている。




属性情報一覧はViewerでは確認できないが,データソースファイルは拡張子がSDB とSDD の2つのファイルから構成されており,SDB は空間データを,SDD は属性データを保存している。属性情報を保存するSDD形式ファイルは,アクセスファイル形式と同じ構造のファイルであるため,データベースソフトのアクセスで直接開き,編集することが可能である。

(2)属性データセットの結合
データソース統計内にはポリゴンデータソースokinawa_Dと属性データセットoki_pop が作成されている。okinawa_Dとoki_popの属性値を結合するためには,両データセット属性値に共通のキーとなるフィールド及びフィールドデータが必要になる。今回は市町村名をキーとして両属性情報を結合する。
 @属性値を結合をするための条件を整える。
 @)両データベースのキーは完全に一致させる。
  okinawa_DのNAME中のデータは例えば“島尻郡東風平町”となっているが,oki_pop のNAMEでは“東風平町”となっている。このような場合属性値の修正が必要になる。



 A)結合のキーが入力されたフィールドの名称を共通にする。okinawa_DのフィールドNAME とoki_pop のフィールドNAME,両フィールドとも市町村名が入力されている。



Aメニューからデータセット/属性テーブルの結合を選択する。
『属性テーブルの結合』ウィンドウが開く。
追加先のデータセットとして,ベクトルデータからなるokinawa_Dを設定し,追加元のデータセットとしては属性テーブルのoki_pop を選択する。また両データを結合するためのキーとなる共有フィールドにNAME を指定する。




 B処理終了後 okinawa_D の『属性データの表示』より属性テーブルを開くと,結合された属性値が確認出来る。また,okinawa_Dのマップを開き,適当なオブジェクトの属性値を確認してみること。