<<90164G>>

P.1

TNT入門

ベクタ解析処理

草稿
1997年11月11日

TNTmips(R)

P.2

はじめに

『TNT入門』シリーズの一つであるこのパンフレットでは、ベクタ・オブジェクトの更新、緩衝地帯の作成、類似の属性を持つポリゴンの間の境界のディゾルブ処理、一つのベクタを別のベクタに対する抜き型として使用する方法など、一般的なGIS処理で使用される手法を紹介します。本書では、一連の練習問題を通して、マイクロイメージズ社のTNTmips(R)に含まれる強力なベクタ解析処理の基本ツールに慣れていただきます。これらのツールはTNTview(R)では使用できません。

必須基礎知識 本書では、読者が『TNT入門:地理空間データ表示』、『TNT入門:システムの基本操作』の練習問題を完了しているものと仮定しています。必須知識や基本操作についてはこれらの練習問題で説明されており、本書では繰り返して説明しませんので、必要に応じこれらのマニュアルで調べてください。

サンプルデータ 本書の練習問題では、TNT製品に添付されているサンプルデータを使用します。TNT製品のCDにアクセスできない場合は、マイクロイメージズ社のウェブサイトからデータをダウンロードできます。本書の最初の練習問題では、LITEDATAのVECTORANディレクトリの中のVAOプロジェクト・ファイルを使用します。同じディレクトリの中のSTATE_DLGプロジェクト・ファイルのオブジェクトも使用します。これらのオブジェクトを使用する際に保存できるよう、ハードディスク・ドライブ上にサンプルデータの読み込み/書き込み用のコピーを作成してください。

その他の資料 本書では、TNTmipsにおけるベクタ解析処理に関する概要しか示されておりません。詳細はTNTリファレンス・マニュアルを参照してください。

TNTmipsとTNTlite(TM) TNTmipsには2つのバージョンがあります。プロフェッショナル・バージョンと、無料バージョンであるTNTliteです。本書では、どちらのバージョンも「TNTmips」と呼ぶことにします。プロフェッショナル・バージョンにはハードウェア・キーが必要です。このキーがない場合、TNTmipsはTNTliteモードで動作し、プロジェクト・データのサイズが制約されるほか、TNTliteの別のコピーとの間でしかデータを共有できません。TNTliteでは、添付されたサンプルの地理データを使用して本書のすべての練習問題を完全に実行することができます。

Merri P.Skrdla博士、1997年11月11日、5.8

本書の一部のイラストでは、カラー・コピーでないと重要な点がわかりにくい場合があります。マイクロイメージズ社のウェブサイトから本書を入手されれば、カラーで印刷したり表示できます。また、このウェブサイトからは、『TNT入門』のその他のテーマに関する最新のパンフレットも入手できます。インストール・ガイド、サンプルデータ、および最新バージョンのTNTliteをダウンロードできます。アクセス先は次の通りです。

http://www.microimages.com

P.3(上、左)

ベクタ解析処理

トポロジー・ベクタの解析には、さまざまなTNTmips処理が関係してきます。ここでは、既存のベクタ・オブジェクトから要素のサブセットを作成する、緩衝地帯を作成する、さまざまな方法でベクタ・オブジェクトをマージしたり結合する、共有属性に基づいて隣接するポリゴンをディゾルブする、などの処理について説明します。

これらの処理では、ジオリファレンス情報を使用して、互いに相対的にオブジェクトを配置します。同じ地図投影内にオブジェクト群がなくても済むように、適切な変換がすべて行われます。どのオブジェクトもジオリファレンス処理されていない場合は、オブジェクト座標が位置決めに使用されます。

TNTmipsでは通常、一つの結果を得るためにさまざまな方法が存在します。たとえば、指定された区域を使用してオブジェクト・エディタ内の同じ要素をコピーして新しいベクタ・オブジェクトにペーストすることで、最初の練習問題(ベクタ要素を抽出する)と同じ結果を得ることができます。Vector Combinations(ベクタの結合)のAdd(追加)の場合と同じ結果を、Vector Merge(ベクタのマージ)でも得ることができますが、Vector Combinations(ベクタの結合)は柔軟性が高いため、ベクタ要素のサブセットや全範囲より少ないものを選択することができます。

