JIS X 7107:2005 地理情報-空間スキーマ | ページ 23

                                                                                            105
X 7107 : 2005 (ISO 19107 : 2003)
TPExpression( dt : TPDirectedTopo) : TPExpression = [{ <1, dt>}]
TPExpression(sdt : Set<TPDirectedTopo>) : TPExpression =
[{ <1,dt> | sdt.contains(dt)}]
7.3.20.4 plus “plus”(加法)操作は,TPExpressionの多項式加算として機能する。これは,元となる
TPPrimitiveのインスタンスが共通なTPDirectedTopo要素同士を,その“方向性”係数を加えることによ
って結合したものとする。係数が0になった項は,削除する。
TPExpression::plus(s : TPExpression) : TPExpression
7.3.20.5 minus “minus”(減法)操作は,TPExpressionの多項式減算として機能する。これは,元とな
るTPPrimitiveのインスタンスが共通なTPDirectedTopo要素同士を,その“方向性”係数を引くことに
よって結合したものとする。係数が0になった項は,削除する。
TPExpression::minus(s : TPExpression) : TPExpression
7.3.20.6 negate “negate”(反転取得)操作は,TPExpressionの各項の符号を反転させる。これは,多項
式の単項減法演算子である。
TPExpression::negate() : TPExpression
7.3.20.7 isZero “isZero”(0値判定)操作は,多項式の項数が0になったときTRUEを返す。これは,
“Set.isEmpty”操作に等しい。
TPExpression::isZero() : Boolean
7.3.20.8 isCycle “isCycle”(輪体判定)操作は,[TPExpression::boundary()で定義される]境界が0とな
る多項式に対してTRUEを返す。TPExpressionは,多角形の境界のように閉じた幾何オブジェクトを表現
している場合,サイクルになる。GISの大多数では,“isCycle”がTRUEを返すことは,元の幾何オブジェ
クトが別の幾何オブジェクトの境界となることを暗示している。これは“isZero(boundary())”に等しい。
TPExpression::isCycle() : Boolean
備考 境界取得操作の像は,いずれも輪体となる。これは boundary().boundary().isZero() = TRUE を意
味する。
7.3.20.9 boundary “boundary”(境界取得)操作は,このTPExpressionの各TPDirectedTopoの各
TPPrimitiveをその境界で置き換え,結果として得られる式を可能な限り単純にする。境界は,常に一つ
低い次元のTPPrimitiveからなる。このTPExpressionのすべてのTPPrimitiveの次元が0(TPPrimitive
がすべてノード)の場合,境界取得操作は,項数が0のTPExpressionを返す。
TPExpression::boundary() : TPExpression
7.3.20.10 coBoundary “coBoundary”(双対境界取得)操作はこのTPExpressionの各TPDirectedTopoの
各TPPrimitiveをその双対境界で置き換え,結果として得られる式を可能な限り単純にする。双対境界は
常に一つ高い次元のTPPrimitiveからなる。このTPExpressionのすべてのTPPrimitiveの次元が対応する
極大TPComplexの次元と等しい場合は,双対境界操作は項数が0のTPExpressionを返す。
TPExpression::coBoundary() : TPExpression
7.3.20.11 equals “equals”(等値判定)操作は多項式が等値の場合TRUEを返す。要素(項)の順序は意
味をもたない。
TPExpression::equals(s : TPExpression) : Boolean
7.3.20.12 support “support”(対応変換)操作は,このTPExpressionを幾何演算子の計算に使用する
TPPrimitiveの集合に変換する。この操作は,本質的に“asSet”操作の後にTPDirectedTopo及びTPPrimitive
の間の“Center”関連をたどることに相当する。

――――― [JIS X 7107 pdf 111] ―――――

106
X 7107 : 2005 (ISO 19107 : 2003)
TPExpression::support() : Set<TPPrimitive>
7.3.20.13 asSet “asSet”(集合変換)操作は,このTPExpressionを幾何演算子の計算に使用する
TPDirectedTopoの集合に変換する。この変換は,TPDirectedNodeにたどり着くまでに集合へ追加したす
べての境界要素を含む。別の言い方をすれば,TPExpressionに対応するのは有効なTPComplexでなけれ
ばならない。
TPExpression::asSet() : Set<TPDirectedTopo>

