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

                                                                                             15
X 7107 : 2005 (ISO 19107 : 2003)
通常,次に示すようにこの関係の役割の名前をつけた“属性”として他方のクラスへの参照をもたせる。
// 多対多の強連結
Class1::gadget : Set<Class2>
Class2::widget : Set<Class1>
又は,
// 多対多の強連結
Class1::gadget [1..n] : Class2
Class2::widget [1..n] : Class1
Class2の役割名は,Class2を指すClass1中の変数名として使用することに注意しなければならない。コ
レクションの型は,役割の並べ方の種類によって決める。
// 多対多で順序をもつ強連結
Class1::gadget : Sequence<Class2>
Class2::widget : Set<Class1>
多くの役割はSet(非順序関係)又はSequence(順序関係)のいずれかに一致する。役割には,順番が
自然な開始位置をもたない環状列になるものもある。以降の規格の特定の部分ではこの記法を使用してい
るが,これは関連の特定の実装を示すものではない。相手のクラスが関連の存在に依存しない弱連結につ
いては,次のようにパラメタ化クラスReference< > を使用する。
Class1::gadget [1..n] : Reference<Class2> // 弱連結
Class2::widget [1..n] : Class1 // 強連結

5.1.3 ステレオタイプ

 UMLモデルのほとんどの実体の記述には,オブジェクト名の近くにギュメ(“”
及び“”)で囲んで記述する“ステレオタイプ”を使用してよい。ステレオタイプは,UMLを拡張してモ
デルにその要素の記述を加えることに使用する。この規格では次に示すステレオタイプを使用する。
参考 上の文中の“ギュメ”はフランス語における引用符である。ギュメは,ISO/IEC 8859-1,ISO10646
/JIS X 0221,JIS X 0213などの符号化文字集合に含まれている文字だが,JIS X 0208などには
含まれていないので,環境によってはギュメを表記できない場合も多いと予想される。ギュメ
を表記できない環境でステレオタイプを記述する場合,これらを代替する文字としてJIS X
0208の“≪”(2区67点 : 非常に大きい)及び“≫”(2区68点 : 非常に小さい)を使用して
もよい。
a) nterface(インタフェース) このクラスは,直接インスタンス化せず,操作の署名(シグニチャ)
の抽象コレクションとして使用する。Interface クラスは,操作の構造的多態性のための参照クラス
を定義するために使用する。幾つかのプログラム言語では,このようなクラスをvirtual(仮想)又は
abstract(抽象)と呼ぶ。UMLの規格では,Interface クラスから可視となる属性又は関連をそのク
ラスに含んではいけない。Interfaceから不可視となる関連についてはそのInterfaceを加えてよい。言
い換えると,(Interface以外の)クラスは,そのクラスからたどれるがInterfaceからはたどれないよう
な,Interfaceへの関連をもってよい。応用スキーマでこの規格と同様に使用する場合には,この規格
のInterfaceと同じ名前の実装クラスを作成することは,応用スキーマでの論理的な矛盾を引き起こす。
b) ype(型) このクラスは,直接インスタンス化せず,操作,属性及び関係の各署名(シグニチャ)
の抽象コレクションとして使用する。Type クラスは,属性及び関連を含む構造的多態性のための参
照クラスを定義するために使用する。属性及び関連の実際の内部構成は実装に依存する。これらの要
素の構成は不明なので,UMLでは Type クラスにはメソッド(操作の実装)を一切含んではならな
い。応用スキーマ内でこの規格と同様に使用する場合には,この規格のTypeと同じ名前の実装クラス
は,そのTypeがAbstract (UMLの記号表記法では,名前をイタリック体で示す。)でない限り作成
してよい。

――――― [JIS X 7107 pdf 21] ―――――