本書ではまずVector Extract(ベクタの抽出)処理について説明します。この処理では、ベクタ・オブジェクトの一部分を抽出し、これを使用して、緩衝地帯を生成したり、後でベクタを結合します。これらの操作を行うことで、GIS解析や管理上のさまざまな問題に対処できるようになります。

P.3(右)

用語:TNTmipsではベクタ・トポロジーが厳密に保持されますので、いずれの点も複数のポリゴンに所属してはならず、線の交点には必ず1つのノードがなければなりません。TNTmipsで保持されるその他のトポロジー要素としては、各ノードを始点とする線、線の両側のポリゴン要素、各ポリゴンを形成する線要素、ポリゴン内の島ポリゴン、および各島の親ポリゴンがあります。

ステップ

## TNTmipsを起動します。
## 本書用のサンプルデータ・ファイル(2ページを参照)をハードディスク・ドライブにコピーします。

P.4(上、左)

ベクタ要素を抽出する

ステップ

## TNTmipsのメインメニューからPrepare / Vector / Extract(準備 / ベクタ / 抽出)を選択します。
## [Vector...(ベクタ...)]をクリックし、VAOプロジェクト・ファイルからHYDROLOGY(河川水路)オブジェクトを選択します。
## Region(区域)オプション・メニューをPartially Inside(一部内側)に設定し、その右側のSelect(選択)ボタンをクリックします。
## Extraction Area Definition(抽出領域を定義)ウィンドウでRegion(区域)アイコンをクリックするとドロップダウン・パネルが表示されますのでAdd Region(区域を追加)アイコンをクリックし、VAOプロジェクト・ファイルからHYDROEXTARREGを選択します。
## Include in Extraction Area(摘出領域に含める)アイコンをクリックします。
## Select Region(区域を選択)ウィンドウで[Accept(確定)]をクリックします。
## Extract Vector(ベクタを抽出)ウィンドウで[Copy...(コピー...)]をクリックします。
## 本書用にコピーしたファイルを使用して新しいファイルを作成します。
## デフォルトのオブジェクト名にEXTRCTを追加し、[OK]をクリックします。

P.4(右)

抽出するベクタ要素を選択するために、さまざまな方法があります。要素タイプを制限したり、属性や問い合わせを使用したり、マウスや区域を使用して画面から要素を選択することができます。また、抽出元の領域を制限することもできます。これらの方法を組み合わせて使用することもできます(たとえば、定義する対象区域内の点を属性により選択し、線を問い合わせにより選択するなど)。

線とポリゴンに対して別々の設定を使用することで、いずれか、または両方の属性を選択に使用したり、必要ならばポリゴンに含まれない線を排除することができます。抽出したベクタ・オブジェクト用のトポロジーが設定されていない場合は、選択された線で形成されるポリゴンが作成されます。

抽出する領域に対してSelect(選択)ボタンをクリックすると、3つのウィンドウ(Select Region(区域を選択)、Extraction Area Definition Tools(抽出領域定義ツール)、Layer Manager(レイヤー・マネージャ))が開きます。入力ベクタはSelect Region(区域を選択)ウインドウに表示されます。Extraction Area Definition Tools(抽出領域定義ツール)ウインドウのツールを使用して、摘出するための境界を設定します。この練習問題ではLayer Manager(レイヤー・マネージャ)ウインドウは無視して構いません。

#図#
入力ベクタ
入力ベクタと選択された区域
抽出されたベクタ

Region(区域)アイコンをクリックすると、Region Manager(区域マネージャ)機能を含むようにExtraction Area Definition(抽出領域定義)ウインドウが拡張されます。

P.5(上、左)

緩衝地帯を生成する

Buffer Zones(緩衝地帯)処理は、緩衝地帯に選択された要素から指定された距離だけ後退した位置にポリゴンを生成します。すべてまたは一部の要素タイプを緩衝地帯用に選択できます。属性や問い合わせを使用することもできますし、マウスまたは区域を使用して画面から要素を選択することもできます。ポリゴンを緩衝地帯処理する場合は、ポリゴンの内側、外側、または両側に後退距離を設定して緩衝地帯を生成するように選択できます。

属性により緩衝地帯用の要素を選択する場合は、(この練習問題のように)各属性値に対して異なる後退距離を割り当てることができます。必要ならば、緩衝地帯用に選択された要素の属性を、緩衝地帯ポリゴンに転送することもできます。抽出されるベクタには線要素しか含まれませんので、他の要素タイプ用のオプションは淡色表示になります。