7.4 Topological complexパッケージ

7.4.1 意味

  “Topology complex”(位相複体)パッケージは,TPComplexの生成を行う追加のクラスを
提供する。
7.4.2 TPComplex
7.4.2.1 意味 この箇条は,6.6で既に導入された幾何複体に対応する位相複体の定義を含む。TPComplex
(位相複体)(図46)は,元となる幾何実現(GMComplex)の幾何のelementが表す直接位置集合に集合
演算を行うために,そのelementに同じ集合演算を使用してよい。
Interface
TPObject -- maximalComplexは,7.4.2.3 の記述では非公開
(from Topology root) となっているため,それに合わせている
- maximalComplex 1
Type + element + complex Type
TPPrimitive TPComplex
(from Topological primitive)
1..n Complex 1..n
+isMaximal() : Boolean
+isConnected() : Boolean
+boundary() : TPComplexBoundary
+TPComplex(GC : GMComplex) : TPComplex
Type + geometry + topology
GMComplex
(from Geometric complex)0..1 Realization 0..1
+superComplex + subComplex
1..n 1..n
-- maximalComplexが示す複体は,この複体を含む Contains
[{superComplex->contains(maximalComplex)}]
-- 極大複体はそれ自身にのみ”包含(Contains)”される
[{(self = maximalComplex) mplies (superComplex = [{self}])}]
[{isMaximal() mplies (self = maximalComplex)}]
図 46 TPComplex
7.4.2.2 TPComplex(コンストラクタ) 既定の位相複体の構築は,幾何複体からその位相複体を生成
する。構築の後,幾何複体は,位相複体の幾何実現となる。幾何プリミティブが互いに交差しない幾何複
体だけが誤りのない位相複体を生成する。
TPComplex::TPComplex(GC : GMComplex) : TPComplex
それぞれの幾何複体に対する既定の位相複体を定義する既定のコンストラクタを使用することは,

――――― [JIS X 7107 pdf 112] ―――――

                                                                                            107