16
X 7107 : 2005 (ISO 19107 : 2003)
c) bstract(抽象) このクラス(UMLではクラス名をイタリック体で表記することでも表す。)は,
メソッドを含んでよいこと以外は Type と同様とする。このクラスは,追加されたメソッドを含む
構造的多態性のための基底クラスを定義する。応用スキーマ内でこの規格と同様に使用する場合には,
この規格のAbstractクラスと同じ名前の実装クラスを作成することは,応用スキーマでの論理的な矛
盾を引き起こす。
d) ata type(データ型) このクラスは,直接インスタンス化してよく,基本的に分類又は振る舞い
の記述を禁止してデータをカプセル化するのに使用する。Data type は,それ自身を識別せず,他の
クラスの属性,強い集成(aggregate)の対象クラスなどとして,ある種のコンテナに強く集成しなけれ
ばならない。Data type 型は,弱い集成の対象として使用してはならず,Reference< > パラメタ化ク
ラスで使用してもいけない。
e) nion(共用) 所属する属性として列挙した幾つかの選択肢のいずれか一つからなる型。これは
多くのプログラム言語における識別共用体に類似する。ポインタを用いる幾つかの言語では,これは
識別属性によって決定される適切な型に型変換可能な“void”ポインタを必要とする。
f) Leaf(終端) 下位パッケージを含まず,オブジェクトクラス及びインタフェースの定義だけを含
むパッケージに適用する。技術的な要求事項ではないが,この規格は,すべてのオブジェクトの定義
を終端パッケージに配置した後,より大きな非終端パッケージに体系化する。
g) odeList(符号リスト) 列挙型(enumeration)と同様に幾つかの値の内の一つをとるが,その目
的は異なっていて,符号リストを次第に拡張してよい。ほとんどの符号リストは,数値として格納す
るが,文字列を使用する実装もある。この規格では,符号リストが文字列符号をもつものとして定義
しているが,これは,実装の詳細によって決まるものであり,純粋な数値符号を用いてもよい。

5.1.4 データ型及びコレクション型

 コレクション型は,この規格に一致したものでなければならないが,
そのインタフェースについてはすべてを具体化する必要はない。これらの型は,UML図に含まれてはいな
いが,時としてオブジェクト制約言語(OCL)の記述で暗に使用されている(ISO TS 19103参照)。
これらのインタフェースの中では有限集合を使用することが最も一般的である。“T”を型とすると,
“T”型のオブジェクトのすべての有限非順序集合を構成して,新たにインスタンス化するクラス型を
“Set<T>”と記述する。実装環境は,しばしば配列のような幾つかの一般的なコレクション型を提供して
いるが,ここで,それらの型に対するはん用インタフェースを規定しようとするものではない。ISO TS
19103にはこれらの型のインタフェース定義の例が含まれている。この規格は,論理的に同等だが特定の
実装環境に備わった型の使用を制限するものではない。基本クラス型と,これらのコレクション型のよう
なパラメタ化型で,この規格で使用するものを次に示す。
a) ransfiniteSet<T>(Tの超限集合) 値にだけ限定した,場合によっては無限の集合。例えば,整数
及び実数は,超限集合である。これは実際には数学における集合の通常の定義だが,プログラム言語
では集合という用語を有限集合の意味に限定している。
b) et<T>(Tの集合) 有限集合。オブジェクト型のために使用する。各オブジェクトは,集合の中に
一つしかないものとみなす。各オブジェクトは,複数の集合の要素となりうるので,必ずしも強い集
成ではない。他で示していない限り,この規格ではSetを弱い集成(Set<Reference<T>>)の意味で使
用する。
c) ag<T>(Tの多重集合) 各オブジェクトが集合の中に複数存在してよい,有限非順序集合。論理的
には pair<ocject : T, count : Integer> (Tのオブジェクトと整数型の回数との対)の集合と考えてよ
い。

――――― [JIS X 7107 pdf 22] ―――――

                                                                                             17