異なる属性値には、異なる後退距離を割り当ることができます。

#図#
入力ベクタ
結果として得られた緩衝地帯
緩衝地帯に入力を重ねた図

P.5(右)

ステップ

## Interpret / Vector / Buffer Zones(解釈 / ベクタ / 緩衝地帯)を選択します。
## [Vector...(ベクタ...)]をクリックし、前の練習問題で作成したHYDROLOGYEXTRCTオブジェクトを選択します。
## Lines(線)オプション・メニューをBy Attribute(属性別)に設定し、[Select...(選択...)]をクリックします。
## Value(値)フィールドの値を100に変更し、[Assign(割り当て)]をクリックします。
## [Accept(確定)]をクリックします。
## [Attribute Control...(属性制御...)]をクリックします。
## Reassign Lines(線の割り当てを修正)ボタンをオンにし、Attribute Control(属性制御)ウィンドウでAccept(確定)をクリックします。
## [Run...(実行...)]をクリックし、抽出したオブジェクトを含むファイル内の<新たらしいオブジェクト>を選択し、デフォルト名に100_200を追加して[OK]をクリックします。

属性は、線から緩衝地帯ポリゴンに転送されます。

P.6(上、左)

ベクタの結合:共通部分(AND)

ステップ

## Prepare / Vector / Combine(準備/ ベクタ / 結合)を選択します。
## Operation(処理)オプション・メニューをIntersect(AND)(共通部分)に設定します。
## Source(ソース)パネルで[Select...(選択...)]をクリックし、VAOプロジェクト・ファイルからCBSOILSEXTRACTを選択します。
## Operator(オペレータ)パネルで[Vector...(ベクタ...)]をクリックし、5ページの練習問題で作成した緩衝地帯ベクタを選択します。
## [Run...(実行...)]をクリックし、緩衝地帯の出力を含むプロジェクト・ファイルを選択し、デフォルト名にINT_ALLを追加します。
## 処理が終わったら、 Operator(オペレータ)パネルのSelect(選択)オプション・メニューをBy Element(要素別)に設定します。
## [Specify...(指定...)]をクリックします。
## 大きな緩衝地帯ポリゴンを左クリックし、Select Element View(要素ビューを選択)ウインドウで表示領域を右クリックし、[Accept(確定)]をクリックします。
## [Run...(実行...)]をクリックし、前の出力を含むファイルを選択し、デフォルト名にINTERSを追加します。
## Spatial Data Display(空間データ表示)で結果を表示します。

#図#
ソース
オペレータ
地形の重なり
結果(すべて)
結果(島の部分なし)

P.6(右)

Vector Combinations(ベクタ結合)処理を使用すると、ジオリファレンスにより(ジオリファレンスがない場合はオブジェクト座標により)数学的にベクタ・オブジェクトを結合することができます。地形範囲による結合は非常に強力な機能であり、この機能を使用すると、異なる縮尺や異なる地図投影で作成されたベクタ・オブジェクトを混合して1つのベクタ・オブジェクトにすることができます。

ベクタ結合用の入力オブジェクトには、ソースおよびオペレータという2つのタイプがあります。簡単に言えば、オペレータはクッキーの抜き型、ソースはクッキーを作るためのロール状の生地であると考えることができます。結合処理にはさまざまなものがあり、場合によって出力は、クッキーであったり、クッキーを抜いた後の生地であったり、クッキーとその周囲の生地であったりします。ベクタ結合処理には14個の異なる演算が含まれ、これを簡単に説明するにはさまざまな方法が考えられるでしょう。ここで行う最初の演算では、出力としてクッキーが生成されます。この演算は2回行われますが、1回はすべてのオペレータ要素が選択された状態で、もう1回は緩衝地帯内にある領域のみが選択された状態で実行されます。

P.7(上、左)

和集合(OR)と排他的OR(XOR)

一部のベクタ結合については、セット理論を使用すると最も良く説明できます。セットは、要素およびその地理的な位置によって定義されます。Vector Combinations(ベクタ結合)処理で使用可能な3つのセット演算として、Intersect(共通部分)、Union(和集合)、Exclusive Union(排他的和集合)があります。これら3つのどの演算で得られる結果にも、ソースおよびオペレータの両方の要素と属性が含まれる可能性があります。