X 7107 : 2005 (ISO 19107 : 2003)
TPComplexの表現する位相がGMComplexの表現する幾何形状の位相となることを保証する。
“Realization”関連は,TPComplexの各部分をGMComplexの適切な部分までたどる。これによって,位
相複体(TPComplex)の位相演算が幾何複体(GMComplex)から直接発生したものとみなすことができ
る。
7.4.2.3 maximalComplex 非公開の“maximalComplex”(極大複体)属性は,このTPComplexが属する
一意の極大位相複体への参照を含む。これは,符号化でデータ集合の出力の限界を判断するのに必要とな
る。
- TPComplex::maximalComplex : Reference<TPComplex>
7.4.2.4 isMaximal ブール値を返す“isMaximal”(極大判定)操作は,このTPComplexがより大きな
TPComplexに含まれていない場合,TRUEを返す。
TPComplex::isMaximal() : Boolean
7.4.2.5 isConnected ブール値を返す“isConnected”(連結判定)操作は,このTPComplexが位相連結
の場合TRUEを返す。
TPComplex::isConnected() : Boolean
備考 TPComplexが連結の場合,その幾何実現もまた連結である。このことは,合成体はプリミテ
ィブと位相同形であるという強い制約を満たさなければならないため,その複体が(幾何的に
も位相的にも)合成体であることを示すものではない。幾何実現を参照しない位相複体が連結
か否かを検証するためには,boundary,coBoundary及びIsolatedIn関連の推移的な閉包を計算する
必要がある。複体のすべてのプリミティブが,その複体の中間的な各プリミティブとなる関連役割
の列によって,その複体の他のいずれのプリミティブともつながる場合,複体は連結となる。
7.4.2.6 Contains関連 “Contains”(包含)派生関連はこのTPComplexにTPPrimitiveの集合として含
まれている他のTPComplexを記述する。“superComplex”役割は二つの複体のうち大きいほうを表し,
“subComplex”役割は小さいほうを表す。この関係はSet<TPPrimitive>から継承した“contains”操作と一致する。
TPComplex::subComplex [1..n] : Reference<TPComplex>
TPComplex::superComplex [1..n] : Reference<TPComplex>
7.4.2.7 Complex関連 “Complex”(複体)関連はこのTPComplexにTPPrimitive要素を関係付ける。
この関連はTPComplexをSet<TPPrimitive>に変換する。“Contains”が暗示する集合演算は,プリミティ
ブの集合としてのこのTPComplexの定義と一致しなければならない。
TPComplex::element [1..n] : Reference<TPPrimitive>
TPPrimitive::complex [[1..n] : Reference<TPComplex>
7.4.2.8 Realization関連 “Realization”(実現)関連は,このTPComplexと対応するGMComplexが存
在すれば,関連付ける。
TPComplex::geometry [0,1] : GMComplex
GMComplex::topology [0,1] : TPComplex
8. 派生位相関係

――――― [JIS X 7107 pdf 113] ―――――

108
X 7107 : 2005 (ISO 19107 : 2003)

8.1 一般

 この箇条では,位相関係を問合せで用いる演算子として特徴付けるための仕組みについて規
定する。これらの問合せ演算子は,GMObject及びその下位型上で定義される集合論の演算子及び
TPExpression上で定義される代数演算子とを使って計算可能である。これら二つの仕組みは,対応する位
相複体の実現である幾何複体に対して等価となる。この箇条で定義する演算子は,主に問合せ評価を目的
としたものであり,等価な情報内容をもつデータ集合に対して等価な結果を保証するような各種の実装を
容認する。
この規格は,特定の空間演算子に規定の名前を定めない。応用スキーマは,応用システム固有の演算子
を規定するのに次の3分類の手法の幾つか又はすべてを使用することを前提とする。次の場合,分類法は,
TPObjectに基づく。これは,また,前に定義したGMObjectの集合からTPComplexを生成するための
制約が満たすような同じ演算をGMObjectに定義する。これに従うのは,点,曲線,曲面及び立体オブジ
ェクトとして妥当なものだけである。次元が一定でない集成オブジェクトのための理論は,いまだに標準
規格の基礎とするほど十分なものではない。
問合せシステムがこの規格のこの部分に適合するためには,対応する位相問合せ演算子を後続の箇条の
いずれかに規定している特性に従って定義できること,及びこの箇条で定義されているすべての演算子を,
直接,又は対応する演算子の十分に理解された組合せを通じて利用可能にできることが必要となる。この
箇条に適合するためには,最小限,次が満たされなければならない。
a) ブール値問合せ演算は,ここに含まれる箇条に一致して定義される。
b) 8.1,8.2又は8.3のうちの一つ以上の内容で定義可能なすべての妥当なブール値演算子が使用できる。
完全な適合には,この箇条全体の内容で定義可能な有効なブール値演算子のすべてに対応することが求
められる。

8.2 ブール値演算子及び集合演算子

8.2.1 ブール値演算子の形式

 集合論の演算子は,しばしばブール値演算子として参照される。このよう
な演算子は,集合の内部と境界との間を区別しないため,閉包取得操作は,それらを組み合わせて使用す
る。
GMObject::closure() :== interior().union(boundary())
二つのオブジェクトA及びBに対して,次の四つの交差演算が可能である。
intersection(closure(A), exterior (B))
intersection(closure(A), closure(B))
intersection(exterior (A), closure (B)) ntersection(exterior (A), exterior (B))
この演算を要素とする行列は,各集合について空か否かを試験するので,AとBとの関係を24すなわち
16のクラスに分類する。
演算子は,二つのオブジェクト間の特定の空間関係を試験することによって得られた交差演算行列に適
用されるテンプレートとして定義してよい。このテンプレートは,表8で説明する拡張ブール値を四つ用
いた行列であり,34すなわち81の演算子テンプレートが有効となる。
表 8 交差演算行列におけるブール値の意味
記号 空でないか 意味
T TRUE 行列のこの位置の交差は,空でない。
F FALSE 行列のこの位置の交差は,空である。
N NULL この演算子は,この位置の交差を試験しない。
備考 TRUEの値は,集合が空でないことを意味する(見出しを参照)。
二つのオブジェクトが特定の演算子テンプレートを満たす関係にあるか否かを試験するため,行列の形