X 7107 : 2005 (ISO 19107 : 2003)
d) equence<T>(Tの列) 値を繰り返してよいオブジェクトの有限順序集合。論理的にはoffsetを列の
中のオブジェクトの位置としてpair<object : T, offset : Integer> (Tのオブジェクトと整数型の相対位
置との対)の集合と考えてよい。実装によって,相対位置は1,0又は任意の位置から数えてよい。各
対をオブジェクト上に射影するとBagができる。重複を削除するとSetになる。
e) ircularSequence<T>(Tの環状列) そのすべての巡回シフトを同一とみなした,自身に巻き戻るよ
うな列。これは,相対位置の巡回シフトによって区別される以外は,Sequenceと同等なクラスとみな
す。
f) Reference<T>(Tの参照) C++におけるポインタ,SQL99(従来のSQL3)のREF及びJavaのクラ
ス変数に相当する,クラスTの識別可能なオブジェクトへの参照。この規格のクラスの定義文では,
弱い関連は,適切なクラスへの参照として表現する。強い集成は,属性と同じ方法で表現する。
g) umber(数),Float(浮動小数点数),Integer(整数),Real(実数) 通常は,その環境のプログラ
ム言語のプリミティブとしてインスタンス化されるような,様々な単純な値の型。ISO TS 19103を参
照。
h) ength(長さ),Area(面積),Distance(距離) メートル,エーカーなどの特定の単位と関連させ
て使用する,様々なスカラ値(ISO TS 19103参照)。
備考 プログラム形式による関連の表現では,UMLに対するコード生成としてもっとも一般的な規約
を使用している。関連役割は,その関連の役割の対象となるクラスをTとすると,Reference<T>
型のメンバ名として使用している。あいまいさが残る場合には,関連名をその役割の名前空間
として,関連名::役割名 : Reference<対象クラス>のように使用している。当然,関連の参照側
のクラスを使用して,参照側クラス::役割名 : Reference<対象クラス>のようにも表現している。
関連が強い集成の場合,参照を論理的に取り去り,参照側クラス::役割名 : 対象クラスと表現
してよい。強い集成で単方向の関連は,その意味がメンバ属性と論理的に一致する。関連を使
用するか,又は役割に類似した属性を使用するかは,UMLで異なる設計を生み出す原因の一つ
になっている。いったんコード生成を行うと,UMLにおける関連についての情報(及び,欠落
する他のすべての情報)の復元は,役割に類似した属性の対による往復化処理と同じになる。
データ型には,ISO/IEC 11404 の用語とわずかに異なった,ISO TS 19103で定義されたRecord型の単
純なインスタンスのものもある。ISO/IEC 11404の規定は,パラメタリストと混乱する可能性があるので,
この規格ではわずかに変更した構文[外側の丸括弧“( )”を“< >”で置き換える。]を使用する。
Record Type :== “<” field-name “ : ” type [= default-value],··· “>”
Record Instance :== “<” field-name “ : ” field-value,··· “>”
この,戻り値として複数の型をもつ構文は,中括弧を省略している以外はこのRecordの構文と一致する
ことに注意する。この規格では,単独で使用する場合は,このRecordの構文を使用するが,無名型として
レコードに類似した構造を返す操作を定めるときには,UMLの標準的な戻り値が複数の型の構文を使用す
る。
この規格で定義した操作の幾つかは,そのとり得る値としてNULL及びEMPTYを使用する。NULLは
求める値が未定義であることを示す。この規格では,すべてのNULL値は,同一であるとみなす。オブジ
ェクトの要求にNULLが返された場合,指定した基準に合致するオブジェクトがなかったものとする。
EMPTYは,要求された集合が要素を含まないことを示し,いずれの型の集合にも変換可能なオブジェク
トを参照する。強い型の集成をもつプログラミングシステムと異なり,この規格では,唯一の空集合が存
在し,それを表すオブジェクト同士は,同一であるという数学的な反復定義を使用する。空であること以

――――― [JIS X 7107 pdf 23] ―――――

18
X 7107 : 2005 (ISO 19107 : 2003)
外には,このような集合は固有の情報を欠くので,文脈によってはNULL値とEMPTY集合とは等しいも
のとみなす。

5.1.5 強代替性

 この規格は,実装プロファイル及び転送スキーマは強代替性を用いて構築されるものと
みなしている。これは応用スキーマを設計する様々な局面で,プロファイルの構築者は,あるクラスがこ
のスキーマで定義されたクラスに必要なデータ,操作,関連を満たすのであれば,本来のクラスの代わり
にそれを使用してもよいということを示す。この代替性の実装の方法は規定しないので,実装環境の特徴
に応じて様々な方法を使用してよい。これは,特にデータ型に依存した性質をもつ転送の規格についても
いえる。転送する集合における各実体は,それがデータだけからなる表現形式であることから,この規格
で定義したクラスとの関係を希薄なものだけとすることが可能である。この技術を最大に利用してクラス
に関連した下位クラスを定義することが,代替性としてもっとも有効な手段である。
この前提として,“is type of”(の型である)階層としての下位クラス化の意味を厳守することを必要
とする。クラスの個々のインスタンスは,そのクラスの上位型として定義されたすべての集合のメンバで
なければならない。したがって,たとえ下位型がその上位型より複雑であるという概念に直観的に反する
としても,円をだ(楕)円の下位型であると定義してもよいが,その逆を定義してはならない。