Union(和集合)演算では、Add(追加)と同じ結果が得られ、ソース、オペレータ、または両方の属性を持つ要素が結果に含まれます。Intersect(共通部分)演算の結果はExtract(抽出)やClip(切り取り)と同じになりますが、オペレータの属性は、Intersect(共通部分)演算による出力にしか対応付けられません。Exclusive Union(排他的和集合)演算はIntersect(共通部分)と逆であり、ソースとオペレータが重なり合わない領域からの出力要素だけが含まれます。このように、個々の出力要素には、ソース、オペレータ、または両方の属性が含まれます。

結果を見る場合、緩衝地帯の中に島ポリゴンが選択されていないことによる効果に注目してください。すべてのオペレータ要素が選択された場合はどのように違う結果になったでしょうか?(確信がない場合は予想結果をチェックしてください)。島を選択せず緩衝地帯ポリゴンだけを選択した場合は、Union(和集合)演算の要素出力に影響が現れるでしょうか?

#図#
和集合
排他的OR

P.7(右)

ステップ

## 前の練習問題のステップ1、3、4を繰り返します(処理を終了してしまった場合)。
## Operation(演算)オプション・メニューをUnion(和集合)に設定します。
## Operator(オペレータ)パネルのSelect(選択)オプション・メニューをAll(すべて)に設定します。
## [Run...(実行...)]をクリックし、Intersect(共通部分)の出力が含まれているプロジェクト・ファイルを選択し、デフォルト名にUNIONを追加します。
## 処理が終わったら、Operation(演算)オプション・メニューをExclusive Union(排他的和集合)(XOR)に設定します。
## Operator(オペレータ)パネルのSelect(選択)オプション・メニューをBy Element(要素別)に設定し、[Specify...(指定...)]をクリックします。
## 大きな緩衝地帯ポリゴンを左クリックし、さらに右クリックし、[Accept(確定)]をクリックします。
## [Run...(実行...)]をクリックし、前の出力を含むプロジェクト・ファイルを選択し、デフォルト名にxorを追加します。
## Spatial Data Display(空間データ表示)で結果を表示します。

P.8(上、左)

減算

ステップ

## Prepare / Vector / Combine(前の練習問題の後にVector Combinations(ベクタ結合)処理を終了しなかった場合は、Operation(演算)をSubtract(減算)に変更してRun(実行)をクリックするだけでOKです(ステップ8))。
## Operation(演算)オプション・メニューをSubtract(減算)に設定します。
## Source(ソース)パネルで[Select...(選択...)]をクリックし、VAOプロジェクト・ファイルからCBSOILSEXTRACTを選択します。
## Operator(オペレータ)パネルで[Vector...(ベクタ...)]をクリックし、5ページの練習問題で作成した緩衝地帯ベクタを選択します。
## Operator(オペレータ)パネルのSelect(選択)オプション・メニューをBy Element(要素別)に設定します。
## [Specify...(指定...)]をクリックします。
## 大きな緩衝地帯ポリゴンを左クリックし、さらに[Accept(確定)]をクリックします。
## [Run...(実行...)]をクリックし、緩衝地帯の出力を含むプロジェクト・ファイルを選択し、デフォルト名にSUBTRを追加します。
## Spatial Data Display(空間データ表示)で結果を表示します。

P.8(右)

Subtract(減算)では、オペレータの領域内にあるソース・オブジェクトから要素を削除します。重合領域内にはオペレータからの属性に対応付ける要素が残っていないため、出力されるオブジェクトにはこれらの属性が含まれません。Subtract(減算)は、一般に、更新前にオブジェクトの部分内の要素を削除するために使用されます。この例で使用されるベクタ・セットに対しては、緩衝地帯の領域内の土壌ポリゴンを削除してから、結果を、緩衝地帯の作成に使用された河川水路とマージすることもできます。

他の演算と同様、Subtract(減算)を適用する際に島を含めるかいなかは、後でデータを使用する可能性や島のサイズによって決まります。By Element(要素別)選択オプションを使用して要素を選択する他の方法を問い合わせに組み込んで、(一定のサイズ未満の島やポリゴンを捜すなどの)問い合わせを適用し、次に手動操作で選択されたセットに加算や減算を行ってから、オペレータやソース内の選択された要素を確定することができます。島を含まずにSubtract(減算)を行う方法しか説明しませんでしたが、島を含む場合と含まない場合の結果を次に示します。