――――― [JIS X 7107 pdf 114] ―――――

                                                                                            109
X 7107 : 2005 (ISO 19107 : 2003)
態に応じてNULLに関連付けられていない交差は,計算され,空でないか試験される。一致する場合,こ
の二つのオブジェクトの演算子の値はTRUEとなり,そうでなければ値はFALSEとなる。

8.2.2 ブール値関係

  “bRelate”(ブール値関係)演算子は,これらのオブジェクトが,二つの幾何オブ
ジェクトの閉包及び外部の間の交差の試験によって,“intersectionPatternMatrix”(交差演算行列)の値によ
って指示されたとおりに空間的に関係する場合,TRUEを返す。
Boolean bRelate(GMObject, GMObject, intersectionPatternMatrix)
Boolean bRelate(TPObject, TPObject, intersectionPatternMatrix)
intersectionPatternMatrixは,行優先形式,すなわち,最初の行の二つの値の後に行列の第二行の二つが続
く形式で与えられる,T,F又はNで構成される四文字の文字列として指定される。

8.2.3 集合操作との関係

 このブール値関係は6.2.2.18で定義されるGMObjectの“contains”操作,
“intersects”操作及び“equals”操作を実装するために使用することができる。
例 C : GMComposite, G : GMObject;
C.contains(G) = bRelate(C, G, “TNFT” );

8.3 エーゲンホーファ演算子

8.3.1 エーゲンホーファ演算子の形式

 二つのオブジェクトA及びBに対して九つの交差演算が可能と
なる(参考文献[8]及び[9]を参照)。
Intersection[ Intersection[ Intersection[
boundary(A), boundary(A), boundary(A),
boundary(B) interior(B) exterior(B)
] ] ]
Intersection[ Intersection[ Intersection[
interior(A), interior(A), interior(A),
boundary(B) interior(B) exterior(B)
] ] ]
Intersection[ Intersection[ Intersection[
exterior(A), exterior(A), exterior(A),
boundary(B) interior(B) exterior(B)
] ] ]
この演算を要素とする行列(“九行列”と呼ぶ。)について,それぞれが空か否かを調べる試験をしてよ
い。これは,AとBとの関係を29,すなわち,512のクラスに分類する。実際には,512のすべてが幾何
的に有効ではないが,どれだけが満たされるべきかは重要ではない。
演算子は,二つのオブジェクト間の特定の空間関係を試験する交差行列に適用されるテンプレートとし
て定義してよい。このテンプレートは,前の表と同じ内容の表9で説明する拡張ブール値を九つ用いた行
列であり,39,すなわち19,683の演算子テンプレートが可能である。
表 9 エーゲンホーファ交差演算行列の意味
記号 空でないか 意味
T TRUE 行列のこの位置の交差は空でない。
F FALSE 行列のこの位置の交差は空である。
N NULL この演算子は行列のこの位置の交差を試験しない。
二つのオブジェクトが特定の演算子を満たす関係にあるか否かを試験するため,行列の形態に応じて
NULLに関連付けられていない交差は計算され空でないか試験される。一致する場合,この二つのオブジ
ェクトの演算子の値はTRUEとなり,そうでなければ値はFALSEとなる。

――――― [JIS X 7107 pdf 115] ―――――

次のページ PDF 116

JIS X 7107:2005の引用国際規格 ISO 一覧

  • ISO 19107:2003(IDT)

JIS X 7107:2005の国際規格 ICS 分類一覧

JIS X 7107:2005の関連規格と引用規格一覧

規格番号
規格名称
JISX7111:2014
地理情報―座標による空間参照