5.2 構成

 この規格の後続の箇条は,UMLパッケージという観点でまとめている。パッケージは,関係
する型及びインタフェースの集合であり,ソフトウェアシステムの設計に関する一貫したコンポネントを
形成する。パッケージは,しばしばシステムの他のパッケージが提供するサービスを呼び出すので,通常,
完全なシステムを形成することはない。クライアントとして働くあるパッケージがサーバとして働く別の
パッケージを使用して必要なサービスを供給する場合,クライアントパッケージは,サーバパッケージに
依存するという。この依存性は,パッケージ中のオブジェクトクラスがサーバパッケージの定義する別の
オブジェクトにアクセスするときに発生する。純粋にクライアント又はサーバになることは,地理情報に
おける幾何についてはまれなことなので,この規格ではこれらのステレオタイプを使用しない。依存クラ
スは要求を伝えることのできる関連を通してサーバと関連付けられるので,大部分のオブジェクトクラス
の依存性は,オブジェクトクラスの関連から発生する。異なるパッケージ間にあるオブジェクト間のさま
ざまな依存性は,パッケージ間の一つの依存性として反映しなければならない。このパッケージ依存性は,
図2の図形記法を用いたパッケージ図式で示す。
クライアント サーバ
従属パッケージ 独立パッケージ
図 2 UMLのパッケージ依存性の例
このクライアントサーバの関係によって,パッケージ間の依存性は,実用的な応用スキーマの基準を定
義する。この規格で定義する任意のパッケージの実装を含む応用スキーマは,依存したすべてのクラスの
実装も含まなければならない。
表6は,この規格で規定するパッケージの要約を示す。6.と7.で定めるパッケージは,規定とする。そ
れらは,規格に適合したシステムの外部インタフェースの基礎を形成する応用スキーマに幾何及び位相の
構成要素を提供する。JIS X 7111のSpatial referencing by Coordinatesパッケージ及びISO TS 19103のBasic

――――― [JIS X 7107 pdf 24] ―――――

                                                                                             19
X 7107 : 2005 (ISO 19107 : 2003)
Typesパッケージのような他の規格から,追加のパッケージを参照する。これらは,空間スキーマ機能を
完全で読みやすい図として示すために,必要な範囲でここに転載している。
表 6 パッケージ及びクラス
箇条番号 パッケージ名 パッケージに含まれる主なクラス
6. Geometry (幾何) 幾何のクラス
6.2 Geometry Root (幾何基底) 幾何の基底クラス
6.3 幾何プリミティブ
Geometric primitive (幾何プリミティブ)
6.4 Coordinate geometry (座標幾何) 座標幾何クラス
6.5 Geometric aggregates (幾何集成) 集成
6.6 Geometric complex (幾何複体) 幾何複体及び合成体
7. Topology (位相) 位相のクラス
7.2 Topology root (位相基底) 位相の基底クラス
7.3 Topological primitive (位相プリミティブ) 位相プリミティブ
7.4 Topological complexes (位相複体) 位相複体
図3は,この規格の規定の箇条における終端パッケージを示す。
Leaf Leaf
Geometric
Geometry root
aggregates
(from Geometry) (from Geometry)
Leaf
Coordinate
geometry
(from Geometry)
Leaf Leaf
Geometric Geometric
primitive complex
(from Geometry) (from Geometry)
Leaf
Topology root
(from Topology)
Leaf Leaf
Topological Topological
primitive complex
(from Topology) (from Topology)
図 3 規定のUMLパッケージの依存性
備考 本文中の例は,この規格に示す事項を理解するのに最も適した位置にあり,またそれ自体,し
ばしば後の箇条で規定する他の事項を暗に先行引用することがある。例えば,GMEnvelopeの
解説にはGMLineStringの先行引用を含む。ほとんどの場合は,先行引用した事項(型,操作
又は属性)は,しばしば意味を豊かにし,共通して使用される用語に密接に関係するので,分
かりやすくなる。読者が紛らわしいと思う場合は,概要をつかむために実例を飛ばして文書全

――――― [JIS X 7107 pdf 25] ―――――

次のページ PDF 26

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

  • ISO 19107:2003(IDT)

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

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

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