#図#
島がオペレータの一部として選択されていない
島がオペレータに含まれている

P.9(上、左)

抽出演算

Extract(抽出)演算は、Vector Combinations(ベクタ結合)処理の中の、オペレータをクッキーの抜き型としてしか使用せず要素や属性のソースとしては使用しない他のほとんどの演算とは異なります。ただし、オペレータの範囲がソースより大きく、かつAdd Border(境界を追加)オプションのいずれかを選択した場合は、オペレータから線要素が得られます。

他の場合と同様、結果を何に使用したいかによって選択するオプションは決まりますが、ソース・オブジェクトがポリゴン・データである場合は、ラベルと線の選択をオフにしたいと考えるでしょう。この選択をオフにしない場合は、ポリゴンに対応付けられていないラベルや、元はポリゴンの境界の一部であった線が結果に含まれます。

この練習問題では、8つの抽出オプションのすべては使用しませんが、興味がある方は是非すべてのオプションを試してください。Extract Outside(外側を抽出)とClip(切り取り)は、前の練習問題で使用されたSubtract(減算)オプションと結果がまったく同じになりますので、意図的に省略してあります。また、Extract Inside(内側を抽出)とClip(切り取り)も、Intersect(共通部分)と結果がほぼ同じになることを思い出してください。ただし、前者ではソースの属性だけが結果に含まれるのに対し、後者ではソースとオペレータの両方の属性が結果に含まれる点は異なります。

#図#
Extract Completely Inside(完全に内側の部分を抽出)
Extract Partially Inside(部分的に内側の部分を抽出)
Extract Completely Outside(完全に外側の部分を抽出)
Extract Outside Add Border(外側を抽出して境界を追加)

P.9(右)

ステップ

## Vector Combination(ベクタ結合)ウィンドウでOperation(演算)をExtract Completely Inside(完全に内側の部分を抽出)に設定します。
## 処理を終了してしまった場合は、前の練習問題で使用したのと同じソースとオペレータを選択します。
## 最後の練習問題の後で終了した場合は、選択されるオペレータ要素を緩衝地帯ポリゴン(前の練習問題の中のステップ4〜7)に限定します。
## Line(線)とLabel(ラベル)オプション・ボタンをNone(なし)に設定します。
## [Run...(実行...)]をクリックし、出力にECIという名前を付けます。
## 処理が終わったら、Operation(演算)をExtract Partially Inside(部分的に内側の部分を抽出)に変更し、[Run...(実行...)]をクリックして出力にEPIという名前を付けます。
## 処理が終わったら、Operation(演算)をExtract Completely Outside(完全に外側の部分を抽出)に変更し、[Run...(実行...)]をクリックして出力にECOという名前を付けます。
## 処理が終わったら、Operation(演算)をExtract Outside Add Border(外側を抽出して境界を追加)に変更し、[Run...(実行...)]をクリックして出力にEOABという名前を付けます。

P.10(上、左)

重なり合うベクタ・オブジェクトをマージする

ステップ

## Prepare / Vector / Merge(準備 / ベクタ / マージ)を選択します。
## [Select...(選択...)]をクリックし、NE_DLGプロジェクト・ファイルのROADS(道路)、RAILROADS(鉄道)、MISCELLANEOUS(その他)オブジェクトを選択します。
## Table Joining Options(テーブル結合オプション)メニューがIf Same Table Name and Structure(名前と構造が同じ場合)に設定します。
## Remove Unattached Records(対応付けられていないレコードを削除)とRemove Duplicate Records(重複するレコードを削除)がオンになっているかチェックします。
## [Run...(実行...)]をクリックし、出力用にデフォルト名を受け入れ、本書の練習問題で生成された新しいオブジェクト用にここまで使用してきたのと同じファイルに保存します。
## Spatial Data Display(空間データ表示)で結果をチェックします(線スタイルとしてはBy Attribute(属性別)を選択します)。

#図#
道路
鉄道
仮説滑走路
道路、鉄道、仮説滑走路がすべて1つのオブジェクトに含まれるよう3つのオブジェクトがマージされています。

P.10(右)

任意の数のベクタ・オブジェクトを選択してマージし、1つのオブジェクトにすることができます。入力オブジェクトに対応付けられたすべてのデータベース・テーブルは、これらの構造が同じ場合は、テーブルを結合するオプションにより出力に転送されます。また、処理中に、要素に対応付けられていないレコードをすべてのテーブルから削除するオプションや、結合されたテーブルから重複するレコードを削除するオプションも用意されています。

Merge(マージ)処理は、選択されたベクタ・オブジェクトの全範囲のすべての要素を結合するように作られています。ベクタ演算の中で、要素のサブセットや入力オブジェクトの全範囲より少ないものを選択して出力に含めることができないのは、マージだけです。2つのオブジェクトだけをマージする場合は、すべての要素と区域全体が選択されている状態でVector Combinations(ベクタ結合)のUnion(和集合)演算を使用して同じ結果を得ることができます。3つ以上のオブジェクトから選択された要素をマージしたい場合は、Vector Combinations(ベクタ結合)で1つの演算の出力を次の演算のソースに選択しながらUnion(和集合)演算を連続的に実行することもできますし、すべてのオブジェクトをマージしてからExtract(抽出)処理を実行して希望する要素だけを新しいオブジェクトにコピーすることもできます。

P.11(上、左)

置換演算

Replace(置換)演算は、オペレータを使用して、オペレータ内の(選択された)ポリゴンの範囲内にあるソース領域を置換します。ソース・オブジェクトはオペレータと接する位置で切り取られ、(選択された)オペレータ・ポリゴン内にあるすべてのソース要素が削除されます。他のベクタ解析演算と同様、入力オブジェクトがすべて同じ地図投影内になくても、選択された要素が地理的に正しく配置されます。

この練習問題では、Replace(置換)演算を使用して、より詳細な小さい領域を、より大きい地図に導入します。現在のところ、Replace(置換)演算で出力に組み込まれるのはOperator(オペレータ)ポリゴンだけです。この練習問題用に選択されたもののように多数のオブジェクトがある場合、すべての線は、正しいベクタ・トポロジーの副産物としてポリゴンの一部となります。

#図#
ソース
Source(ソース)オブジェクトはLat / Lon(緯度 / 経度)に対して、Operator(オペレータ)はUTMに対して、ジオリファレンス処理されます。
Operator(オペレータ)
Replace(置換)演算の結果

P.11(右)

ステップ

## Prepare / Vector / Combine(準備 / ベクタ / 結合)を選択します。
## Operation(演算)オプション・メニューをReplace(置換)に設定します。
## Source(ソース)パネルで[Select...(選択...)]をクリックし、NE_DLGプロジェクト・ファイルからHIWAYSSTATEBNDオブジェクトを選択します。
## Operator(オペレータ)パネルで[Vector...(ベクタ...)]をクリックし、10ページで作成したMERGEオブジェクトを選択します。
## [Run...(実行...)]をクリックし、出力オブジェクトにREPLACEという名前を付け、本書の練習問題で新しいオブジェクト用にここまで使用してきたファイルに保存します。
## Spatial Data Display(空間データ表示)で結果をチェックします(線スタイルとしてはBy Attribute(属性別)を選択します)。

P.12(上、左)

隣接するベクタ・オブジェクトをマージする

ステップ

## Prepare / Vector / Merge(準備 / ベクタ / マージ)を選択します。
## [Select...(選択...)]をクリックし、VAOプロジェクト・ファイルからCBSOILSEXTFIACT、CBSOILSEXTRCT2の順に選択します。
## Output Projection(出力投影)がLatitude / Longitude(緯度 / 経度)になっており、Table Joining Options(テーブル結合オプション)ボタンがIf Same Table Name and Structure(テーブルの名前と構造が同じ場合)に設定されているか、チェックします。
## Remove Unattached Records(対応付けられていないレコードを削除)とRemove Duplicate Records(重複するレコードを削除)ボタンがオンになっているかチェックします。
## [Run...(実行...)]をクリックし、出力用にデフォルト名を受け入れ、本書の練習問題で生成された新しいオブジェクト用にここまで使用してきたのと同じファイルに保存します。
## Spatial Data Display(空間データ表示)で結果をチェックします。

P.12(右)

Merge(マージ)処理は、基本的には、郡の境界、輸送路、河川水路などの異なるデータ・レイヤーを示すベクタ・オブジェクトを結合できるように作られていますが、この練習問題のように隣接するオブジェクトをマージすることもできます。

隣接する地上領域を示すベクタ・オブジェクトでは、土壌地図の縁部で分割された土壌タイプ・ポリゴンや1つの地図区画から隣の地図区画に続く道路や河川水路など、1つの物を示す要素が、境界の両側に存在することが多くあります。このように分割されたポリゴンがあり、データベース・テーブルに格納されている両者の属性が同じであり、次の練習問題で示すように構造が同じである場合は、これらのポリゴンから1つのポリゴンを作成することができます。1つの地図から別の地図へ続く属性の同じ線は、マージ処理の最後の段階でトポロジーがチェックされるときに自動的に1本の線に接合されます(ただし接合部に別の線が出てくるためにノードが必要となる場合は除きます)。相互に連続している線群がずれており、マージ処理の実行時に接合されなかった場合は、必要に応じオブジェクト・エディタを使用して線の端と端を接合し、Remove Excess Nodes(余分なノードを削除)機能を実行してギャップを横切る線の形状を修正します。(後の練習問題「ずれている線を合わせる」の項を参照してください。)

スタイル・オブジェクトは、最初に選択されたオブジェクトからコピーされます。

P.13(上、左)

ポリゴンをディゾルブ処理する

Dissolve Polygon(ポリゴンをディゾルブ処理)を使用すると、1つまたは複数の属性を選択し使用して、線の両側のポリゴンを1つのポリゴンに接合すべきかいなかを評価できます。この例では、1つの属性と土壌クラスを使用します。ベクタ・オブジェクトが選択されると、そのテーブルがすべて左側のリストに表示されます。リスト内のテーブルをクリックすると、ハイライト表示されたテーブルに対応するすべてのフィールドが中央のリストに表示されます。テーブルに複数のフィールドがある場合は、<<All>>を選択することもできます。<<All>>をクリックする場合は、テーブル内の各フィールドの属性値が、接合する2つの隣接ポリゴン間で同じでなければなりません。

必要ならば、任意の数のテーブルから任意の数のフィールドを選択できます。隣接するポリゴンの間の境界部をディゾルブ処理する最も一般的な理由は、元は別の地図上にあったため、または一方が間違って分類されたために分割された複数のポリゴンを接合することにあります。また、野生生物の生息地としての適性により土壌クラス・ポリゴンをディゾルブ処理するなど、元のポリゴン境界に直接関係付けられていない属性を選択することで大幅に異なる地図を作成することもできます。

マージされたベクタには入力ベクタ(左側)の縁部をマークする線がありますが、線の両側のポリゴンが(中央の)属性を共有している場合はディゾルブ処理することができます。また、Polygon Dissolve(ポリゴンのディゾルブ処理)を使用し、最初のポリゴン(右側)の生成時に使用したのと異なる属性を使用すると、地図の構成を修正することができます。

P.13(右)

ステップ

## Prepare / Vector / Dissolve Polygons(準備 / ベクタ / ポリゴンをディゾルブ処理)を選択します。
## [Vector...(ベクタ...)]をクリックし、12ページで作成したマージ済みの土壌地図を選択します。
## テーブル・リストのCLASS(クラス)をクリックし、さらにField(フィールド)リストのClass(クラス)をクリックします。
## [Add-->(追加)]をクリックします。
## ウィンドウ下部のRemove Excess Node(余分なノードを削除)トグルがオンになっているかチェックします。
## [Run...(実行...)]をクリックし、出力にDISSOLVEという名前を付け、本書で新しいオブジェクト用に使用してきたファイルに保存します。
## 処理が終わったら、Message(メッセージ)ウインドウで[OK]をクリックします。
## Spatial Data Display(空間データ表示)で結果をチェックします。

処理が完了すると、削除された線の数と処理時間が表示されます。

P.14(上、左)

ずれている線を合わせる

ステップ

## Prepare / Edit(準備 / 編集)を選択します。
## Add Reference Layer(参照レイヤーを追加)アイコンをクリックし、VAOプロジェクト・ファイルからREFERENCE LINE(基準線)オプションを選択します。
## Open Object for Editing(編集するオブジェクトを開く)アイコンをクリックし、同じファイル内のMERGED_WITH_GAPベクタ・オブジェクトを選択します。
## Vector Tools(ベクタ・ツール)ウィンドウで、大きなEdit Elements(要素を編集)アイコンをクリックします。
## Element Selection(要素選択)ウィンドウのOperation(操作)パネルでSnap(スナップ)アイコンをクリックします。
## いずれかのギャップが明瞭に見えるまで表示を拡大します。
## Snap Distance(スナップ距離)を30ピクセルに設定します。
## いずれかのギャップの右側の線をクリックし、Apply Operation(演算を適用)をクリックして[Active(アクティブ)]にします。他の2つのギャップについても同じ操作を繰り返します。
## ベクタに対応するControls(コントロール)アイコンをクリックし、Remove Excessicons(余分な部分を削除)アイコンを選択します。

右側の3つのウインドウとObject Editor Spatial View(オブジェクト・エディタ空間ビュー)ウインドウを使用してオブジェクトを編集します。

P.14(右)

マージされたベクタに対しては、継ぎ目と交差する線を、本来あるべき状態にするためには多少の編集が必要となる場合もよくあります。この練習問題用のオブジェクトには、接合すべきギャップが3つあります。一方の端点を移動することで2本の線を接合する場合、ここではスナップ操作を使用しますが、線を追加してギャップ部分をつないだ場合のように属性の割り当てを考慮する必要はありません(ノードの両側で属性が同じである場合は、Remove Excess Nodes(余分なノードを削除)機能で2つの線が1つになります)。

CADフォーマットには基準線がありますので、接合すべき線を容易に配置できます(ギャップの位置と拡大したものを下の図に示します)。この処理は必ず画面上で行われますので、Snap Distance(スナップ距離)は画面ピクセル単位で指定されます。したがって、Snap Distance(スナップ距離)はそのときの倍率によって異なります。30ピクセルあれば恐らく十分でしょう。また、Edit(編集)機能を選択し、一方の線の接していない頂点を他方の線に接するようにドラッグすることもできます。ベクタ・オブジェクトの編集に関する詳細は、『TNT入門:ベクタ地理データの編集』を参照してください。

基準線に沿った3つのギャップを見つけ、編集してください。

P.15(上、左)

要素と領域の選択

ベクタ演算の中で、要素のサブセットや演算に使用する特定の領域を選択できないのは、マージ処理だけです。この練習問題では、特に区域を参照して要素を選択したり領域を指定する場合の2、3のポイントを説明します。

ベクタ演算用に選択される領域を制約する際、処理の中で1回だけ制約したい場合、点は制約せず線、ポリゴン、ラベルは制約したい場合などがあります。個々の要素タイプに対応する区域ごとに選択を行う必要があるのは、一つの領域の点と、出力に含まれる領域など他の領域の線が欲しい場合だけです。区域切り取りオプションは、領域でなく要素を選択するためのものですので、点、線、ポリゴンの選択には使用できません。

#図#

特定の問い合わせに適合する特定の属性、または表示された要素から選択された特定の属性を持つものが処理されるように、選択される要素を制約する場合は、これらのオプション・メニューを使用します。

処理する要素を選択するための領域を制約する場合は、このオプション・メニューを使用します。

抽出領域と参照用の入力オブジェクト

抽出領域のみ

抽出領域を作成する場合は、必要な数のツールを使用できます。ただし、領域に要素を追加する準備ができたら必ず、Include in Extraction Area(抽出領域に含める)アイコンをクリックしてください。抽出領域の輪郭の線のカラーと太さを変更するには、その区域レイヤーに対応するLayer Controls(レイヤー・コントロール)を使用します。

P.15(右)

ステップ

## Prepare / Vector / Extract(準備 / ベクタ / 抽出)を選択します。
## VAOプロジェクト・ファイルからHYDROLOGY(河川水路)オブジェクトを選択します。
## Region(区域)オプション・メニューをClip Inside(内側を切り取る)に設定します。
## 右上の四角形を引き出します。
## Include in Extraction Area(抽出領域に含める)アイコンをクリックします。
## Circle(円)ツール・アイコンをクリックし、上部中央に円を描画します(四角形と多少重なります)。
## Include in Extraction Area(抽出領域に含める)アイコンをクリックします。
## Region(区域)ツールをクリックし、さらにAdd Region(区域を追加)アイコンをクリックし、5ページの練習問題で作成した緩衝地帯を選択します。
## Include in Extraction Area(抽出領域に含める)アイコンをクリックし、さらに[Accept(確定)]をクリックします。
## [Copy...(コピー...)]をクリックします。




1