>サイトトップへ >このカテゴリの一覧へ

 

X 7136:2012 (ISO 19136:2007) 

(1) 

 

目 次 

ページ 

序文  1 

1 適用範囲  2 

2 適合性  3 

2.1 適合性の要件  3 

2.2 GML応用スキーマに関係する適合性クラス  3 

2.3 GMLプロファイルに関係する適合性クラス  4 

2.4 GML文書に関係する適合性  5 

2.5 ソフトウェア実装に関係する適合性  5 

3 引用規格  5 

4 用語,定義及び略語  6 

4.1 用語及び定義  6 

4.2 略語  14 

5 規則 15 

5.1 XML名前空間  15 

5.2 版管理  15 

5.3 GMLの以前の版における非推奨の部分  15 

5.4 UML表記法  15 

5.5 XML Schema  17 

6 GMLスキーマの概要  17 

6.1 GMLスキーマ 17 

6.2 GML応用スキーマ 17 

6.3 JIS X 7100シリーズ(ISO 19100シリーズ)の規格, 

GMLスキーマ及びGML応用スキーマの関係  18 

6.4 この規格の編成  19 

6.5 非推奨の試行的なスキーマ構成部品  21 

7 GMLスキーマ−一般規則及び基底スキーマ構成部品  21 

7.1 GMLモデル及び構文  21 

7.2 gmlBaseスキーマ構成部品  23 

8 GMLスキーマ−XLink及び基本型  36 

8.1 Xlinks−オブジェクト関連及び遠隔プロパティ  36 

8.2 基本型  37 

9 GMLスキーマ−地物  46 

9.1 一般概念  46 

9.2 JIS X 7109との関係  46 

9.3 地物  46 


 

X 7136:2012 (ISO 19136:2007) 目次 

(2) 

 

ページ 

9.4 標準地物プロパティ  47 

9.5 幾何プロパティ  49 

9.6 位相プロパティ  50 

9.7 時間プロパティ  51 

9.8 応用分野に固有の地物型の定義について  52 

9.9 地物の集まり  53 

9.10 地物又は地物の集まりに使用する時空間参照系  55 

10 GMLスキーマ−幾何プリミティブ  55 

10.1 一般的な概念  55 

10.2 抽象幾何プリミティブ  61 

10.3 幾何プリミティブ(零次元)  62 

10.4 幾何プリミティブ(一次元)  63 

10.5 幾何プリミティブ(二次元)  77 

10.6 幾何プリミティブ(三次元)  87 

11 GMLスキーマ−幾何複体,幾何合成及び幾何集成  89 

11.1 概要  89 

11.2 幾何複体及び幾何合成  89 

11.3 幾何集成  92 

12 GMLスキーマ−座標参照系スキーマ  97 

12.1 概要  97 

12.2 参照系  99 

12.3 座標参照系  101 

12.4 座標系  108 

12.5 原子  116 

12.6 座標演算  123 

13 GMLスキーマ−位相  136 

13.1 一般概念  136 

13.2 抽象位相  136 

13.3 位相プリミティブ  137 

13.4 位相の集まり  142 

13.5 位相複体  144 

14 GMLスキーマ−時間情報及び動的地物 146 

14.1 一般概念  146 

14.2 時間スキーマ  147 

14.3 時間位相スキーマ  155 

14.4 時間参照系  158 

14.5 動的地物の表現  166 

15 GMLスキーマ−定義及び辞書  171 

15.1 概要  171 


 

X 7136:2012 (ISO 19136:2007) 目次 

(3) 

 

ページ 

15.2 辞書スキーマ  171 

16 GMLスキーマ−単位,計測値,及び値 175 

16.1 一般  175 

16.2 単位スキーマ  175 

16.3 計測値スキーマ  181 

16.4 値オブジェクトスキーマ  182 

17 GMLスキーマ−方向  190 

17.1 方向スキーマ  190 

17.2 direction及びDirectionPropertyType 190 

17.3 DirectionVectorType  190 

17.4 DirectionDescriptionType  191 

18 GMLスキーマ−観測地物  192 

18.1 観測地物  192 

18.2 観測地物スキーマ  192 

19 GMLスキーマ−被覆  197 

19.1 被覆のモデル及び表現  197 

19.2 グリッドスキーマ  199 

19.3 被覆スキーマ  202 

20 プロファイル  217 

20.1 GMLのプロファイル及び応用スキーマ  217 

20.2 プロファイルの定義  217 

20.3 応用スキーマとの関係  218 

20.4 プロファイルにおける要素及び型のための規則  218 

20.5 応用スキーマからGMLプロファイルを参照するための規則  219 

20.6 GMLプロファイルを使用する応用スキーマのための推奨事項 219 

20.7 GMLプロファイルのための規則の要約  220 

21 GML応用スキーマのための規則  220 

21.1 GMLオブジェクトのインスタンス  220 

21.2 GML応用スキーマ  221 

21.3 地物及び地物の集まりを定義するスキーマ  224 

21.4 空間幾何要素を定義するスキーマ  225 

21.5 空間位相を定義するスキーマ  226 

21.6 時間を定義するスキーマ  227 

21.7 座標参照系を定義するスキーマ  227 

21.8 被覆を定義するスキーマ  228 

21.9 観測地物を定義するスキーマ  230 

21.10 辞書及び定義を示すスキーマ  231 

21.11 値を定義するスキーマ  232 

21.12 GMLスキーマのGMLプロファイル  232 


 

X 7136:2012 (ISO 19136:2007) 目次 

(4) 

 

ページ 

附属書A(規定)GML応用スキーマ,GMLプロファイル及びGML文書のための抽象試験項目群 ···· 235 

附属書B(規定)ソフトウェア実装のための抽象試験項目群  247 

附属書C(参考)GMLスキーマ  251 

附属書D(規定)JIS X 7100シリーズ(ISO 19100シリーズ)の規格の実装プロファイル及び拡張  253 

附属書E(規定)UMLからGMLへの応用スキーマ符号化規則  315 

附属書F(規定)GMLからUMLへの応用スキーマ符号化規則  337 

附属書G(参考)GMLスキーマ部分集合作成のためのガイドライン  346 

附属書H(参考)既定表現様式  362 

附属書I(参考)GML旧版との後方互換性  374 

附属書J(参考)モジュール化及び依存関係  392 

参考文献  394 

索引  396 

 


 

X 7136:2012 (ISO 19136:2007) 目次 

(5) 

 

まえがき 

この規格は,工業標準化法第12条第1項の規定に基づき,財団法人日本測量調査技術協会(APA)から

工業標準原案を具して日本工業規格を制定すべきとの申出があり,日本工業標準調査会の審議を経て,経

済産業大臣及び国土交通大臣が制定した日本工業規格である。 

この規格は,著作権法で保護対象となっている著作物である。 

この規格の一部が,特許権,出願公開後の特許出願又は実用新案権に抵触する可能性があることに注意

を喚起する。経済産業大臣,国土交通大臣及び日本工業標準調査会は,このような特許権,出願公開後の

特許出願及び実用新案権に関わる確認について,責任はもたない。 

 

 

X 7136:2012 (ISO 19136:2007)


 

 

 

日本工業規格          JIS 

 

X 7136:2012 

 

(ISO 19136:2007) 

地理情報−地理マーク付け言語(GML) 

Geographic information-Geography Markup Language (GML) 

 

序文 

この規格は,2007年に第1版として発行されたISO 19136を基に,技術的内容及び構成を変更すること

なく作成した日本工業規格である。この規格は,ISO/TC 211が関与する種々の地理情報規格を基とした日

本工業規格(以下,JIS X 7100シリーズという。)の一つである。JIS X 7100シリーズは,地球上の位置と

直接的又は間接的に関連づけられたオブジェクト又は現象に関する情報処理技術のための標準であり,河

川,道路などに関する様々なデータを電子化し,各種情報処理の高度化・効率化に適用される。 

なお,この規格で,側線又は点線の下線を施してある参考事項は,対応国際規格にはない事項である。 

地理マーク付け言語(GML)は,当初Open Geospatial Consortium, Inc. (OGC)が作成した。ISO 19136は,

ISO/TC 211及びOGCが共同で作成した。 

地理マーク付け言語は,地理情報の伝送及び格納を行うとともに,応用スキーマを記述するためにXML 

Schemaで書いたXML文法である。 

実世界をモデル化するために地理マーク付け言語(GML)が使う主要な概念は,JIS X 7100シリーズ(ISO 

19100シリーズ)及びOpenGIS抽象仕様からとった。地球上の場所と関連する“実世界の現象の抽象概念”

(ISO 19101)を地物という。したがって,実世界のデジタルな表現は,地物の集まりと考えられる。地物

の状態は,プロパティの集まりで定義する。ここで各プロパティは,{名前,型,値}の組と考えられる。 

地物がもつことのできる,名前及び型を伴うプロパティの数は,地物の型定義によって定まる。プロパ

ティとして幾何要素をもつ地物は,幾何要素の値をもつことができる。地物の集まりはそれ自身地物とし

て扱うので,地物の集まりは,地物型をもち,それゆえ,それに含まれる複数の地物に加えて,それ自身

も,個別のプロパティをもつことができる。 

JIS X 7109に適合する応用システム及び応用分野における地物型は,通常応用スキーマの中に含まれる。

GML応用スキーマは,XML Schemaに従って示し,次の二つの手段のいずれかによって構築する。 

− JIS X 7109が示すUMLで記述する応用スキーマのための規則を順守し,そしてそれらのスキーマに

対する制約及びこの規格で示すGML応用スキーマへの写像のための規則に適合する。 

− XML Schemaで直接GML応用スキーマを作成するために,この規格で示すGML応用スキーマのため

の規則を順守する。 

この規格では,これらの二つの手段をサポートする。JIS X 7100シリーズ(ISO 19100シリーズ)の規

格の概念モデリングフレームワークの適切な使用を確実にするためには,全ての応用スキーマを,JIS X 

7109が示す一般地物モデルに従ってモデル化することが求められる。JIS X 7100シリーズ(ISO 19100シ

リーズ)では,概念スキーマをモデル化する言語としてUMLを推奨している。 

GMLは,JIS X 7100シリーズ(ISO 19100シリーズ)の規格及びOpenGIS抽象仕様が定義する概念クラ

スの多くに対し,ISO 19118に適合したXML符号化を規定する。規定された概念モデルは,次の規格文書

で規定する概念モデルを含んでいる。 


X 7136:2012 (ISO 19136:2007)  

 

 

− ISO/TS 19103−概念スキーマ言語(計測単位,基本型) 

− JIS X 7107−空間スキーマ(幾何及び位相オブジェクト) 

− JIS X 7108−時間スキーマ(時間幾何及び位相オブジェクト,時間参照系) 

− JIS X 7109−応用スキーマのための規則(地物) 

− ISO 19111(JIS X 7111は,旧版に対応)−座標による空間参照(座標参照系) 

− ISO 19123−被覆の幾何と関数のためのスキーマ 

この規格の目的は,上記の規格が示す概念モデルに示す型の,標準的な符号化(すなわち,XMLによる

規格適合の実装)を行うことである。仮に,全ての応用スキーマを個別に符号化し,その符号化処理が,

例えばJIS X 7108:2004からとった型を含むとき,一義的で完全に固定化した符号化規則がなければ,XML

による符号化は,異なるものになってしまう。また,全ての実装手段は,それぞれ長所短所をもつので,

JIS X 7100シリーズ(ISO 19100シリーズ)の規格の中でモデル化する,核となる地理情報概念の規格,

及び応用スキーマで共通的に使用するXMLによる符号化の規格が役に立つ。 

多くの場合,概念クラスからの写像は,簡明なものだが,より複雑になる場合もある(写像の詳細記述

は,この規格の一部である。)。 

加えて,GMLは,JIS X 7100シリーズ(ISO 19100シリーズ)の規格又はOpenGIS抽象仕様でモデル化

していない追加的な概念,例えば,動的地物,単純観測,値オブジェクトなどのためのXMLによる符号

化法を示す。 

 

適用範囲 

地理マーク付け言語(GML)は,地理情報の伝送及び格納のための,ISO 19118に適合するXML符号

化法である。ここでいう地理情報とは,JIS X 7100シリーズ(ISO 19100シリーズ)の規格で使用する“概

念モデル化フレームワーク”に応じてモデル化されるものであり,空間プロパティ及び非空間プロパティ

を含む。 

この規格は,次に示すような機能・特徴をもつXML Schemaの構文規則,仕組み及び仕様を定義する。 

− XMLで地理情報の伝送及び格納を行うための地理空間応用スキーマの記述を行う,開放型の中立的な

枠組みを提供する。 

− GMLの枠組みの中で記述できる適切な部分集合をサポートするプロファイルを許す。 

− 専門領域及び情報コミュニティのための地理空間応用スキーマの記述を可能とする。 

− 互いに関連する地理応用スキーマ及びデータ集合の生成及び維持を可能とする。 

− 応用スキーマ及びデータ集合の格納及び伝送を可能とする。 

− 地理応用スキーマ及びそれに従う情報を共用する組織の能力を増大させる。 

実装を行う者は,GMLで地理応用スキーマ及び情報を格納することを決めることができ,要求に応じて

別の格納形式から変換したり,スキーマ及びデータの伝送にGMLだけを使用したりすることを決めても

よい。 

注記1 UMLで記述するJIS X 7109に従う応用スキーマを地理情報の格納及び伝送のための基礎と

して使用するとき,この規格は,そのような応用スキーマをXML SchemaによるGML応用

スキーマに写像し,JIS X 7109適合の応用スキーマに応じる論理構造をもつデータをXML

符号にするための規定を示す。 

注記2 地理マーク付け言語(Geography Markup Language)は,地理情報の伝達及び格納を行うとと

もに,応用スキーマを記述するためにXML Schemaで書いたXML文法である。 


X 7136:2012 (ISO 19136:2007) 

 

 

注記3 この規格の対応国際規格及びその対応の程度を示す記号を,次に示す。 

ISO 19136:2007,Geographic information−Geography Markup Language (GML)(IDT) 

なお,対応の程度を表す記号“IDT”は,ISO/IEC Guide 21-1に基づき,“一致している”

ことを示す。 

 

適合性 

2.1 

適合性の要件 

この規格の箇条7〜箇条19は,XML Schema構成部品,言い換えれば,GMLスキーマの仕様を示す。

これは,箇条21に従うGML応用スキーマで使用しなければならない。箇条20は,GML応用スキーマで

使用するために定義することができるGMLプロファイルの仕様の規則を示す。 

GMLスキーマがもつ記述可能性を最大限使用することを要求する応用は,ほとんどない。箇条2は,そ

れゆえ,最低限の単純な地物型を必要とするものからGMLスキーマの完全な仕様を必要とするものまで

の範囲で要求される応用に対応する,適合性クラスの集合を定義する。 

この規格に示す大部分のスキーマ構成部品は,JIS X 7100シリーズ(ISO 19100シリーズ)の規格が定

義する構成部品を実装している。その実装それぞれについて,この規格が定義する適合性クラスは,対応

する規格が定義する適合性クラスに基づく。 

GML応用スキーマ,GMLプロファイル又はソフトウェアの実装が,適合性クラスのいずれか一つに対

して適合性を主張する場合,その適合性クラスに対応する抽象試験項目群の全ての試験項目に合格しなけ

ればならない。 

どのようなソフトウェアの実装であっても,この規格への適合性を主張するときは,その実装がサポー

トするGMLプロファイルを文書上で示さなければならない。その作られたGMLプロファイルは,GML

プロファイル用の複数の抽象試験項目群の中の全ての必須試験項目に合格しなければならない。 

2.2 

GML応用スキーマに関係する適合性クラス 

この規格への適合性を求めるGML応用スキーマは,箇条7〜箇条21に示す規則に適合し,A.1に示す

抽象試験の中にある全ての関係する試験項目に合格しなければならない。 

GML応用スキーマの特性に依存して,適合性クラスを12種類に分類する。表1は,これらのクラス及

び抽象試験項目群が対応する細分箇条の一覧である。 

 

表1−GML応用スキーマに関係する適合性クラス 

適合性クラス 

抽象試験項目群の細分箇条 

全てのGML応用スキーマ 

A.1.1 

UMLによるJIS X 7109応用スキーマから変換するGML応用スキーマ 

A.1.2 

UMLによるJIS X 7109応用スキーマに変換するGML応用スキーマ 

A.1.3 

地物及び地物の集まりを定義するGML応用スキーマ 

A.1.4 

空間幾何要素を定義するGML応用スキーマ 

A.1.5 

空間位相要素を定義するGML応用スキーマ 

A.1.6 

時間要素を定義するGML応用スキーマ 

A.1.7 

座標参照系を定義するGML応用スキーマ 

A.1.8 

被覆を定義するGML応用スキーマ 

A.1.9 

観測を定義するGML応用スキーマ 

A.1.10 

辞書及び定義を定義するGML応用スキーマ 

A.1.11 

値を定義するGML応用スキーマ 

A.1.12 


X 7136:2012 (ISO 19136:2007)  

 

 

2.3 

GMLプロファイルに関係する適合性クラス 

応用スキーマの要件によって,GMLプロファイルが含まなければならない,GMLスキーマから取り出

されたXML Schema構成部品が決まる。この規格への適合を求めるGMLプロファイルは,A.2に示した

抽象試験項目群の要件を満たさなければならない。 

個々のGMLプロファイルに関連する内容及び要件によって,クラスを31種類に分類する。表2は,こ

れらのクラス及び抽象試験項目群が対応する細分箇条の一覧である。 

 

表2−GMLプロファイルに関係する適合性クラス 

適合性クラス 

抽象試験項目群の細分箇条 

全てのGMLプロファイル 

A.2.1 

幾何プリミティブ(空間)−零次元 

A.2.2.1.1 

幾何プリミティブ(空間)−零/一次元 

A.2.2.1.2 

幾何プリミティブ(空間)−零/一/二次元 

A.2.2.1.3 

幾何プリミティブ(空間)−零/一/二/三次元 

A.2.2.1.4 

幾何複体(空間)−零/一次元 

A.2.3.1.1 

幾何複体(空間)−零/一/二次元 

A.2.3.1.2 

幾何複体(空間)−零/一/二/三次元 

A.2.3.1.3 

位相複体(空間)−零/一次元 

A.2.4.1.1 

位相複体(空間)−零/一/二次元 

A.2.4.1.2 

位相複体(空間)−零/一/二/三次元 

A.2.4.1.3 

幾何実現を伴う位相複体(空間)−一次元 

A.2.5.1.1 

幾何実現を伴う位相複体(空間)−二次元 

A.2.5.1.2 

幾何実現を伴う位相複体(空間)−三次元 

A.2.5.1.3 

座標参照系 

A.2.6 

二つの座標参照系間の座標演算 

A.2.7 

時間幾何要素−零次元 

A.2.8.1 

時間幾何要素−零/一次元 

A.2.8.2 

時間位相要素 

A.2.9 

時間参照系 

A.2.10 

動的地物 

A.2.11 

辞書 

A.2.12 

単位辞書 

A.2.13 

観測地物 

A.2.14 

抽象被覆 

A.2.15.1 

離散点被覆 

A.2.15.2 

離散曲線被覆 

A.2.15.3 

離散曲面被覆 

A.2.15.4 

離散立体被覆 

A.2.15.5 

グリッド被覆 

A.2.15.6 

連続被覆 

A.2.15.7 

 

一次元空間幾何オブジェクトを含むGMLプロファイルにおける曲線の実装には,常に“線形”内挿法

がなければならない。二次元空間幾何オブジェクトを含むGMLプロファイルにおける曲面の実装には,

常に“平面”内挿法がなければならない。追加的な曲線内挿及び曲面内挿の仕組みの選択は任意とするが,

実装する場合は,この規格に含む定義に従わなければならない。 

 


X 7136:2012 (ISO 19136:2007) 

 

 

注記1 JIS X 7107:2005 の2.,JIS X 7108:2004の2.2及びISO 19123:2005の箇条2と,これらの適

合性クラスとを比較するとよい。 

注記2 次の三つの適合性クラス,つまり,“幾何プリミティブ(空間)−零次元”,“幾何プリミティ

ブ(空間)−零/一次元”及び“幾何プリミティブ(空間)−零/一/二次元”(“全てのGML

プロファイル”に加えて)は,ISO 19137:2007で定義した空間プロファイル,並びにISO 

19137:2007のB.1,B.2及びB.3の適合性試験のそれぞれに適合する。 

2.4 

GML文書に関係する適合性 

この規格に適合することを求めるGML文書は,箇条7〜箇条21に示した規則及びA.3に示す抽象試験

項目群の,全ての関連する試験項目に合格しなければならない。 

2.5 

ソフトウェア実装に関係する適合性 

この規格に適合することを求めるGML又はGML応用スキーマを読み書きするソフトウェアの実装は,

附属書Bの抽象試験項目群に規定した,対応する抽象試験項目群全てに合格しなければならない。 

実装の可能性に応じて,適合性クラスを12種類に分類する。表3は,これらのクラス及び抽象試験項目

群中が対応する細分箇条の一覧を示す。 

 

表3−実装に関係する適合性クラス 

適合性クラス 

抽象試験項目群の細分箇条 

全てのソフトウェア実装 

B.1 

XLinkの遠隔単純リンクのサポート 

B.2.1 

XLinkの拡張リンクのサポート 

B.2.2 

nil値をとることができるプロパティのサポート 

B.2.3 

計測単位のサポート 

B.2.4 

プロパティ所有権の意味規則のサポート 

B.2.5 

メタデータプロパティ 

B.2.6 

インスタンスの妥当性確認におけるGMLプロファイルのサポート 

B.2.7 

GMLの書き出し 

B.3 

GMLの読込み 

B.4 

GML応用スキーマの書き出し 

B.5 

GML応用スキーマの読込み 

B.6 

 

引用規格 

次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの

引用規格のうちで,西暦年を付記してあるものは,記載の年の版を適用し,その後の改正版(追補を含む。)

は適用しない。西暦年の付記がない引用規格は,その最新版(追補を含む。)を適用する。 

JIS X 0301 情報交換のためのデータ要素及び交換形式−日付及び時刻の表記 

注記 対応国際規格:ISO 8601,Data elements and interchange formats−Information interchange−

Representation of dates and times(MOD) 

JIS X 4158 XML名前空間 

注記 W3C XML Namespaces, Namespaces in XML, W3C Recommendation (14 January 1999) に対応し

ている。 

JIS X 4159:2005 拡張可能なマーク付け言語(XML)1.0 

 


X 7136:2012 (ISO 19136:2007)  

 

 

注記 W3C XML, Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation (4 

February 2004)に対応している。 

JIS X 4176 XMLリンク付け言語(XLink)1.0 

注記 W3C XLink, XML Linking Language (XLink) Version 1.0, W3C Recommendation (27 June 2001) 

に対応している。 

JIS X 4177-3 文書スキーマ定義言語(DSDL)−第3部:規則に基づく妥当性検証−Schematron 

注記 対応国際規格:ISO/IEC 19757-3,Information technology−Document Schema Definition 

Languages (DSDL)−Part 3: Rule-based validation−Schematron(IDT) 

JIS X 7107:2005 地理情報−空間スキーマ 

注記 対応国際規格:ISO 19107:2003,Geographic information−Spatial schema(IDT) 

JIS X 7108:2004 地理情報−時間スキーマ 

注記 対応国際規格:ISO 19108:2002,Geographic information−Temporal schema(IDT) 

JIS X 7109:2009 地理情報−応用スキーマのための規則 

注記 対応国際規格:ISO 19109:2005,Geographic information−Rules for application schema(IDT) 

JIS X 7112:2006 地理情報−地理識別子による空間参照 

注記 対応国際規格:ISO 19112:2003,Geographic information−Spatial referencing by geographic 

identifiers(IDT) 

JIS X 7115:2005 地理情報−メタデータ 

注記 対応国際規格:ISO 19115:2003,Geographic information−Metadata(MOD) 

ISO/IEC 11404:1996,Information technology−Programming languages, their environments and system 

software interfaces−Language-independent datatypes 

ISO/TS 19103:2005,Geographic information−Conceptual schema language 

ISO 19111:2007,Geographic information−Spatial referencing by coordinates 

注記 JIS X 7111:2004は,ISO 19111:2003に対応していた。 

ISO 19118:2005,Geographic information−Encoding 

ISO 19123:2005,Geographic information−Schema for coverage geometry and functions 

ISO/TS 19139,Geographic information−Metadata−XML schema implementation 

ISO 80000-3,Quantities and units−Part 3: Space and time 

注記 この規格の前身であるISO 31-1:1992,Quantities and units−Part 1: Space and timeは,JIS Z 

8202-1:2000 量及び単位−第1部:空間及び時間に対応する。 

IETF RFC 2396,Uniform Resource Identifiers (URI): Generic Syntax (August 1998) 

W3C XML Schema Part 1,XML Schema Part 1: Structures, W3C Recommendation (2 May 2001) 

W3C XML Schema Part 2,XML Schema Part 2: Datatypes, W3C Recommendation (2 May 2001) 

 

用語,定義及び略語 

4.1 

用語及び定義 

この規格で用いる主な用語及び定義は,次による。 

4.1.1 

応用スキーマ(application schema) 

一つ以上の応用システムによって要求されるデータのための概念スキーマ。 


X 7136:2012 (ISO 19136:2007) 

 

 

[ISO 19101:2002] 

4.1.2 

関連(association) 

二つ以上の分類子間の意味的な関係であって,そのインスタンスが各分類子のインスタンス間の結合を

示すもの(JIS X 4170 に基づく)。 

4.1.3 

属性(attribute)(XMLにおける) 

名前と値との対であって,要素に含まれるもの。 

注記 この規格では,特に示さないときは,属性は,XML属性を指す。XML属性の構文は,“属性::

=名前=属性値”である。属性は,主にXML要素修飾子(例えば,<道路 gml:id = "r1"/>。こ

こでgml:idは,属性である。)として働く。 

4.1.4 

境界(boundary) 

実体の広がりの限界を示す集合。 

[JIS X 7107:2005] 

4.1.5 

子要素(child element)(XMLにおける) 

要素の直下にある要素。 

4.1.6 

閉包(closure) 

位相オブジェクト又は幾何オブジェクトの内部と境界との和集合。 

[JIS X 7107:2005] 

4.1.7 

符号リスト(codelist) 

許容する値のための符号を含む,値の定義域。 

4.1.8  

符号空間(codespace) 

符号,名前,用語又は範ちゅう(疇)を示す規則又は典拠。 

例 符号空間の例としては,辞書,典拠,符号リストなどがある。 

4.1.9 

合成曲線(composite curve) 

列の各曲線が(最初のものを除き)直前の曲線の終点から開始するような曲線の列。 

[JIS X 7107:2005] 

注記 合成曲線は,直接位置の集合として,曲線の全ての性質をもつ。 

4.1.10 

合成立体(composite solid) 

共有された境界曲面に沿って互いに隣接する立体の連結した集合。 

[JIS X 7107:2005] 

注記 合成立体は,直接位置の集合として,立体の全ての性質をもつ。 

 


X 7136:2012 (ISO 19136:2007)  

 

 

4.1.11 

合成曲面(composite surface) 

共有された境界曲線に沿って互いに隣接する曲面の連結した集合。 

[JIS X 7107:2005] 

注記 合成曲面は,直接位置の集合として,曲面の全ての性質をもつ。 

4.1.12 

座標(coordinate) 

n次元空間内の点の位置を示すためのn個の数値の列。 

[ISO 19111:2007] 

注記 座標参照系の中では,n個の数は単位を付けて定量化する。 

4.1.13 

座標参照系(coordinate reference system) 

原子によってオブジェクトに関連付けた座標系。 

[ISO 19111:2007] 

4.1.14 

座標系(coordinate system) 

点にどのように座標を割り当てるかを規定する数学的規則の集合。 

[ISO 19111:2007] 

4.1.15 

座標組(coordinate tuple) 

座標の列で構成する組。 

[ISO 19111:2007] 

4.1.16 

被覆(coverage) 

空間定義域,時間定義域又は時空間定義域内の各々の直接位置に対して,決められた値域からの値を返

す関数として機能する地物。 

[ISO 19123:2005] 

4.1.17 

曲線(curve) 

直線の連続な像を表現する一次元の幾何プリミティブ。 

[JIS X 7107:2005] 

注記 曲線の境界は,その両端の点の集合である。曲線が閉路の場合,二つの端は同一であり,その

曲線は(位相的に閉じている場合には),境界をもたないとみなす。最初の点を始点,最後の点

を終点と呼ぶ。“直線の連続的な像”という定義文の語句によって,曲線の連結性が保障される。

位相幾何学の定理は,連結している集合の連続的な像は連結であることを規定している。 

4.1.18 

データ型(data type) 

値の集合を,その集合の要素に適用される操作とともに規定したもの。 

[ISO/TS 19103:2005] 

例 整数,実数,ブール値,文字列,(データを符号の列に変換した)日付 


X 7136:2012 (ISO 19136:2007) 

 

 

注記 データ型は,基本的で既定義の型及び使用者が定義した型を含む。データ型のインスタンスは,

全て識別性をもたない。 

4.1.19 

原子(datum) 

座標系の原点の位置,尺度,及び軸の向きを定義するパラメタ又はパラメタの集合。 

[ISO 19111:2007] 

注記 原子は,測地原子,鉛直原子,施工基準原子,画像原子又は時間原子となる。 

4.1.20 

直接位置(direct position) 

座標参照系の中で一つの座標によって記述された位置。 

[JIS X 7107:2005] 

4.1.21 

定義域(domain) 

明確に定義された集合。 

[ISO/TS 19103:2005] 

注記1 数学関数は,この集合上で定義する。例えば関数f:A→Bにおいて,Aは,関数fの定義域で

ある。 

注記2 “論議領域”(domain of discourse)の場合の“領域”は,主題又は興味の範囲を指している。 

4.1.22 

エッジ(edge) 

一次元の位相プリミティブ。 

[JIS X 7107:2005] 

4.1.23 

要素(element)(XMLにおける) 

子要素,属性及び文字データを含むXML文書の基本的な情報項目。 

注記 “XML文書は,一つ以上の要素を含み,その境界は開始タグ及び終了タグによって,又は空の

要素の場合は,空要素タグによって区切る。それぞれの要素は,型をもち,ʻ一般識別子ʼ(GI)

ともいう名前によって識別するとともに,属性仕様の集合をもつことができる。それぞれの属

性仕様は,名前及び値をもつ。”(W3C XML Information Setから) 

4.1.24 

外部(exterior) 

全体集合とある集合の閉包との差集合。 

[JIS X 7107:2005] 

4.1.25 

フェイス(face) 

二次元の位相プリミティブ。 

[ISO 19111:2007] 

注記 フェイスの幾何実現は,曲面である。フェイスの境界は,境界関係を通してフェイスに関連付

けられる同じ位相複体内にある有向エッジの集合である。これらは,輪の形にそろ(揃)える

ことができる。 


10 

X 7136:2012 (ISO 19136:2007)  

 

 

4.1.26 

地物(feature) 

実世界の現象の抽象概念。 

[ISO 19101:2002] 

注記 地物は,型又はインスタンスとして出現する。用語“地物型”又は“地物インスタンス”は,

いずれか一方を意味するときに使用されることが望ましい。 

4.1.27 

地物関連(feature association) 

ある地物型のインスタンスを同じ又は異なる地物型のインスタンスに関連付ける関係。 

[ISO 19110:2005] 

4.1.28 

関数(function) 

ある領域[この関数の定義域(source,domain)]の各要素を,別の領域[この関数の値域(target,co-domain,

range)]の一意な要素に関連付ける規則。 

[JIS X 7107:2005] 

4.1.29 

測地原子(geodetic datum) 

二次元又は三次元座標系と地球との関係を記述する原子。 

[ISO 19111:2007] 

4.1.30 

幾何オブジェクト(geometric object) 

幾何集合を表す空間オブジェクト。 

[JIS X 7107:2005] 

4.1.31 

幾何プリミティブ(geometric primitive) 

単一の連結で均質な空間の要素を表す幾何オブジェクト。 

[JIS X 7107:2005] 

4.1.32  

幾何集合(geometric set) 

直接位置の集合。 

[JIS X 7107:2005] 

4.1.33 

幾何プロパティ(geometric property)(GMLにおける) 

地物の幾何的な性質を記述するGML地物のプロパティ。 

注記 幾何プロパティの名前は,地物との関連における役割である。 

4.1.34 

GML応用スキーマ(GML application schema) 

この規格で示す規則に従って,XML Schemaで書く応用スキーマ。 

4.1.35 

GML文書(GML document) 


11 

X 7136:2012 (ISO 19136:2007) 

 

 

GMLスキーマで規定されている AbstractFeature要素,Dictionary要素若しくはTopoComplex要素の内の

いずれか,又はこれらの要素のいずれかの代替グループの任意の要素を,根底要素としてもつXML文書。 

4.1.36 

GMLプロファイル(GML profile) 

GMLスキーマの部分集合。 

4.1.37 

GMLスキーマ(GML schema) 

この規格で示すXML名前空間“http://schemas.opengis.net/gml/3.2.1/”の中のスキーマ構成部品の集まり。 

4.1.38 

グリッド(grid) 

複数の曲線からなる集合二つ以上から構成されるネットワークで,各集合の要素となる曲線が,他の集

合の要素となる曲線と一定の規則で交差するもの。 

[ISO 19123:2005] 

注記 曲線は,空間をグリッドセルに分割する。グリッドはJIS X 7107:2005では“格子”としていた

が,一般化しているとの理由で“グリッド”とした。 

4.1.39 

内部(interior) 

幾何オブジェクト上にありその境界上にはない全ての直接位置の集合。 

[JIS X 7107:2005] 

4.1.40 

線列(line string) 

直線分で構成する曲線。 

4.1.41 

計測値(measure)(GMLにおける) 

スカラ参照系で使用する,又は尺度付きの数量を使用して記述する値。 

4.1.42 

測定量(measurand) 

測定の対象となる個々の量。 

4.1.43 

名前空間(namespace)(XMLにおける) 

URI参照によって識別される名前の集まり。要素名及び属性名としてXML文書内で使用する(W3C XML

名前空間)。 

4.1.44 

ノード(node) 

零次元の位相プリミティブ。 

[JIS X 7107:2005] 

4.1.45 

オブジェクト(object) 

状態と振る舞いとをカプセル化した,明確に定義された境界及び識別をもつ実体。 

[JIS X 7107:2005] 


12 

X 7136:2012 (ISO 19136:2007)  

 

 

注記 GMLオブジェクトは,AbstractGMLTypeから派生する型のXML要素である。 

4.1.46 

可観測型(observable type) 

観測の結果として得られる物理量を示すデータ型。 

4.1.47  

点(point) 

位置を表現する零次元の幾何プリミティブ。 

[JIS X 7107:2005] 

注記 点の境界は,空集合である。 

4.1.48 

ポリゴン(polygon) 

一つの外部境界及び零以上の内部境界によって定義する平面。 

4.1.49  

プロパティ(property)(GMLにおける) 

GMLオブジェクトの子要素。 

注記 これは,JIS X 7109で示す地物属性又は地物関連役割と一致する。地物のGMLプロパティが

地物を参照するxlink:href属性をもつとき,プロパティは,地物関連役割を表現する。 

4.1.50 

物理量(physical quantity) 

物理現象の量的な表記に用いる量。 

注記 GMLでは物理量は,常に,スカラ参照系を使用する,又は尺度付きの数量を使用して記述する

値である。 

4.1.51 

値域(range) 

関数fが,その定義域上で変化する引数に対応して,とることができる全ての値の集合。 

4.1.52 

偏位修正グリッド(rectified grid) 

グリッドであって,そのグリッド座標と外部座標参照系座標との間にアフィン変換(affine transformation,

一次変換)関係が成立しているもの。 

[ISO 19123:2002] 

4.1.53 

スキーマ(schema) 

モデルの形式的な記述。 

[ISO 19101:2002] 

注記 一般的に,スキーマは,オブジェクトの特性及び他のオブジェクトとの関係を抽象化した表現

である。XMLスキーマは,XMLオブジェクト(例えば,文書又は文書の一部)の属性及び要

素間の関係を表現する。 

4.1.54 

スキーマ(XML schema)(XML Schemaにおける) 

同一の対象名前空間中のスキーマ構成部品の集まり。 


13 

X 7136:2012 (ISO 19136:2007) 

 

 

例 W3C XML Schemaのスキーマ構成部品は,型,要素,属性,グループなどである。 

4.1.55 

スキーマ文書(schema document)(XML Schemaにおける) 

スキーマ構成部品の定義及び宣言を含むXML文書。 

注記 W3C XML Schemaは,スキーマ情報のためのXML交換形式を示す。単一のスキーマ文書は,

単一のXML名前区間に関連する構成部品の記述を示すが,複数の文書によって,同じスキー

マ,例えば,同じ対象名前空間中の構成部品を記述してもよい。 

4.1.56 

意味型(semantic type) 

共通の特性を共有するオブジェクトの範ちゅう(疇)。それゆえ,その範ちゅう(疇)には個々の論議領

域中の識別子型の名前が与えられる。 

4.1.57  

列(sequence) 

繰返しを許した,関連する項目(オブジェクト又は値)の,有限で順序をもつ集まり。 

[JIS X 7107:2005] 

4.1.58 

集合(set) 

繰返しを許さない,関連する項目(オブジェクト又は値)の,有限で順序をもたない集まり。 

[JIS X 7107:2005] 

4.1.59 

空間オブジェクト(spatial object) 

地物の空間特性を表現するために用いるオブジェクト。 

[JIS X 7107:2005] 

4.1.60 

曲面(surface) 

局所的に平面領域の連続な像を表す二次元の幾何プリミティブ。 

注記 曲面の境界は,曲面の限界の輪郭を描く向きをもつ閉曲線である。球面又はn次元トーラス(n

次元“把”をもつ位相球面)と同形である曲面は,境界をもたない。このような曲面を輪体と

呼ぶ。 

[JIS X 7107:2005] 

4.1.61 

タグ(tag)(XMLにおける) 

要素の内容を区切るXML文書中のマーク付け。 

例 <道路> 

注記 前方スラッシュのないタグ(例 <道路>)を開始タグと呼び,前方スラッシュ付きのもの(例 

</道路>)を終了タグと呼ぶ。 

4.1.62 

位相オブジェクト(topological object) 

連続した変換のもとでも変わらない空間特性を表す空間オブジェクト。 

[JIS X 7107:2005] 


14 

X 7136:2012 (ISO 19136:2007)  

 

 

4.1.63 

組(tuple) 

順序をもつ,値のリスト。 

注記 組の中の値の順番は,変更できない。 

4.1.64 

UML応用スキーマ(UML application schema) 

JIS X 7109に適合してUMLで書かれた応用スキーマ。 

4.1.65 

統一資源識別子[Uniform Resource Identifier (URI)] 

IETF RFC 2396に適合した構造をもつ,資源の統一的な識別子。 

注記 一般的な構文は,使用するスキーム名(<scheme>)及びスキーム固有部分(<scheme-specific-part>)

からなる<scheme>::<scheme-specific-part>である。名前空間付きの階層的な構文は,

<scheme>://<authority><path>?<query>である(RFC 2396参照)。 

4.2 

略語 

この規格で使用する略語を,次に示す。 

CRS   座標参照系(Coordinate Reference System) 

CS   座標系(Coordinate System) 

CSV   CSV(Comma Separated Values) 

CT   座標変換(Coordinate Transformation) 

DTD  文書型定義(Document Type Definition) 

EPSG  EPSG(European Petroleum Survey Group) 

GIS   地理情報システム(Geographic Information System) 

GML  地理マーク付け言語(Geography Markup Language) 

注記 これまでISOでは,頭字語GMLを文書記述言語(Generalized Markup Language)に対して使用

してきた。文書記述言語は,JIS X 4151では,文書記述言語SGML(Standard Generalized Markup 

Language)となった。 

HTTP  ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol) 

IETF  インターネット技術タスクフォース(Internet Engineering Task Force) 

ISO   国際標準化機構(International Organization for Standardization) 

OGC  OGC(Open Geospatial Consortium) 

RDF   RDF(Resource Description Framework) 

RFC   RFC(Request for Comments) 

SMIL  SMIL(Synchronized Multimedia Integration Language) 

SOAP  単純オブジェクトアクセスプロトコル(Simple Object Access Protocol) 

SVG  スケーラブルベクタグラフィックス(Scalable Vector Graphics) 

UML  統一モデリング言語(Unified Modeling Language) 

URI   統一資源識別子(Uniform Resource Identifier) 

URL  統一資源位置子(Uniform Resource Locator) 

URN  統一資源名(Uniform Resource Name) 

W3C  W3C(World Wide Web Consortium) 


15 

X 7136:2012 (ISO 19136:2007) 

 

 

WFS  ウェブ地物サービス(Web Feature Service) 

XML  拡張マーク付け言語(eXtensible Markup Language) 

XSLT  XSL変換(eXtensible Stylesheet Language - Transformations) 

0D   零次元(Zero Dimensional) 

1D   一次元(One Dimensional) 

2D   二次元(Two Dimensional) 

3D   三次元(Three Dimensional) 

 

規則 

5.1 

XML名前空間 

全てのGMLスキーマ構成部品は,識別子“http://schemas.opengis.net/gml/3.2.1/”の名前空間に定義され,

この規格では,接頭辞gml又は既定の名前空間を使用する。 

JIS X 4176で示す全ての構成部品は,識別子“http://www.w3.org/1999/xlink”の名前空間に定義され,こ

の規格では,接頭辞xlinkを使用する。 

注記 附属書CのXMLスキーマ文書は,両者の名前空間におけるスキーマ構成部品を示す。 

5.2 

版管理 

GMLスキーマ構成部品を示す各スキーマ文書は,XML Schema勧告が定義する版の属性をもたなければ

ならない。版属性の文字列の形式は,x.y.zとする。ここで,xは,主版番号を表し,yは,副版番号を表

し,zは,誤り訂正の公開番号を表す。この規格が示す版は,3.2.1である。 

注記 この版が,初めて国際規格となったGMLであり,これを基にこのJISを作成した。これまで

のGMLの版は,Open Geospatial Consortium(OGC)が作成し,公開している。 

5.3 

GMLの以前の版における非推奨の部分 

この規格の中で“非推奨とする”などの形で言及する部分は,以前の版との後方互換性を保つために残

してあり,将来の版では,追加的な注意を与えずに削除する可能性があるという注意を示す。 

この規格は,非推奨のGMLの構成部品を記述する又は参照する部分をイタリック体で記述する。 

注記1 この規格の対応国際規格は,Open Geospatial ConsortiumがGML 3.2.1として公開している。

Open Geospatial Consortium におけるGMLの以前の採用された版は,3.1.1であった。 

注記2 この規格においては,GMLの版2.1の部分であったが,版3.0で非推奨となった全てのスキ

ーマ構成部品を削除し,その使用を認めない。 

5.4 

UML表記法 

この規格が示す多くの図は,統一モデリング言語(UML:Unified Modeling Language)の静的構造図を

使用して表す。この規格の中で使用するUMLの表記を図1に示す。 

 


16 

X 7136:2012 (ISO 19136:2007)  

 

 

 

 

図1−UML表記法 

 

この規格は,次のUMLクラスのステレオタイプを使用する。 

− <<DataType>> 識別性(独立した存在及び副作用の可能性)のないプロパティの集合である。Data Type

は,第一の目的が情報を保持することで,操作をもたないクラスである。 

− <<Union>> プロパティの集合である。その意味規則は,いかなる場合でも複数のプロパティのうち

一つだけ存在するということである。 

− <<FeatureType>> JIS X 7109の定義による地物である。 

− <<CodeList>> とり得る値のリストを表現するための文字列の値を使用する,柔軟性のある列挙型で

ある。 

− <<Enumeration>> 名前付けされた文字の値が有効な識別子となる,固定されたリストである。列挙型

を型とする属性は,このリストからだけ値をとることができる。 

− <<Abstract>> 抽象のオブジェクト型である(クラス名は,イタリック体で記述し,このステレオタ

イプを用いる。)。 

− <<Type>> 抽象の属性及び関連の集合である。抽象とは,属性及び関連の仕様が,必ずしもインスタ

ンス変数として具体的に実装しなければならないわけではないことを意味する。 

この規格は,次の基本データ型を使用する。 

クラス#1 

クラス#2 

関連名 

 役割-1   役割-2 

クラス間の関連 

関連の多重度 

クラス 

一つだけ 

クラス 

0以上 

0..* 

クラス 

任意選択(0又は1) 

0..1 

クラス 

1以上 

クラス 

特定の数 

1..* 

クラス間の集成 

集成 

クラス 

…… 

部品 

クラス#1 

部品 

クラス#2 

部品 

クラス#n 

クラスの継承(クラスの細分類) 

上位 

クラス 

…… 

下位 

クラス#1 

下位 

クラス#2 

下位 

クラス#n 


17 

X 7136:2012 (ISO 19136:2007) 

 

 

− CharacterString 文字列(一般に,このデータ型は,XML Schemaの“string”に対応付ける。) 

− Integer 整数(一般に,このデータ型は,XML Schemaの“integer”に対応付ける。) 

− Real 浮動小数点数(一般に,このデータ型は,XML Schemaの“double”に対応付ける。) 

− Boolean TRUE又はFALSEを特定する値(一般に,このデータ型は,XML Schemaの“boolean”に

対応付ける。)。 

5.5 

XML Schema 

この規格の規定部分は,適合するGMLデータインスタンスの文法を記述するために,W3C XML Schema

言語を使用する。XML Schemaは,多くの可能性及び巧妙さをもつ高機能な言語である。XML Schemaに

不慣れな読者は,一般的な方法によって記述された説明を理解できるかもしれないが,この規格は,XML 

Schemaの解説はしない。この規格を完全に理解するためには,読者がXML Schemaの正しい知識をもっ

ている必要がある。 

 

GMLスキーマの概要 

6.1 

GMLスキーマ 

GMLは,JIS X 7100シリーズの規格及びOpenGISの抽象仕様に適合し,これらの規格及び仕様が定義

する多くの概念クラスの,XMLによる符号化法を示す。 

関連する概念モデルは,次で定義するモデルを含む。 

− ISO/TS 19103 概念スキーマ言語(計測単位,基本型) 

− JIS X 7107 空間スキーマ(空間幾何及び位相) 

− JIS X 7108 時間スキーマ(時間幾何及び位相,時間参照系) 

− JIS X 7109 応用スキーマのための規則(地物) 

− ISO 19111 座標による空間参照(座標参照系) 

− ISO 19123 被覆の幾何及び関数のためのスキーマ(被覆,グリッド) 

多くの場合,概念クラスからXMLへの写像は,簡明なものだが,より複雑になる場合もある。両者の

場合の写像の方法は,附属書Dにその詳細を示す。 

加えて,GMLは,JIS X 7100シリーズの規格又はOpenGIS抽象仕様でモデル化していない追加的な概

念,例えば,動的地物,単純観測,値オブジェクトなどのためのXMLによる符号化法を示す。これらの

拡張に対応する追加的な概念クラスも,附属書Dに示す。 

GMLスキーマは,この規格が示す構成部品(XML要素,属性,単純型,複合型,属性グループ,グル

ープなど)から構成される。XMLによる符号化法は,ISO 19118に適合する。 

6.2 

GML応用スキーマ 

GML応用スキーマの設計者は,応用分野に適する型を定義するために,GMLスキーマが定義する型を

拡張又は制限してよい。GMLスキーマの抽象でない要素及び属性並びに型は,変更する必要がなければ,

応用スキーマにおいて直接的に使用してよい。 

JIS X 7109に従い,応用システム又は応用分野の地物型は,応用スキーマで示される。GML応用スキー

マは,XML Schemaで示し,GMLスキーマをインポートしなければならない。GML応用スキーマは,次

の二つの方法のうちのいずれかで作成してもよい。 

− GML応用スキーマをXML Schemaによって直接的に作成するための,箇条21で示すGML応用スキ

ーマのための規則に従った方法。 

 


18 

X 7136:2012 (ISO 19136:2007)  

 

 

− JIS X 7109で規定するUMLによる応用スキーマ作成の規則を順守し,その制約と附属書Eで示す

GML応用スキーマへの写像規則との両者に適合する方法。JIS X 7109に適合するUMLによる応用ス

キーマから,それに相当するGMLスキーマへの写像は,一連の符号化規則に基づく。一連の符号化

規則は,GML応用スキーマ及びISO 19118のための規則に適合する。 

両者の方法は,GML応用スキーマを作成するために有効な方法である。全ての応用スキーマは,JIS X 

7109で規定する一般地物モデルに従ってモデル化しなければならない。JIS X 7100シリーズ(ISO 19100

シリーズ)は,概念スキーマを記述するための言語としてUMLを推奨する。 

後者の方法は,一般的に,JIS X 7100シリーズ(ISO 19100シリーズ)の規格の概念モデルフレームワ

ークを適切に使用することを保証するために推奨する。しかしながら,前者の方法を適用することを正当

化する例として,次に示す理由がある。 

− 附属書Eで示す符号化規則を用いることで使用しやすくなる可能性に加え,GMLスキーマの追加的

な機能が望める。 

− XMLによる表現だけを望むことができ,応用スキーマは,比較的単純となり得る。したがって,概念

スキーマ言語を用いることは,不当な冗長性をもたらすかもしれない。 

− 応用システムは,附属書Eで示す符号化規則の結果として作成する場合と比較して,より適切,かつ,

より小規模なXMLによる符号化法を望める。 

注記 附属書Fは,GML応用スキーマから,JIS X 7109に適合したUMLによる応用スキーマへの写

像規則を示す。 

両者の場合において,この規格に適合するGML応用スキーマは,全ての適用可能なGMLスキーマ構成

部品を,直接的に又は特化して用いなければならない。そして,XMLスキーマのための規則に従って有効

となる。GML応用スキーマの作成過程は,この規格の要件に対する適合性には関係しない。 

6.3 

JIS X 7100シリーズ(ISO 19100シリーズ)の規格,GMLスキーマ及びGML応用スキーマの関係 

この規格が採用する方法を図2に示す。二つの主要な側面を次に示す。 

− GMLの概念モデルに関する明確な記述:GMLが実装するJIS X 7100シリーズ(ISO 19100シリーズ)

の規格のプロファイルを,このプロファイルへの拡張と同様に記述する。 

− UML又はXML Schemaのいずれかで応用スキーマを開発するための支援:UML図(すなわち,JIS X 

7109に適合したUMLによる応用スキーマ)及びXMLスキーマ(すなわち,XML SchemaによるGML

応用スキーマ)の双方向の写像を実現するために,両者の表現に使用する構造を制限する。これは,

スキーマを記述するための表現をある程度低減させるが,同時に,複雑さを軽減し,実装をより簡単

にする。 

注記 UML図からXMLスキーマへの写像は,ISO 19118の附属書Aで検討しているが,逆方向の写

像は,他のどのJIS X 7100シリーズ(ISO 19100シリーズ)の規格においても検討していない。 


19 

X 7136:2012 (ISO 19136:2007) 

 

 

 

図2−JIS X 7100シリーズ(ISO 19100シリーズ)の規格とJIS X 7136/GMLとの関係 

 

6.4 

この規格の編成 

GMLは,GMLオブジェクト型の階層によって,地物,幾何,位相など,様々な実体を定義する。GML

オブジェクト型,JIS X 7100シリーズ(ISO 19100シリーズ)の規格及びOpenGIS抽象仕様の概念モデル

のクラスの写像関係を表D.2に示す。規定となるGMLスキーマは,これらのオブジェクト型を使って編

成される。 

7.2でGMLの基本スキーマ構成部品を示す。基底オブジェクトgml:AbstractObject,及びGMLクラス階

層構造の基底gml:AbstractGMLを定義する。 

8.1でXLinkスキーマを示す。このスキーマは,XML Schemaを使用したXLink仕様に関するOGCの実

装仕様である。将来的には,W3Cが提供する同等なスキーマに置き換わるであろう。 

注記1 この規格の中では,Xlink構成部品をXML Schemaで記述する。これを,XML Schemaを基本

とした環境下において便宜的に提供する。JIS X 4176では,規定となる定義は,XML Schema

以外の形式で示している。 

8.2では,GMLスキーマで使用する基本データ型のGMLによる表現を示す。データ型の大部分は,単

純型又は単純内容型である。 

箇条9では,地物スキーマ構成部品を示し,gml:AbstractFeature及びそれから派生する構成部品を示す。 

箇条10,10.5.10及び箇条11では,幾何スキーマ構成部品を示し,gml:AbstractGeometry,

gml:AbstractGeometricPrimitive,gml:AbstractGeometricAggregate,gml:GeometricComplex及びそれらから派

生する構成部品を示す。 

箇条12では,次の座標参照系スキーマ構成部品を示す。 

− gml:IdentifiedObject 

− gml:AbstractCRS 

− gml:AbstractCoordinateReferenceSystemの下位型 

確実な写像 

(JIS X 7136の附属書D) 

使用者定義の応用スキーマ 

(JIS X 7109及びISO/TS 19103を用いたUML図) 

 

JIS X 7100シリーズ(ISO 19100シリーズ)への拡張 

(ISO/TS 19103を用いたUML図) 

JIS X 7107 

プロファイル 

JIS X 7108 

プロファイル 

… 

GMLスキーマ 

(XMLスキーマ) 

GML応用スキーマ 
(XMLスキーマ) 

GML応用スキーマ符号化規則

(JIS X 7136の附属書E及び 

ISO 19118) 

GML応用スキーマ 

符号化規則 

(JIS X 7136の附属書F) 

インポート 


20 

X 7136:2012 (ISO 19136:2007)  

 

 

− 特定の座標参照系を作成するために必要な要素及び型 

箇条13では,次の位相のためのスキーマ構成部品を示す。 

− gml:AbstractTopology 

− gml:AbstractTopoPrimitive 

− gml:TopoComplex及びそれらから派生する構成部品 

箇条14では,次に示す時間構造のためのスキーマ構成部品及びそれらから派生する部品並びに

gml:DynamicFeature及びそれから派生する部品を定義する。 

− gml:AbstractTimeObject 

− gml:AbstractTimePrimitive 

− gml:AbstractTimeGeometricPrimitive 

− gml:AbstractTimeTopologyPrimitive 

− gml:AbstractTimeComplex 

箇条15では,gml:Definition及びgml:Dictionaryを含む,定義及び辞書のためのスキーマ構成部品を示す。 

箇条16では,計測単位(gml:UnitDefinition及びそれから派生する構成部品),計測及び値オブジェクト

(gml:AbstractValue,gml:AbstractScalarValue,gml:AbstractScalarValueList及びそれらから派生する構成部品)

のためのスキーマ構成部品を示す。 

箇条17では,方向を記述するためのスキーマ構成部品を示す。 

箇条18では,単純観測(gml:Observation及びそれから派生する構成部品)のためのスキーマ構成部品を

示す。 

箇条19では,次のグリッド及び被覆のためのスキーマ構成部品,及び派生する構成部品を示す。 

− gml:Grid 

− gml:AbstractCoverage 

− gml:AbstractDiscreteCoverage 

− gml:AbstractContinuousCoverage  

これらの箇条は,GMLスキーマの規定であり,内容,構造及び依存関係を規定する。 

この規格が示すGMLスキーマの表現では,W3C XML Schemaが与えるXML交換形式を使用する。構

成部品の集合の記述はスキーマ文書に組込み,各スキーマ文書には,図2で示す分類に広く対応する構成

部品が集まる。しかしながら,この規格におけるGMLスキーマ構成部品のXMLによる表現は,規定扱い

とするが,スキーマ文書へのパッケージ化については,規定扱いでない。箇条20及び附属書Gは,GML

スキーマ構成部品をXMLによって表現する他のパッケージ化の方法及び原則を示す。 

この規格が定義又は宣言する全ての構成部品は,同じ対象名前空間http://schemas.opengis.net/gml/3.2.1/

で定義する。 

注記2 XML名前空間は,XML文書における名前の衝突から引き起こされる曖昧さを避けるための

仕組みを与える。一つのスキーマ文書で記述する全ての構成部品は,一つの対象名前空間中

に定義する。一方,複数のスキーマ文書に対する構成部品を一つの名前空間で定義してもよ

い。XML開発者コミュニティでは,ある応用システムのためのスキーマ構成部品の一つの集

合に対して,一つの名前空間の割当てと,複数の名前空間の割当てとを並行させた例がある。

GMLスキーマ構成部品に対して一つの名前空間を使用することは,スキーマ文書間でGML

構成部品のXMLの表現を,規定とせずに使用することと矛盾しない。 

 


21 

X 7136:2012 (ISO 19136:2007) 

 

 

UMLでは,関連する構成部品をまとめるためにパッケージを使用する。また,JIS X 7100

シリーズ(ISO 19100シリーズ)の規格では,異なるパッケージからクラスを区別するため

に,XML名前空間を象徴する方法として“AA̲”のような接頭辞を使用する。しかしながら,

上述したように,GML構成部品のパッケージ化の方法は,規定とせず,全てのGML構成部

品は,一つの名前空間中に定義する。このため,JIS X 7100シリーズ(ISO 19100シリーズ)

の規格における2文字の接頭辞とGMLにおけるXML名前空間との間には,対応関係がない。 

6.5 

非推奨の試行的なスキーマ構成部品 

GMLオブジェクトの既定表現様式のための規則を扱う,試行的で規定扱いでないスキーマ構成部品を附

属書Hに示す。 

非推奨の大域的なスキーマ構成部品(要素,属性及び型)を附属書Iに示す。 

 

GMLスキーマ−一般規則及び基底スキーマ構成部品 

7.1 

GMLモデル及び構文 

7.1.1 

GMLインスタンス文書 

GMLでは,JIS X 7109が規定する一般地物モデルに適合したGML応用スキーマをXML文書としてイ

ンスタンス化するために,明確な構文規則を用いる。 

地物は,地物型の名前をもつXML要素として符号化する。その他の識別可能なオブジェクトは,その

オブジェクト型の名前をもつXML要素として符号化する。 

地物属性及び地物関連役割は,地物のプロパティである。地物プロパティは,XML要素として符号化す

る。 

注記1 “属性”という用語は,XMLにおいてXML文書内の特定の構文構成部品を指す。そこで,

XMLによる符号化を説明するときに混乱を避けるため,GMLでは,RDF(W3C:1999)の

用語法に従い,属性又は関連役割の代わりに“プロパティ”という用語を用いる。一般地物

モデル(JIS X 7109)においても“プロパティ”という用語を“属性”,“関連役割”又は“操

作”を汎化した用語として用いている。 

さらに,“プロパティ”の意味は,プロパティの値と区別される。意味は,プロパティを表す要素の名前

で指し示し,値は,プロパティ要素の内容によって定める。プロパティ要素の値は,要素内で符号化した

内容として含んでもよいし,XLinkの単純リンクを用いて参照してもよい。プロパティの値は,単純な値,

地物又は他の複合オブジェクトをとることができる。要素内に値を含める場合,単純プロパティの値は,

組込み型のマーク付けを含まない文字列の値(テキスト)であるが,値が複合であるときは,XMLマーク

付けを用いた部分木として表現する(すなわち,下位構造をもつXML要素となる。)。 

注記2 GMLモデルには,(ISO/TS 19103で定義した)ISO 19100シリーズで使用するUMLプロフ

ァイルを用いた直接的な表現がある。詳細は,附属書D及び附属書Eで示すが,簡潔にはお

おむね次のように要約できる。 

地物は,次のように表現する。 

− UMLではオブジェクトとして表現する。地物型の名前を,オブジェクトクラスの名前と

して用いる。 

− GMLインスタンスではXML要素として記述する。地物型の名前を,要素の名前として

用いる。 

地物プロパティは,次のように表現する。 


22 

X 7136:2012 (ISO 19136:2007)  

 

 

− UMLでは,地物型クラス間の関連役割及び地物型クラスの属性として表現する。そのプ

ロパティの意味規則は,関連役割名又は属性名によって定まる。 

− GMLインスタンスでは,(プロパティ要素として知られる)地物要素の副要素として表

現する。そのプロパティの意味規則は,プロパティ要素の名前によって定まる。 

プロパティ値の型は,次のように表現する。 

− UMLでは,関連先となるクラス又は属性のデータ型として示す。 

− GMLでは,複合的な値をもつプロパティの場合は,プロパティ要素内に含むオブジェク

ト要素の名前で示す。単純な値をもつプロパティの場合は,組込み型のXMLマーク付

けを含まない文字列の値の型によって示す。 

結果的には,GMLインスタンス文書は,階層構造をもつXML文書となる。XML文書の中で,地物,

オブジェクト又は値と対応するXML要素,及びそれらに関係するプロパティと対応するXML要素とが,

交互に出現する。文書中の地物,オブジェクト又は値の役目は,直接包含する又は参照するプロパティの

要素名を調べることによって,常に明らかになる。 

注記3 この符号化パターンを,“オブジェクト−プロパティモデル”と呼ぶことがある。このモデル

は,OGCが初版において採択したときからGML符号化モデルの基礎である。この符号化パ

ターンは,インスタンス文書に余分な階層を加える場合もあるが,有利な点もある。GMLイ

ンスタンス文書それ自身を理解しやすく作成することを助け,予測可能な構造となる。また,

XML Schemaに大きく依存することを回避しているため,GMLインスタンス文書がW3C 

XML Schema言語の一般的用法を超えることが期待できる。 

7.1.2 

語彙の規約 

GMLインスタンス及びスキーマを人間が読むことを可能にするため,要素及び複合型の名前に対して,

GMLスキーマの中で用いる語彙の規約が幾つかある。 

− オブジェクトは,大文字(upper case)で始まるキャメル記法(UpperCamelCase−各要素語の先頭の大

文字をラクダのこぶに見立てて命名)によって記述した,概念的に意味のある名前を用いて,XML

要素としてインスタンス化する。 

− プロパティは,小文字(lower case)で始まるキャメル記法(lowerCamelCase)によって記述したXML

要素としてインスタンス化する。 

− 抽象要素は,接頭辞として“Abstract”(オブジェクトの場合)又は“abstract”(プロパティの場合)を

名前の先頭に付ける。 

− XML Schema複合型の名前は,最後の単語に“Type”を用い,大文字で始まるキャメル記法を用いて

記述する。 

− 抽象型のXML Schema複合型の名前は,先頭に“Abstract”という語を付ける。 

GML応用スキーマにおいても,これらの規約に従うことを強く推奨する。ただし,これらの規則は,小

文字と大文字とを区別する言語だけに適用される。 

注記1 大文字で始まるキャメル記法とは,複合語を連結して一つの単語として形成するときに,各

語の最初の一文字を大文字とする命名規則である。小文字で始まるキャメル記法とは,連結

した新しい単語の先頭の一文字だけは小文字とする,上記の規則の変形であり,大文字で始

まるキャメル記法と簡単に識別できる。 

注記2 GML応用スキーマを設計するときには,オブジェクト及びプロパティの名称への日本語の使

用,オブジェクトとプロパティとの区別,並びに語句の連結などの命名規則に留意する。 


23 

X 7136:2012 (ISO 19136:2007) 

 

 

7.1.3 

GML言語におけるXML Schema定義 

GMLスキーマは,W3C XML Schema要素からなる。各要素は,型を定義するか,又は次の宣言を行う。 

− GMLオブジェクトを識別子とともに符号化するXML要素 

− これらオブジェクトのGMLプロパティを符号化するXML要素 

− これらのプロパティに条件を付けるXML属性 

GMLオブジェクトは,gml:AbstractGMLType から直接又は間接的に派生する型となるXML要素である。

この派生によって,GMLオブジェクトは,gml:id属性をもたなければならない。 

GMLプロパティは,gml:AbstractGMLTypeから派生してはならず,gml:id属性又はその他のXMLのID

型をもってはならない。 

要素は,GMLオブジェクトの子要素であるとき,かつ,そのときに限り,GMLプロパティとなる。 

GMLオブジェクトは,GMLオブジェクトの直接の子要素として出現してはならない。 

したがって,GMLオブジェクト,かつ,GMLプロパティである要素が存在することはできない。 

GMLスキーマでは,宣言する全てのXML属性は,名前空間を付けずに定義する。唯一の例外は,gml:id 

XML属性である。 

注記 GML応用スキーマでは,XML属性を追加することを推奨しない。 

7.2 

gmlBaseスキーマ構成部品 

7.2.1 

基底スキーマ構成部品の目的 

gmlBaseスキーマ構成部品は,GMLモデル及び構文を規定する。具体的には,次に示すとおりとする。 

− 全てのGMLオブジェクトのためのXML型が派生すべき根底XML型 

− GMLプロパティのためのパターン及び構成部品 

− 集まり及び配列のためのパターン並びに汎用的な集まり及び配列の構成部品 

− GMLオブジェクトに関連するメタデータのための構成部品 

− 定義及び辞書を構成するための構成部品 

注記 附属書Cに示す,これらに対応するスキーマ文書を,次の(URN構文を用いた)用いる場所

に依存しない名称によって識別する。  

urn:x-ogc:specification:gml:schema-xsd:gmlBase:3.2.1 

7.2.2 

基底オブジェクト 

7.2.2.1 

AbstractObject 

便宜的な抽象要素gml:AbstractObjectを次のように宣言する。 

<element name="AbstractObject" abstract="true"/> 

この要素は,型宣言をもたない。したがって,暗黙的に(W3C XML Schemaの規則に従い)XML Schema

のanyTypeとなる。この要素は,XML Schemaの代替グループの代表要素として用いられる。XML Schema

の代替グループは,gml:AbstractGMLの代替グループを含むGMLのデータ型で用いられる,複合内容要素

及び幾つかの単純内容要素を統合する。 

注記 gml:AbstractObject は,本来,特定の集成パターンにおいて変数として機能するために定義され, 

その集成パターンでは,インスタンスの中で妥当となるgml:AbstractGMLの代替グループの要

素,複合内容要素又は単純内容要素のいずれかを許す必要がある。 

GMLデータ集合(データインスタンス又はデータ文書とも呼ばれる。)は,オブジェクト要素を用いて

表す。言い換えると,このオブジェクトは,GMLオブジェクトの集まりであり得る。 

 


24 

X 7136:2012 (ISO 19136:2007)  

 

 

7.2.2.2 

AbstractGML及びAbstractGMLType 

識別可能なオブジェクトをスキーマで表現するための最も基本的な三つの構成部品を次に示す。 

<element name="AbstractGML" type="gml:AbstractGMLType" abstract="true" 
substitutionGroup="gml:AbstractObject"/> 
 
<complexType name="AbstractGMLType" abstract="true"> 

<sequence> 

<group ref="gml:StandardObjectProperties"/> 

</sequence> 
<attribute ref="gml:id" use="required"/〕 

</complexType> 
 
<group name="StandardObjectProperties"> 

<sequence> 

<element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 

<element ref="gml:description" minOccurs="0"/> 
<element ref="gml:descriptionReference" minOccurs="0"/> 
<element ref="gml:identifier" minOccurs="0"/> 
<element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 

</group> 

抽象要素gml:AbstractGMLは,“識別子をもつ任意のGMLオブジェクト”とする。これは,XML Schema

の代替グループの代表として働き,この代替グループは,全てのGML地物及びその他の識別子をもつオ

ブジェクト要素を取り込むことができる。gml:AbstractGMLは,GMLコアスキーマ(GMLが提供する標

準スキーマ)及びGML応用スキーマの中の内容モデルにおいて変数として用いる。事実上,全てのGML

オブジェクトの抽象上位型とする。 

gml:AbstractGML及びgml:AbstractGMLTypeの組は,GMLスキーマで用いる基本的なパターンとする。

したがって,個々のGMLオブジェクトは,大域要素宣言によって表現され,関連するXML Schemaの型

宣言をもつ。GMLオブジェクトを表す要素名は,オブジェクトの概念的な意味を与える。GMLにおける

汎用的な要素の名前には,gml:AbstractObject,gml:AbstractGML,gml:AbstractFeature,gml:AbstractValue,

gml:AbstractCoverage,gml:AbstractTopology及び gml:AbstractCRSがある。オブジェクトを表すこれらの要

素は,この規格の中で定義する。 

GMLオブジェクトのXML子要素及びXML属性は,そのオブジェクトのプロパティである。したがっ

て,gml:AbstractGML で表されるオブジェクトは,五つのプロパティをもたなければならない。それは,

gml:identifier,gml:description,gml:descriptionReference,gml:name及び gml:idとする。これらは,7.2.4に

おいて示す。 

注記 gml:StandardObjectPropertiesグループは,応用スキーマを作成する上で便利になるために与え 

た。特に,gml:AbstractGMLType及びgml:AbstractFeatureTypeを制限する型を定義したい場合に

便利である。制限によって派生する場合には,変更せずに使用する全ての要素を新しい型定義

に複写する必要がある。全ての標準オブジェクトプロパティのための要素宣言を含む代わりに,

一行で記述するgml:StandardObjectProperties への参照を使用することができる。 

<group ref="gml:StandardObjectProperties"/> 

7.2.3 

GMLプロパティ 


25 

X 7136:2012 (ISO 19136:2007) 

 

 

7.2.3.1 

一般 

“プロパティ”という用語は,GMLプロパティを示すために用いる。GMLプロパティは,GMLオブジ

ェクトの任意の特性とする。GML文書内又はデータストリーム内の要素は,GMLオブジェクト要素の子

要素であるときだけGMLプロパティとなる。個々のプロパティの意味は,それをインスタンス化した要

素の名前で示さなければならない。 

GMLオブジェクトは,gml:AbstractGMLTypeから継承するものに加え,無制限の数のプロパティをもつ

ことができる。 

プロパティは,単純内容又は複合内容のいずれかをもつように定義してよい。単純内容をもつプロパテ

ィは,標準プロパティ要素であるgml:description及びgml:name で表すXML Schemaの単純内容型をとる。

複合内容をもつプロパティは,XML Schemaの複合型をとる。 

プロパティ要素は,二つの様式で使うことができる。 

− 要素内:プロパティの値を,プロパティ要素の内容として,直接記述する。この方法では,標準プロ

パティのgml:name を使う。また,gml:description を使ってもよい(7.2.4.2参照)。 

− 参照:プロパティの値を,他の場所から入手可能とし,プロパティ要素のxlink:href 属性を使って識

別する。この代替手段では,標準プロパティのgml:descriptionReferenceを使わなければならない(7.2.4.3

参照)。 

例 Xlink参照の使用例については,8.1を参照。 

注記 JIS X 7109及びOpenGIS抽象仕様Topic 8で定義する地物関連役割は,GML応用スキーマでは

幾つかの方法によって表すことができる。 

− 誘導可能(navigable)なものとして,ただ一つの関連役割だけを実装,つまり,XML符

号化法によって表現する。これは,GMLスキーマでは,幾つかの例外,例えば,位相オ

ブジェクト間の境界及び双対境界の関連役割,を除き,通常の表現法とする。 

− 関連に関わる各地物型ごとに別々のプロパティとして規定することで表す。しかし,こ

の場合,関連によって明示された一貫性制約は,XML Schemaの妥当性検証では実行で

きない。この符号化様式は,例えば,位相オブジェクトの境界,双対境界の関連役割,

及び附属書Eの中で使われる。7.2.3.9も参照。 

− GMLオブジェクトとして,関連オブジェクトを作成する。これは,n項関連及びモデル

化されるプロパティとの関連も許す。 

− XLinkの拡張リンクを用いる。この符号化法は,“関連オブジェクト”の表現と類似する。 

7.2.3.2 

AssociationAttributeGroup 

XLinkの構成部品は,ハイパーテキスト参照をXMLで利用可能にする標準的な手法である。XML Schema

の属性グループとして規定するgml:AssociationAttributeGroupは,GMLにおいて,XLinkを用いて,一定

の手順でプロパティの値を参照によって示すことを可能にする。この属性グループは,次のように定義す

る。 

<attributeGroup name="AssociationAttributeGroup"> 

<attributeGroup ref="xlink:simpleLink"/> 
<attribute name="nilReason" type="gml:NilReasonType"/> 

<attribute ref="gml:remoteSchema"/> 

</attributeGroup> 

XLink(8.1参照)から来る,次に示す定義を伴う。 

 


26 

X 7136:2012 (ISO 19136:2007)  

 

 

<attributeGroup name="simpleLink"> 

<attribute name="type" type="string" fixed="simple" form="qualified"/> 
<attribute ref="xlink:href"/> 
<attribute ref="xlink:role"/> 
<attribute ref="xlink:arcrole"/> 
<attribute ref="xlink:title"/> 
<attribute ref="xlink:show"/> 
<attribute ref="xlink:actuate"/> 

</attributeGroup> 

xlink:href属性をもつGMLプロパティの値は,リンクをたどって返される情報資源とする。 

nilReason 属性は,nilでもよいプロパティ要素に対して,nil値である理由を示すために使うことができ

る。 

注記 属性グループ内の全ての構成部品は,任意選択とする。 

7.2.3.3 

abstractAssociationRole及びAssociationRoleType 

複合内容をもち得るプロパティの符号化を可能とするために,GMLスキーマでは,次のようなプロパテ

ィ要素のための基本パターンを規定する。 

<element name="abstractAssociationRole" type="gml:AssociationRoleType" abstract="true"/> 
 
<complexType name="AssociationRoleType"> 

<sequence minOccurs="0"> 

<any namespace="##any"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

このパターンを適用するには,この内容モデルを使うプロパティ要素の中に含むオブジェクトの多重度

を厳密に一つに制限しなければならない。この型に基づく一つのインスタンスは,一つのオブジェクトを

表す要素を一つ含むか,又は一つの遠隔オブジェクトへのポインタを与えなければならない。 

応用スキーマに特別なプロパティ型を定義するために,このパターンを適用する場合は,次のような制

限を設ける。 

− 要素内のオブジェクトを,特別なオブジェクト型に制限する。 

− “参照だけ”による符号化に制限する(7.2.3.7参照)。 

− “要素内だけ”による符号化に制限する(7.2.3.8参照)。 

注記1 gml:abstractAssociationRole の宣言及びその型宣言は,応用スキーマ内のプロパティ要素を作

るためのテンプレート又はパターンとして働くときに便利であるため規定する。この規格に

適合するGML応用スキーマにおいて,特別なプロパティを作るためにgml:AssociationType 

から派生するXML Schemaの型を使う必要はない。これは,全ての識別可能なオブジェクト

のための内容モデルがgml:AbstractGMLType から派生し,全ての地物のための内容モデルが

gml:AbstractFeatureType から派生しなければならないという要求とは対照的である。 

注記2 gml:abstractAssociationRoleを抽象型とするのに対し,その型となるgml:AssociationRoleType 

は,抽象型ではない。なぜならば,同じ型を,インスタンス化可能なgml:member プロパテ

ィに使用するからである(7.2.3.10参照)。ただし,このプロパティもまた,非推奨になった

ことに留意する。 


27 

X 7136:2012 (ISO 19136:2007) 

 

 

7.2.3.4 

要素内か参照かの選択 

プロパティの内容モデルの中にあるany要素は,任意選択とする。これは,gml:AssociationAttributeGroup 

の構成部品の多重性と結合して,この型をとる要素が一つの内容要素又はXlink属性をもつことができる

ことを意味する。このパターンに従ったGMLプロパティ要素は,要素内又は参照のいずれかで値を付与

するために用いる。 

例 地物に与えられる便利なプロパティとして,“centerOf”がある。これは,空間的な場所を示すた

めに,次のように要素内で記述することができる。 

<gml:centerOf> 

<gml:Point gml:id="point96" srsName="urn:x-ogc:def:crs:EPSG::4326"> 
<gml:pos>-31.936 15.834</gml:pos> 

</gml:Point> 

</gml:centerOf> 

このプロパティは,GML幾何スキーマ(10.2において説明)で定義するgml:Pointオブジェク

トを使う。同じプロパティ要素を次のように,参照を用いて場所を示すこともできる。 

<gml:centerOf xlink:href="http://my.big.org/locations/point53"/> 

このhttp://my.big.org/locations/point53によって,ここで示すサービスが示す点(gml:Point要素)

を識別する。 

しかしながら,このパターンに従ったプロパティ要素は,内容又は属性をもたなくてもよいし,両方を

もってもよく,いずれにおいてもXML Schemaに対して妥当である。内容及び属性が同時に発生すること

を制約することはできないので,W3C XML Schemaを使用して,要素内又は参照だけのいずれかに制限す

ることはできない。 

プロパティのインスタンスに,参照及び内容の両方が出現する場合,xlink:hrefリンクをたどって見つか

ったオブジェクトは,プロパティの規則に従う値でなければならない。データの受け手は,遠隔のインス

タンスを決定できないときに限り,内容として含まれるオブジェクトを使わなければならない。これは,

オブジェクトの“キャッシュ”版であると考えられる。 

注記 GMLスキーマにおける,GMLオブジェクトを値とするプロパティは,ほとんど,要素内又は

参照のいずれで符号化してもよい。しかしながら,GMLプロファイル(箇条20参照)の使用

において,“要素内だけ”又は“参照だけ”として用法を制限することができる。 

7.2.3.5 

プロパティ値の所有権 

GMLプロパティを要素内で符号化するか,参照で符号化するかにかかわらず,GMLオブジェクトを値

として含むか又は参照することに,“所有(ownership)”に関する何らかの意味をもたせてはならない。す

なわち,符号化の方法に対し,“deep-copy”又は“deep-delete”の意味を多少なりとも,もたせてはならな

い。このgml:OwnershipAttributeGroupという属性グループが,符号化対象のプロパティ要素の内容モデル

の一部ではない場合,プロパティ要素の値となったオブジェクトは,“所有される”ものではないことがあ

る。 

注記 本来,propertyは,“所有物”という意味をもち,この規格で使用する“特性”という意味は,

二次的であるため,プロパティ値と所有権とが無関係であることをこの細分箇条(7.2.3.5)で

補足する。 

この属性グループは,次のように定義する。 

<attributeGroup name="OwnershipAttributeGroup"> 

<attribute name="owns" type="boolean" default="false"/> 


28 

X 7136:2012 (ISO 19136:2007)  

 

 

</attributeGroup> 

owns属性の値が“true”の場合,要素内に記述する又は参照するオブジェクトの存在は,親となるオブ

ジェクトの存在に依存する。 

例 仮に“hasOwner”プロパティが,インスタンス文書において次のように記述された場合, 

<parcel gml:id="c123"> 

<hasOwner xlink:href="urn:x-abc:id:o123"/> 

</parcel> 

参照されているオブジェクト,例えば自動車の部品がcar(自動車)という地物によって“所有

(deep-copy)され”ないとき,carが消去(deep-delete)されてもその部品という地物は消去され

ない。しかしながら,次に示すようにowns="true"としてプロパティを符号化する場合は, 

<car gml:id="c123"> 

<hasParts owns="true" xlink:href="urn:x-abc:id:x123"/> 
<!-- … --> 

</car> 

参照されるオブジェクトは,car(自動車)という地物によって“所有される”。すなわち,car

が消去された場合,その部品も消去される。 

7.2.3.6 

abstractStrictAssociationRole 

補助制約言語であるSchematron(JIS X 4177-3参照)を使って,プロパティの値が要素内への組込み又

はXlink参照による指示のいずれかとするという制約を,正確に記述することができる。抽象で大域な要

素であるgml:abstractAssociationRole及びgml:abstractStrictAssociationRoleは,共に gml:AssociationRoleType

を用いるが,次に示すスキーマの素片は,要素宣言において要素内又は参照の両方ではなく,いずれかで

プロパティが働くよう制限するために,Schematoron制約で記述する方法を示す。 

<element name="abstractAssociationRole" type="gml:AssociationRoleType" abstract="true"/> 
 
<element name="abstractStrictAssociationRole" type="gml:AssociationRoleType" abstract="true"/> 
 
<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:gml="http://www.opengis.net/gml/3.2"  
xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en"> 

<sch:title>Schematron constraints for GML / ISO 19136</sch:title> 
<sch:ns prefix="sch" uri="http://purl.oclc.org/dsdl/schematron"/> 
<sch:ns prefix="gml" uri="http://www.opengis.net/gml/3.2"/> 
<sch:ns prefix="xlink" uri="http://www.w3.org/1999/xlink"/> 
<sch:pattern> 

<sch:rule context="gml:abstractStrictAssociationRole"> 

<sch:assert test="not(@xlink:href and (*|text()))">Property element may not carry both a reference to 

an object and contain an object.</sch:assert> 

<sch:assert test="@xlink:href | (*|text())">Property element shall either carry a reference to an object or 

contain an object.</sch:assert> 
</sch:rule> 

</sch:pattern> 

</sch:schema> 

注記 XML検証ソフトには,Schematoron制約を自動的に処理するものがある。自動処理がない場合

は,Schematoronコードは,単なる要求制約の形式的な記述として扱われるだけであろう。

Schematoron制約記述を上で示したのは,応用スキーマの開発者が,特定の目的に対して


29 

X 7136:2012 (ISO 19136:2007) 

 

 

Schematoron制約記述をどのように用いることができるかを示すためである。 

7.2.3.7 

abstractReference及びReferenceType 

遠隔参照で値を示すプロパティの符号化を可能とするために,次のような構成部品を規定する。 

<element name="abstractReference" type="gml:ReferenceType" abstract="true"/> 
 
<complexType name="ReferenceType"> 

<sequence/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:abstractReferenceは,抽象要素なので,参照によって値を提供する,より特化した要素の代替グルー

プの代表として使うことができる。 

注記 gml:abstractReferenceは,抽象要素であるが,その型であるgml:ReferenceTypeは,抽象型では

ない。なぜならば,応用スキーマにおいて,プロパティを“参照だけ”で符号化しなければな

らないとき,この型を直接使用することを意図しているからである。 

7.2.3.8 

abstractInlineProperty及びInlinePropertyType 

要素内でプロパティの値の符号化を可能とするために,次のような構成部品を提供する。 

<element name="abstractInlineProperty" type="gml:InlinePropertyType" abstract="true"/> 

 

<complexType name="InlinePropertyType"> 

<sequence> 

<any namespace="##any"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:abstractInlinePropertyは,抽象要素とする。したがって,あらかじめ要素内で値をもつ,より特化し

た要素の代替グループの代表として用いることができる。 

7.2.3.9 

同じ関係を表現するプロパティ 

あるオブジェクトのプロパティの値が他のオブジェクトとなり,また,そのオブジェクトが二つのオブ

ジェクト間の関連をプロパティとしてもつ場合,相手のプロパティの名前は,gml:reversePropertyName 要

素として符号化できる。この要素は,“appinfo”注釈の中にある,二つのプロパティ間の制約を記述する

ためのプロパティ要素とする。この要素の値は,プロパティ要素の,修飾子付きの名前を含まなければな

らない。 

<element name="reversePropertyName" type="string"/> 

例 
<element name="owner" type="ex:PersonPropertyType" minOccurs=”0”> 

<annotation> 

<appinfo> 

<gml:reversePropertyName>ex:owns</gml:reversePropertyName> 

</appinfo> 

</annotation> 

</element> 
… 
<complexType name="PersonPropertyType"> 


30 

X 7136:2012 (ISO 19136:2007)  

 

 

<sequence minOccurs="0"> 

<element ref="ex:Person"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

7.2.3.10 値オブジェクトのプロパティ 

値オブジェクト(16.4参照)は,特別なオブジェクトであり,単純な文字の値によって記述できる単純

プロパティの場合に,プロパティの外部要素なしに,値をオブジェクト要素の直接内容として表現する。 

例 <gml:Integer>5</gml:Integer>を<gml:Integer><gml:value>5</gml:value></gml:Integer>の代わりに用

いる。 

7.2.4 

GML objectの標準プロパティ 

7.2.4.1 

AbstractGML型からの派生 

GMLオブジェクトのためのXML Schemaの型は,全て,直接又は間接的にgml:AbstractGMLType から

派生する。このことは,全てのGMLオブジェクトがgml:AbstractGMLType の内容モデルに含まれる標準

プロパティを継承することを意味する。 

7.2.4.2 

description 

このプロパティの値は,オブジェクトのテキスト記述とする。gml:descriptionは,gml:StringOrRefType

をその内容モデルとして使用する。すなわち,その内容は,単純な文字列とするのがよい。 

<element name="description" type="gml:StringOrRefType"/> 

注記 gml:descriptionが外部の説明を参照する用法は,非推奨とする。その代替として

gml:descriptionReference プロパティがある(7.2.4.3参照)。gml:descriptionの型には,文字列型

を使用する。 

7.2.4.3 

descriptionReference 

このプロパティの値は,このオブジェクトの遠隔的なテキスト記述とする。gml:descriptionReference プ

ロパティのxlink:href 属性によって,外部の記述を参照する。 

<element name="descriptionReference" type="gml:ReferenceType"/> 

7.2.4.4 

name及びidentifier 

gml:nameプロパティは,通常,オブジェクトの記述的な名前として,ラベル及び識別子を示す。 

一つのオブジェクトは,複数の名前をもち得る。概して異なる典拠ごとに名前が割り当てられることが

ある。gml:nameは,gml:CodeTypeの内容モデルを用いる。名前の典拠は,(任意選択の)codeSpace属性に

よって示す。名前は,一意であるか,そうではないかもしれない。これらは,codeSpaceで示される典拠

の規則によって決定する。一般的な用法では,一つの典拠に一つの名前がある。処理をする応用システム

は,選んだcodeSpaceに従い名前を選択することができる。 

<element name="name" type="gml:CodeType"/> 

しばしば,オブジェクトに対して,地物を維持する典拠がそのオブジェクトを参照するために用いるこ

とを意図して,特別な識別子を与えることがある。このような場合のためにcodeSpaceを用いなければな

らない。この識別子は,大域でも又は応用領域でも,通常,一意とする。gml:identifierは,このような識

別子のためにあらかじめ定義したプロパティとする。 

例 通常,UUID及びURNを,大域的に一意な識別子として用いる。 

<element name="identifier" type="gml:CodeWithAuthorityType"/> 


31 

X 7136:2012 (ISO 19136:2007) 

 

 

7.2.4.5 

id 

gml:id属性は,GMLオブジェクトを表現するXML要素を取り扱う準備ができるようにする。全ての

GMLオブジェクトは,この属性を用いる。 

<attribute name="id" type="ID"/> 

これはXML型のIDであるため,この属性が出現するXML文書内において一意であるよう制約される。

GMLオブジェクトを表すXML要素の外部識別子は,URIの形式で記述し,これは標準記法(IETF RFC 

2396)で作成してよい。これは,文書のURIと分離記号である“#”とXML型のIDである属性値とを連

結して作る。 

7.2.5 

GMLオブジェクトの集まり 

7.2.5.1 

AbstractMemberType及び派生プロパティ型 

全てが地物というわけではない複数のGMLオブジェクトを集まりとして作成するとき,プロパティの

型は,拡張によってgml:AbstractMemberType から派生しなければならない。 

<complexType name="AbstractMemberType" abstract="true"> 

<sequence/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

派生プロパティ型は,7.2.3に示すパターンの一つに従わなければならない。そして,意図した使用法に

応じて,集まりの中のオブジェクトの多重度を設定できる。 

この抽象プロパティ型は,オブジェクト型の中でだけ使うことを意図しており,ソフトウェアは,その

ようなオブジェクト型のインスタンスが,オブジェクトの集まりとして解釈できることを見分けることが

できなければならない。 

例 このようなプロパティの型として,15.2.3に示すgml:DictionaryEntryTypeを参照。 

既定値では,この抽象プロパティ型は,集まりの中のオブジェクトのいかなる所有も示さない。

gml:OwnershipAttributeGroup のowns属性を,集まりの中のオブジェクトの所有を主張するためにプロパテ

ィ要素のインスタンスで使うことができる。この集まりは,既に他のオブジェクトに所有されているオブ

ジェクトを所有してはならない。 

7.2.5.2 

GMLオブジェクトの集まり及びAggregationAttributeGroup 

GMLオブジェクトの集まりは,gml:AbstractMemberTypeから派生した内容モデルをプロパティ要素とし

てもつgml:AbstractObjectとする。 

例 gml:Dictionaryは,GMLオブジェクトの集まりとする。なぜならば,15.2.3に示すように

gml:dictionaryEntry プロパティの内容モデルは,gml:AbstractMemberType から拡張によって派生

するからである。 

さらに,GMLオブジェクトの集まりの内容モデルを記述する複合型は,オブジェクトの集まりの意味規

則に付加的な情報を与える属性グループgml:AggregationAttributeGroupへの参照も取り込む。この情報は,

応用システムにおいて,GMLオブジェクトを分類したり,任意に順序又は索引をつけたりするときに使う

ことができる。 

<attributeGroup name="AggregationAttributeGroup"> 

<attribute name="aggregationType" type="gml:AggregationType"/> 

</attributeGroup> 

aggregationType属性が取り得る値は,gml:AggregationType で定義する。この列挙の値の意味は,ISO/IEC 

11404:1996の8.4を参照。 


32 

X 7136:2012 (ISO 19136:2007)  

 

 

<simpleType name="AggregationType" final="#all"> 

<restriction base="string"> 

<enumeration value="set"/> 
<enumeration value="bag"/> 
<enumeration value="sequence"/> 
<enumeration value="array"/> 
<enumeration value="record"/> 

<enumeration value="table"/> 

</restriction> 

</simpleType> 

注記1 応用スキーマにおいて,“配列”集成型の集まりを実装する場合,応用スキーマの中の配列型

には,インデックスを使って処理する付加的な情報をモデリングする必要がある。 

注記2 応用スキーマにおいて“テーブル”集成型の集まりを実装する場合,応用スキーマのテーブ

ル型には,列及びそれらの構造について必要な情報を加える付加的な情報が必要となる。 

7.2.6 

メタデータ 

GMLオブジェクトと,XML Schemaを使って記述した任意のメタデータとを関連させるためには,

gml:AbstractMetadataPropertyType から拡張によって派生した内容モデルをもつプロパティ要素を使って定

義しなければならない。 

このようなプロパティの値は,メタデータでなければならない。このようなプロパティ型の内容モデル,

すなわち,メタデータ応用スキーマは,GML応用スキーマによって示さなければならない。 

<complexType name="AbstractMetadataPropertyType" abstract="true"> 

<sequence/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:AbstractMetadataPropertyTypeから派生するプロパティ型は,7.2.3に示すGMLプロパティのための

パターンの一つに従わなければならない。 

既定値では,この抽象プロパティ型は,メタデータのいかなる所有も意味しない。

gml:OwnershipAttributeGroupの所有属性を,メタデータプロパティ要素のインスタンスにおいて,メタデ

ータの所有を保証するために用いてよい。 

JIS X 7115の概念モデルに従うメタデータを符号化する場合,ISO/TS 19139で示す,対応する実装仕様

をメタデータ情報の符号化に用いなければならない。 

例1 地物型“Road”(道路)は,二つのメタデータプロパティとして,データ品質プロパティ

“horizontalAbstractAccuracy”(水平絶対正確度)及びISO/TS 19139“metadata”プロパティと

関連できる。 

これは,複合プロパティの中でメタデータプロパティをくくることによって,次のように応

用スキーマの中に写像できる。 

<complexType name="RoadType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 

<!-- ... --> 
<element name="roadMetadata" type="ex:RoadMetadataPropertyType"/> 
<!-- ... --> 


33 

X 7136:2012 (ISO 19136:2007) 

 

 

</sequence> 

</extension> 

</complexContent> 

</complexType> 
 
<complexType name="RoadMetadataPropertyType"> 

<complexContent> 

<extension base="gml:AbstractMetadataPropertyType"> 

<sequence> 

<element ref="ex:RoadMetadata"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<complexType name="RoadMetadataType"> 

<complexContent> 

<extension base="gmx:AbstractObjectMetadata̲Type"> 

<sequence> 

<element name="horizontalAbstractAccuracy" minOccurs="0" 

type="gmd:DQ̲AbsoluteExternalPositionalAccuracy̲PropertyType"/> 

<element name="metadata" minOccurs="0" 

type="gmd:MD̲Metadata̲PropertyType"/> 
</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="RoadMetadata" type="myAs:RoadMetadataType" 
substitutionGroup="gmx:AbstractObjectMetadata"/> 

次に,Road地物のインスタンスは次のようになる。 

<ex:Road> 

<!-- … --> 
<ex:roadMetadata> 

<ex:RoadMetadata> 

<ex:horizontalAbsoluteAccuracy> 

<gmd:DQ̲AbsoluteExternalPositionalAccuracy> 

<!-- The DQ̲Element subelements are not detailed --> 

</gmd:DQ̲AbsoluteExternalPositionalAccuracy> 

</ex:horizontalAbsoluteAccuracy> 
<ex:metadata> 

<gmd:MD̲Metadata> 

<!- ISO/TS 19139 metadata elements --> 

</gmd:MD̲Metadata> 
</ex:metadata> 

</ex:RoadMetadata> 

</ex:roadMetadata> 

<!-- … --> 


34 

X 7136:2012 (ISO 19136:2007)  

 

 

</myAs:Road> 

地物から分離したメタデータプロパティを表現する符号化の代替案は,次のようになる。 

<complexType name="RoadType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 

<!-- ... --> 
<element name="horizontalAbsoluteAccuracy" minOccurs="0"> 
<complexType> 
<complexContent> 

<extension base="gml:AbstractMetadataPropertyType"> 

<sequence> 

<element ref="gmd:DQ̲AbsoluteExternalPositionalAccuracy"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

</element> 
<!-- ... -->  
<element name="metadata" minOccurs="0"> 

<complexType> 

<complexContent> 

<extension base="gml:AbstractMetadataPropertyType"> 

<sequence> 

<element ref="gmd:MD̲Metadata"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

</element> 
<!-- ... --> 
</sequence> 

</extension> 

</complexContent> 

</complexType> 

インスタンスの例は,次のようになる。 

<ex:Road> 

<!-- ... --> 

<ex:horizontalAbsoluteAccuracy> 

<gmd:DQ̲AbsoluteExternalPositionalAccuracy> 
<!-- The DQ̲Element subelements are not detailed --> 
</gmd:DQ̲AbsoluteExternalPositionalAccuracy> 

</ex:horizontalAbsoluteAccuracy> 
<!-- ... --> 
<ex:metadata> 

<gmd:MD̲Metadata> 
<!-ISO/TS 19139 metadata elements --> 
</gmd:MD̲Metadata> 


35 

X 7136:2012 (ISO 19136:2007) 

 

 

</ex:metadata> 

<!-- ... --> 

</ex:Road> 

例2 データ集合が,Dublin Core メタデータ要素を含むことができるようにしなければならないとき

は,応用スキーマにおいて次のように写像できる。 

<import namespace="http://www.purl.org/dc/terms/" 
schemaLocation="http://schemas.opengis.net/csw/2.0.0/rec-dcterms.xsd"/> 
 
<complexType name="DatasetType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 
<!-- ... --> 

<element name="generalMetadata" type="ex:DublinCoreMetadataPropertyType"/> 
<!-- ... --> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 
 

<complexType name="GeneralMetadataPropertyType"> 

<complexContent> 

<extension base="gml:AbstractMetadataPropertyType"> 

<sequence> 

<element ref="ex:DublinCoreMetadata"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="DublinCoreMetadata"> 

<complexType name="DublinCoreMetadataType"> 

<sequence> 

<group ref="dct:DCMI-terms" xmlns:dct="http://www.purl.org/dc/terms/"/> 

</sequence> 

</complexType> 

</element> 

インスタンスの例は,次のようになる。 

<ex:Dataset> 

<!-- ... --> 
<ex:generalMetadata> 

<ex:DublinCoreMetadata> 

<dc:title>Vector Smart Map Level 0</dc:title> 
<dct:abstract>Vector Map: a general purpose database design to support GIS 

applications</dct:abstract> 

<dc:publisher>US National Geospatial-Intelligence Agency</dc:publisher> 
<dc:format>VPF</dc:format> 


36 

X 7136:2012 (ISO 19136:2007)  

 

 

<dc:coverage>world</dc:coverage> 
<dc:language>en</dc:language> 
<!-- … --> 

</ex:DublinCoreMetadata> 

</ex:generalMetadata> 
<!-- ... --> 

</ex:Dataset> 

 

GMLスキーマ−XLink及び基本型 

8.1 

Xlinks−オブジェクト関連及び遠隔プロパティ 

XLinkの仕様は,W3Cの規定を用いる。 

注記 スキーマ文書xlinks.xsdは,GMLスキーマ文書の一部として附属書Cに示す。 

GMLは,参照によってオブジェクト間の関連を実装するためにXLinkの構成部品を使用する。GMLプ

ロパティ要素(7.2.3参照)は,XLink属性をもつことができる。このXLink属性は,参照によって関連関

係を符号化するものであり,プロパティ要素の名前は,関連先の役割名を示す。最も重要なXLinkの構成

部品を,次に示す。 

xlink:href  関連先の資源の識別子。その値は,URIで与える。 

GMLプロパティにxlink:hrefがある場合は,プロパティの値は,リンクをたどった先になければならな

い。つまり,プロパティの値は,xlink:href属性の値で指示する。XLinkの用語法に従い,xlink:href属性を

もつGMLプロパティは,遠隔プロパティと呼ぶことがある。 

他のXLink構成部品は,関係について付加的な意味規則を示すために使用する。これらの中で最も有用

なものを,次に示す。 

xlink:role 対象資源の性質の記述。その値は,URIで与える。 

xlink:arcrole 当該資源に関係する対象資源の役割又は目的の記述。その値は,URIで与える。 

xlink:title 関連又は対象資源の記述。その値は,テキストで与える。 

上記及び他のXLink構成部品の完全な定義は,XLinkの拡張リンク関連マップでの使用を含め,XLink

仕様を参照。 

URI参照[URI]は,絶対URI又は相対URIかのいずれかで定義され,後に番号記号("#")及び追加参照

情報からなる素片の識別子が続く。GMLオブジェクトのプロパティ及び遠隔関連では,追加参照情報は,

次に挙げるものの内のいずれか一つでなければならない。 

− GMLオブジェクトのgml:id属性の値からなる省略表現(正式には“無装飾名”という。)XPointer 

[XPointerフレームワーク] 

− element()スキームによるXPointer [XPointer element()] 

− xpointer()スキームによるXPointer [XPointer xpointer()]。これは,GMLオブジェクトを選択するXPath

式 [XPath]からなる。任意に選択できることとして,XPath式の中で使用する名前空間の接頭辞を定義

するxmlns()スキームによるXPointer [XPointer xmlns()]を複数,先に置いてもよい。 

絶対URI及び相対URIを含まず,全体が素片の識別子からなるURIは,同じGML文書内のどこかにあ

るGMLオブジェクトを参照する。 

絶対URI又は相対URIには,問合せ構成部品を含むことができる。問合せ構成部品は,疑問符(“?”)

とそれに続く問合せとで構成する。問合せは,URIで指定する資源が解釈しなければならない。GMLオブ

ジェクトのプロパティ及び遠隔関連に関して,問合せはいずれも,GMLオブジェクトを返すサービスに対


37 

X 7136:2012 (ISO 19136:2007) 

 

 

する要求でなければならない。このような問合せを含むURIは,対象のサービスで定義しているリクエス

ト構文によるものとし,素片の識別子を使用してもよいし,使用しなくてもよい。 

このGMLスキーマにおいては,XLinkの単純リンクは,GMLオブジェクトの関連役割を示すこと及び

遠隔参照するプロパティの値を示すことだけに使用する。 

例1 GMLの同じGML文書内のオブジェクト要素への参照は,次のように符号化できる。 

<myProperty xlink:href="#o1"/> 

例2 XMLの遠隔文書のオブジェクト要素への参照は,対象オブジェクトのgml:id値を用いて,次

のように符号化できる。 

<myProperty xlink:href="http://my.big.org/test.xml#o1"/> 

例3 XMLの遠隔文書(又はGMLオブジェクトリポジトリ)のオブジェクト要素への参照は,オブ

ジェクトのgml:identifierプロパティの値を用いて,次のように符号化できる。 

<myProperty xlink:href="http://my.big.org/test.xml#element 

(//gml:GeodeticCRS[./gml:identifier[@codeSpace="urn:x-ogc:def:crs:EPSG:6.3:"]="4326"])"/> 

例4 統一資源名を使用したオブジェクト要素への参照は,次のように符号化できる 

注記 URNリゾルバによって,URNを決定して参照オブジェクトにアクセスする。 

<myProperty xlink:href="urn:x-ogc:def:crs:EPSG:6.3:4326"/> 

IDREFデータ型,unique,key及びkeyref要素は,IDデータ型の識別及びリンクの仕組みの代わりとな

り,単一のXML文書内でのXLink参照に用いる。これらのXML構成部品は,XML Schema上は使用して

もよいが,GMLでは規定としての役割はないので,GMLオブジェクトの関連役割又は遠隔参照するプロ

パティの値を示すために使用してはならない。 

なお,unique,key及びkeyref要素は,XML仕様及びXML Schema仕様で定義している。 

8.2 

基本型 

8.2.1 

概要 

W3CのXML Schemaには,一連の組込み“単純”型がある。この型は,値をリテラルとして内部のマー

ク付けを用いずに表現するための方法を定義する。W3C XML Schema Part 2: 2001に,その記述がある。

GMLは,インスタンスをXML Schemaを使って記述する,XML符号化法なので,これらの単純型をでき

るだけ使用して,実用的にデータ型を表現しなければならない。W3CのXML Schemaには,次に示す型定

義法も与えている。 

− 新規の単純型 組込み型の制限及び組合せによる型 

− 複合型 単純な内容だけでなく,XML属性も保持している型 

当てはまる適当な組込み単純型がない場合には,GMLによるデータ型の表現のために,XML Schemaの

仕組みを使って派生した単純内容型を使用する。 

幾つかのGML構成部品で求められるこれらの単純内容型の集まり及びその型に基づく幾つかの要素を,

basicTypesスキーマの中で定義する。これらは,主に,例外又はヌル値を含め,量,計数値,フラグの値

及び語句を記録するために使う構成部品を基礎とする。 

注記 基本型及び基本要素を,附属書CのbasicTypesスキーマ文書に示す。このスキーマは,次に示

す位置独立名で識別する(URN構文を使用)。 

 

urn:x-ogc:specification:gml:schema-xsd:basicTypes:3.2.1 

 

 


38 

X 7136:2012 (ISO 19136:2007)  

 

 

8.2.2 

ISO/TS 19103との関係 

ISO/TS 19103では,国際規格ISO 19100シリーズ(JIS X 7100シリーズ)の概念スキーマのための基本

型を定義している。GMLでは,D.2.2で示すとおり,その基本型の部分集合を実装する。 

注記 ISO/TS 19103の基本型のうちの幾つかは,GMLスキーマに関する他のスキーマ文書に示す。

計測単位については箇条16を,ベクトルについては10.1.4.5を参照。 

8.2.3 

単純型 

8.2.3.1 

NilReasonType 

gml:NilReasonTypeは,空値又は他の例外の説明を記録する内容モデルを定義する。 

<simpleType name="NilReasonEnumeration"> 

<union> 

<simpleType> 

<restriction base="string"> 

<enumeration value="inapplicable"/> 
<enumeration value="missing"/> 
<enumeration value="template"/> 
<enumeration value="unknown"/> 
<enumeration value="withheld"/> 

</restriction> 

</simpleType> 
<simpleType> 

<restriction base="string"> 

<pattern value="other:¥w{2,}"/> 

</restriction> 

</simpleType> 

</union> 

</simpleType> 

 

<simpleType name="NilReasonType"> 

<union memberTypes="gml:NilReasonEnumeration anyURI"/> 

</simpleType> 

gml:NilReasonTypeは,次の列挙値の共用体とする。 

− “inapplicable”: 値がない。 

− “missing”: 正しい値をすぐには入手できない。さらに,正しい値は存在しない可能性もある。 

− “template”: 値は,後に提供される予定である。 

− “unknown”: 正しい値をこのデータの送り手は把握しておらず,算定もできていない。しかしなが

ら,正しい値はおそらく存在している。 

− “withheld”: 公表された値ではない。 

− “other: ”+テキスト: 他の簡略な説明。テキストは,スペースを含まない2文字以上の文字列で

ある。 

− anyURI: 例外とした理由を記述している資源を参照することが望ましい。 

個々のコミュニティが,提供する標準的な値に対してより詳細な意味規則を与えてもよい。代わりの方

法として,URIを使用することによって,どこかから提供され,インスタンス文書において参照によって

示される値の欠損を,詳細に又はより完全に説明することができる。 


39 

X 7136:2012 (ISO 19136:2007) 

 

 

gml:NilReasonTypeは,後で定義する(8.2.3.4,8.2.4.1,8.2.4.2及び8.2.4.3参照)多くの単純内容型の中

で,共用体のメンバとして使用する。ただし,元の型の代わりとしてNilReasonType共用体からの値を許

す必要がある場合に限る。 

8.2.3.2 

“nillable”と宣言する要素 

スキーマ内のどの要素宣言にXML Schema属性のnillableを含んでもよい。 

注記 スキーマ属性のnillableの既定値は,“false”とする。 

例1 次の要素宣言の例は,nillable属性の使用方法を示している。 

<element name="amount" type="double" nillable="true"/> 

<element ref="my:amount" nillable="true"/> 

要素をnillable(nillable="true")と宣言することによって,XML Schema のインスタンスとなる名前空間

から属性nilを“true”の値とともに与えることによって,スキーマにとっては通常妥当ではないと考えら

れる空値になる場合を避けることができる。 

例2 スキーマで属性nillable="true"と宣言している要素は,次のようにインスタンス文書に記載して

もよい。 

<my:amount>34.567</my:amount> 

<my:amount xsi:nil="true"/> 

要素をnilであると宣言することは,ISO/IEC 11404の“Void”データ型を実装することを意味する。す

なわち,“オブジェクトの存在が文法的に又は意味的に必須であるが,所与のインスタンスには何も情報を

もたない”ということを意味する(ISO/IEC 11404参照)。 

注記 これは,次の例のように要素を省略可能とする多重度属性をもたせた要素宣言とは異なる。 

<element name="amount" type="double" minOccurs="0"/> 

この例は,要素をインスタンス全体を通して省略可能とする宣言である。 

応用スキーマの要素をnillableと宣言しなければならない場合には,便宜的にgml:NilReasonTypeとした

typeの属性を追加してもよい。 

例3 応用スキーマの構成部品 

<element name="amount" nillable="true"> 

<complexType> 

<simpleContent> 

<extension base="double"> 

<attribute name="nilReason" type="gml:NilReasonType"/> 

</extension> 

</simpleContent> 

</complexType> 

</element> 

 

<element name="money" type="my:NRMeasureType" nillable="true"/> 

 

<complexType name="NRMeasureType"> 

<simpleContent> 

<extension base="decimal"> 

<attribute name="uom" type="token" use="required"/> 
<attribute name="nilReason" type="gml:NilReasonType"/> 

</extension> 


40 

X 7136:2012 (ISO 19136:2007)  

 

 

</simpleContent> 

</complexType> 

次のように,インスタンスに追加の属性を増補して,値の欠損を説明してもよい。 

<my:amount xsi:nil="true" nilReason="unknown"/> 

<my:money xsi:nil="true" nilReason="other:myDaughterSpentIt" uom="AUD"/> 

GMLスキーマ及びGML応用スキーマでは,“nillable”及び“nilReason”の構成を,GMLプロパティ(7.2.3

参照)を表現する要素に使用してもよい。このことで,GML及びGML応用言語におけるオブジェクト及

び地物の内容の構成部分になるプロパティを必須と宣言する一方で,インスタンス文書中に値をもたない

要素も残すことができる。 

注記 単純内容及び複合内容の要素の両方をnillableと宣言してもよく,その結果,その要素の組立て

によってvoid値をもつプロパティに対して統一された構文が可能になる。 

8.2.3.3 

SignType 

gml:SignTypeは,“+”(正)及び“-”(負)の値をもつ便宜的な型とする。 

<simpleType name="SignType"> 

<restriction base="string"> 

<enumeration value="-"/> 
<enumeration value="+"/> 

</restriction> 

</simpleType> 

注記 この型の要素又は属性は,様々な所で使える。例えば,位相をもったオブジェクトの向きを示

す記号として,順方向には“+”を,逆方向には“-”を使う。 

8.2.3.4 

booleanOrNilReason,doubleOrNilReason,integerOrNilReason,NameOrNilReason及び

stringOrNilReason 

gml:booleanOrNilReason,gml:doubleOrNilReason,gml:integerOrNilReason,gml:NameOrNilReason及び

gml:stringOrNilReasonの各型では,それぞれのXML Schemaに組み込まれた単純型を拡張して,組込み単

純型の値,又はnil値の理由のいずれかを選択できるようにしてもよい。構成の仕方を次に示す。 

<simpleType name="booleanOrNilReason"> 

<union memberTypes="gml:NilReasonEnumeration boolean anyURI"/> 

</simpleType> 

 

<simpleType name="doubleOrNilReason"> 

<union memberTypes="gml:NilReasonEnumeration double anyURI"/> 

</simpleType> 

 

<simpleType name="integerOrNilReason"> 

<union memberTypes="gml:NilReasonEnumeration integer anyURI"/> 

</simpleType> 
<simpleType name="NameOrNilReason"> 

<union memberTypes="gml:NilReasonEnumeration Name anyURI"/> 

</simpleType> 

 

<simpleType name="stringOrNilReason"> 

<union memberTypes="gml:NilReasonEnumeration string anyURI"/> 

</simpleType> 

 


41 

X 7136:2012 (ISO 19136:2007) 

 

 

8.2.3.5 

CodeType及びCodeWithAuthorityType 

gml:CodeTypeは,語句,キーワード又は名前に使用する一般的な型とする。 

<complexType name="CodeType"> 

<simpleContent> 

<extension base="string"> 

<attribute name="codeSpace" type="anyURI"/> 

</extension> 

</simpleContent> 

</complexType> 

上の例では,XML属性のcodeSpaceを,語句に追加している。ここでは,codeSpace属性の値は,(存在

する場合は),語句の辞書,類語辞典,分類スキーム,典拠又は文字列様式を示す。 

例 次のgmlBaseスキーマは,この型を使用した要素宣言である。 

<element name="name" type="gml:CodeType"/> 

この宣言に対応する要素をインスタンス文書にした例を,次に示す。 

<gml:name codeSpace ="http://www.ukusa.gov/placenames">St Paul</gml:name> 

この例では,“St Paul”をhttp://www.ukusa.gov/placenamesに合致した意味のある名前として明

示的に設定している。全ての場合において,一意性制約のようなものを含む,値のための規則は,

codeSpaceで示す典拠によって設定することに留意する。 

派生型であるgml:CodeWithAuthorityTypeは,codeSpace属性はインスタンスの中で設定することを求め

ている。 

<complexType name="CodeWithAuthorityType"> 

<simpleContent> 

<restriction base="gml:CodeType"> 

<attribute name="codeSpace" type="anyURI" use="required"/> 

</restriction> 

</simpleContent> 

</complexType> 

8.2.3.6 

MeasureType及びUomIdentifier 

gml:MeasureTypeは,XML Schemaのdouble型の値として符号化される量とともに,“units of measure”

の略称であるuom属性で示す計測単位を,記録するために利用する。uom属性の値は,通常,比率尺度又

は間隔尺度で示す量を特定する。 

gml:MeasureTypeは,次のように定義する。 

<complexType name="MeasureType"> 

<simpleContent> 

<extension base="double"> 

<attribute name="uom" type="gml:UomIdentifier" use="required"/> 

</extension> 

</simpleContent> 

</complexType> 

例 応用スキーマは,この型を使用した要素宣言を含んでもよい。 

<element name="height" type="gml:MeasureType"/> 

この宣言に対応する要素をデータインスタンス文書に記載した例を,次に示す。 

 


42 

X 7136:2012 (ISO 19136:2007)  

 

 

<height uom="m">1.4224</height> 

<height uom="http://www.equestrian.org/units/hands">14</height> 

上の例では,uom属性の値で,計測単位又は計測単位を定義する情報資源を特定している。 

注記 上の例は,馬の体高の単位である“hand”を使うと,14handsが,1.422 4 mに相当す

ることによる。 

単純型のgml:UomIdentiferでは,計測単位識別子の構文及び値空間を定義する。 

これは,次のように共用体型として定義する。 

<simpleType name="UomIdentifier"> 

<union memberTypes="gml:UomSymbol gml:UomURI"/> 

</simpleType> 

共用体型の最初のメンバであるgml:UomSymbolは,次のように定義する。 

<simpleType name="UomSymbol"> 

<restriction base="string"> 

<pattern value="[^: ¥n¥r¥t]+"/> 

</restriction> 

</simpleType> 

この型には,1文字以上の文字を指定する。また,コロン“:”,スペース“ ”,(次行),(復帰)及び(タ

ブ)を含んではならない。この型の値には,“kg”,“m/s”などの慣用の略記を用いてもよい。 

注記 記号は,“Unified Code of Units of Measure”(UCUM)(http://aurora.regenstrief.org/UCUM)に明記

している計測単位に対する識別子であることが望ましい。UCUMでは,記号の集合,及び一意

となるように計測単位の識別子を組み立てるための文法を,定めている。この識別子は,7ビ

ットASCIIの限られた文字の入力しかできないキーボードによる入力も容易に行うことができ

る。ISO 2955は,以前はこの利用範囲内での仕様であったが,2001年に廃止された。UCUM

は,大筋でISO 2955に従っているが,曖昧なもの及び他の問題を削除するように修正を加えて

いる。 

共用体型の二番目のメンバであるgml:UomURIは,次のように定義する。 

<simpleType name="UomURI"> 

<restriction base="anyURI"> 

<pattern value="([a-zA-Z][a-zA-Z0-9¥-¥+¥.]*:|¥.¥./|¥./|#).*"/> 

</restriction> 

</simpleType> 

この型は,URIが,“#”,“./”,“../”の後に続く文字で始まるか,又は後ろに“:”が付いた文字列で始

めなければならないという制限を指定する。このような文字様式のパターンによって,絶対URI,相対URI

又は単純な素片の識別子であるURIを含む一般的なURI形式のほとんどに確実に対応する。しかし,単位

記号(例 “m/s”)と間違う可能性のある相対URIの特定の形式は,禁止している。 

注記 そのような相対URIは,制限に整合するように書き直すことが可能である(例えば,“./m/s”)。 

インスタンス文書では, gml:MeasureType型の要素において,必須とするuom属性には,次のようにそ

れぞれに対応した値を与えなければならない。 

− 慣用の計測単位記号 

− 一般的な記号がないとき,又は詳細な定義が要求されるときの計測単位の定義に対するリンク 

後者の目的のGML構成部品は,16.2で定義する。 

 


43 

X 7136:2012 (ISO 19136:2007) 

 

 

8.2.3.7 

CoordinatesType 

<complexType name="CoordinatesType"> 

<simpleContent> 

<extension base="string"> 

<attribute name="decimal" type="string" default="."/> 
<attribute name="cs" type="string" default=","/> 
<attribute name="ts" type="string" default="&#x20;"/> 

</extension> 

</simpleContent> 

</complexType> 

この型は,座標成分となる数値の組に対しては非推奨とする。 

gml:CoordinatesTypeは,テキスト文字列であり,値の組又は座標の配列の記録に使用する。 

文字列の内部構造をスキーマの検証にかけることはできないが,旧版のGMLでは,内部構造の記述用

に幾つかの任意選択の属性を提供していた。これらの属性は,非推奨とする。これらの属性は,次のよう

に使用することを想定していた。 

Decimal:小数点記号 

(default="." ピリオド) 

cs:数値の組,又は座標の中で要素を分離する記号 

(default ="," コンマ) 

ts:組又は座標列の区切りに使用する記号 

(default =" " スペース) 

gml:CoordinatesTypeは,XML Schemaの文字列型に基づいているので,テキスト及び数値の混在した場

合も含み,値の組の表又は組の配列を作成することに使用できる。 

例 <my:tupleList>ウサギ,357.,2.3,ネコ,140.,0.75,イヌ,770.,17.5</my:tupleList> 

8.2.4 

リスト 

8.2.4.1 booleanList,doubleList,integerList,NameList,NCNameList,QNameList,booleanOrNilReasonList,

NameOrNilReasonList,doubleOrNilReasonList及びintegerOrNilReasonList 

単純な値を羅列することを目的としたリスト型は,次に示すパターンに従って組み立てる。 

<simpleType name="booleanList"> 

<list itemType="boolean"/> 

</simpleType> 

 

<simpleType name="doubleList"> 

<list itemType="double"/> 

</simpleType> 

 

<simpleType name="integerList"> 

<list itemType="integer"/> 

</simpleType> 

 

<simpleType name="NameList"> 

<list itemType="Name"/> 

</simpleType> 

 


44 

X 7136:2012 (ISO 19136:2007)  

 

 

<simpleType name="NCNameList"> 

<list itemType="NCName"/> 

</simpleType> 

 

<simpleType name="QNameList"> 

<list itemType="QName"/> 

</simpleType> 

 

<simpleType name="booleanOrNilReasonList"> 

<list itemType="gml:booleanOrNilReason"/> 

</simpleType> 

 

<simpleType name="NameOrNilReasonList"> 

<list itemType="gml:NameOrNilReason"/> 

</simpleType> 

 

<simpleType name="doubleOrNilReasonList"> 

<list itemType="gml:doubleOrNilReason"/> 

</simpleType> 

 

<simpleType name="integerOrNilReasonList"> 

<list itemType="gml:integerOrNilReason"/> 

</simpleType> 

上の例のリスト型では,XML Schemaの組込み単純型の値のリストとして,又は前の細分箇条で指定し

た共用体型の値のリストとして定義している。…OrNilReasonList型は,リスト内に散在しているnil値の

理由を説明するために使っている。 

注記1 上の例のリスト型は,融通性のある型として使える。これらの型は,単純内容型をリスト及

び他の単純内容型を合わせた共用体として定義する場合に,有用である。 

注記2 上の例のリスト型の中には,大文字で始まる型及び小文字で始まる型がある。これは,XML 

Schemaの基底型とGMLの型であることとを明確に区別するために,大文字小文字の区別を

したためである。 

注記3 上の例の型のうちの一つを使用する要素は,これに関連した型のメンバからなるスペースで

区切ったリストをもつことになる(XMLリストの詳細な構造は,

http://www.w3.org/TR/xmlschema-2/#atomic-vs-listを参照)。 

注記4 ここで定義しているどのリスト型においても,XML Schemaの文字列型を項目としては使わ

ない。文字列に,埋め込まれたスペース,改行など(http://www.w3.org/TR/xmlschema-2/#string)

を含んでいる可能性があるからである。リストのインスタンスにおいて,スペースは項目を

区切る働きをするので,スペースを潜在的にもち得る項目は,必ずしも特定することができ

ない。一方で,XML Schemaの名前型のインスタンスは,スペースをもつことは許さない

(http://www.w3.org/TR/2000/WD-xml-2e-20000814#NT-Name)ため,このインスタンスはリス

トの内容の中で安全に使用できる。その帰結として,項目の値にスペースがあるときは,そ

のような項目がリストのインスタンスに発生することはない。 

8.2.4.2 

CodeListType及びCodeOrNilReasonListType 

gml:CodeListType及びgml:CodeOrNilReasonListTypeの二つの型は,項目の値のリストを与える。スキー


45 

X 7136:2012 (ISO 19136:2007) 

 

 

マ定義を,次に示す。 

<complexType name="CodeListType"> 

<simpleContent> 

<extension base="gml:NameList"> 

<attribute name="codeSpace" type="anyURI"/> 

</extension> 

</simpleContent> 

</complexType> 

 

<complexType name="CodeOrNilReasonListType"> 

<simpleContent> 

<extension base="gml:NameOrNilReasonList"> 

<attribute name="codeSpace" type="anyURI"/> 

</extension> 

</simpleContent> 

</complexType> 

gml:CodeListTypeのインスタンス要素の値は全て,この型がもつcodeSpace属性の値で識別する辞書,

分類スキーム,又は典拠の規則に応じて,妥当なものでなければならない。 

例 ある応用スキーマが,上記の二つの型を使用した要素宣言を含んでいる。 

<element name ="species" type ="gml:CodeListType"/> 

この応用スキーマのインスタンス文書では,これらの宣言に対応する要素が次のように出現す

る。 

<species codeSpace="http://my.big.org/florelegium">バラ ガーベラ マーガレット ラベンダー

</species> 

上の例でリストに挙げた項目は,(架空の)花のリストである“http://my.big.org/florelegium”を

典拠としている。 

gml:CodeOrNilReasonListTypeのインスタンス要素は,gml:NilReasonTypeからとられた埋込み値をもって

もよい。このインスタンス要素は,あるべき項目の値又は分類が何らかの理由で欠落する場合に使用する

ことを想定している。 

8.2.4.3 

MeasureListType及びMeasureOrNilReasonListType 

二つの型gml:MeasureListType及びgml:MeasureOrNilReasonListTypeは,量に関するリストを与える。ス

キーマの定義を,次に示す。 

<complexType name="MeasureListType"> 

<simpleContent> 

<extension base="gml:doubleList"> 

<attribute name="uom" type="gml:UomIdentifier" use="required"/> 

</extension> 

</simpleContent> 

</complexType> 

 

<complexType name="MeasureOrNilReasonListType"> 

<simpleContent> 

<extension base="gml:doubleOrNilReasonList"> 

<attribute name="uom" type="gml:UomIdentifier" use="required"/> 

</extension> 


46 

X 7136:2012 (ISO 19136:2007)  

 

 

</simpleContent> 

</complexType> 

例 ある応用スキーマが,上記の二つの型を使用した要素宣言を含んでいる。 

<element name="heights" type="gml:MeasureListType"/> 

<element name="weights" type="gml:MeasureOrNilReasonListType"/> 

この応用スキーマのインスタンス文書では,これらの宣言に対応する要素が次のように出

現する。 

<heights uom="m">1.76 1.85 1.56 1.98</heights> 

<weights uom="kg">67.0 73.4 withheld 85.1</weights> 

この二つの要素例では,両方ともリスト中の値全てを同じ尺度で記述している。 

二番目の要素例は,通常は計測値があるべきところに何らかの理由で値が欠落し,そこに

nil値の理由を説明する値を入れている。 

 

GMLスキーマ−地物 

9.1 

一般概念 

GML地物は,GMLを用いて符号化した地物とする。 

例 道路,河川,人,乗り物,行政区画,事象など 

地物スキーマは,GML地物及び地物の集まりを作成するための枠組みを与える。 

注記 地物スキーマ文書feature.xsd(附属書C参照)は,次のように位置独立名によって識別する(URN 

構文を使用)。 

urn:x-ogc:specification:gml:schema-xsd:feature:3.2.1 

9.2 

JIS X 7109との関係 

GML地物モデルは,JIS X 7109:2009の箇条7で定める原理に従う。それは,JIS X 7109の一般地物モ

デルに適合する部分的な実装を示す。この関連性については,D.2.6に示す。 

注記 GML地物モデルは,地物の集まりの概念をOpenGIS抽象仕様からも引き継いでいる。 

9.3 

地物 

9.3.1 

AbstractFeatureType 

基本的な地物モデルは,次のようなスキーマで定義したgml:AbstractFeatureTypeによって示す。 

<complexType name="AbstractFeatureType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGMLType"> 

<sequence> 

<element ref="gml:boundedBy" minOccurs="0"/> 

<element ref="gml:location" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:AbstractFeatureTypeの内容モデルは,gml:AbstractGMLTypeで定義した内容モデルに,地物に必要な

二つの特別なプロパティを付け加えている。 

gml:boundedByプロパティの値は,全ての地物インスタンスを囲う包被を示し,主に特定の位置にある

地物を高速に検索するときに使用する。 


47 

X 7136:2012 (ISO 19136:2007) 

 

 

gml:locationプロパティの値は,地物の大きさ,位置,又は相対的場所を記述する。gml:locationは,

gml:AbstractFeatureTypeの標準内容モデルの一部とするとして非推奨となっている。 

9.3.2 

AbstractFeature 

要素gml:AbstractFeatureは,次のように宣言する。 

<element name="AbstractFeature" type="gml:AbstractFeatureType" abstract="true" 
substitutionGroup="gml:AbstractGML"/> 

この抽象要素は,gml:AbstractFeatureTypeから派生した内容モデルの,いかなる要素も含むことができる

代替グループの代表として使用する。これは,内容モデルを作るための変数として使用してよい。 

gml:AbstractFeatureは,“GML地物となる任意のもの”と考えることができる。また,あるGMLプロパ

ティが“任意の地物”という値をもつ変数又はテンプレートを定義するのに使用してもよい。これは特に,

それぞれの地物メンバプロパティが一つ以上のgml:AbstractFeatureのコピーを含んでいるGML地物の集ま

り(9.9参照)の中で発生する。 

9.4 

標準地物プロパティ 

9.4.1 

boundedBy,BoundingShapeType,EnvelopeWithTimePeriod及びEnvelopeWithTimePeriodType 

このプロパティは,地物全体を囲う最小境界直方体又は長方形を記述する。その内容モデルを次に示す。 

<element name="boundedBy" type="gml:BoundingShapeType" nillable="true"/> 
<complexType name="BoundingShapeType"> 

<sequence> 

<choice> 

<element ref="gml:Envelope"/> 

<element ref="gml:Null"/> 

</choice> 

</sequence> 
<attribute name="nilReason" type="gml:NilReasonType"/> 

</complexType> 

gml:Envelope要素は,10.1.4.6で定義する。 

nil値は,8.2.3.2で示すように符号化しなければならない。属性nilReasonは,nil値の理由を記述する場

合に使用することができる。 

何らかの理由で範囲が適用できない又は使用できないことを符号化するために,以前のGML版で使わ

れたgml:Nulの値は非推奨とされている。 

注記1 包被は,単に対角線の両端の位置で定義するため,包被の正確な形は使用する座標参照系に

よる。記述した地物の範囲が零のときは,その対角線の両端は一致し,その包被の大きさは

零となる。gml:boundedByプロパティは,データ供給者の都合に合わせて提供する。包被の

値は普通,地物の時空間プロパティからデータ使用者が計算する。全てのプロパティに関し

て,値が正確であることを保証するのはデータ提供者の責任とする。 

時間範囲を含む包被には,gml:EnvelopeWithTimePeriodを与える。それは次のように定義する。 

<element name="EnvelopeWithTimePeriod" type="gml:EnvelopeWithTimePeriodType" 
substitutionGroup="gml:Envelope"/> 

 

<complexType name="EnvelopeWithTimePeriodType"> 

<complexContent> 

<extension base="gml:EnvelopeType"> 

<sequence> 


48 

X 7136:2012 (ISO 19136:2007)  

 

 

<element name="beginPosition" type="gml:TimePositionType"/> 
<element name="endPosition" type="gml:TimePositionType"/> 

</sequence> 
<attribute name="frame" type="anyURI" default="#ISO-8601"/> 

</extension> 

</complexContent> 

</complexType> 

ここでは,二つの時間位置プロパティgml:beginPosition及びgml:endPositionを付け加えており,これら

は,時間包被の範囲を示す。 

gml:EnvelopeWithTimePeriodは,gml:Envelopeを代表とする代替グループに割り当てられるので,

gml:Envelopeが妥当なときはいつでも使用することができる。 

注記2 gml:AbstractGeometryType(10.1.3.1参照)から派生した全ての幾何要素と同様に,gml:Envelope

を定義している位置に対して使用している座標参照系は,任意のXML属性srsNameを使用

して示すことができる。使用している座標参照系が時間軸を含む場合,時空間範囲を記述す

るのにgml:Envelopを直接使うことができる。 

9.4.2 

locationName及びlocationReference 

gml:locationNameプロパティ要素は,地物の場所をテキスト値として記述する便宜的なプロパティとす

る。これは次のように定義する。 

<element name="locationName" type="gml:CodeType"/> 

場所の名前を,あらかじめ決められたリストから選ぶ場合,そのリストはcodeSpace属性で識別しなけ

ればならない。 

gml:locationReferenceプロパティ要素は,地物の場所をxlink:href属性によって参照するテキスト値とし

て記述する便宜的なプロパティとする。これは次のように定義する。 

<element name="locationReference" type="gml:ReferenceType"/> 

例 次のインスタンスは,gml:locationName又はgml:locationReferenceが,データのインスタンスの中

で表現できる異なった記述方法を示す。 

あらかじめ決められた情報源から得られる名前を使用して与えられる場所: 

<Feature> 

<gml:locationName 

codeSpace="http://www.icsm.gov.au/icsm/cgna/index.html">Leederville</gml:locationName> 
</Feature> 

文字列を使用して与えられる場所 

<Feature> 

<gml:locationName>Nigel Fosterʼs town of residence</gml:locationName> 

</Feature> 

別のサービスによって与えられる場所: 

<Feature> 
<gml:locationReference 

xlink:href="http://www.ga.gov.au/bin/gazm01?placename=leederville&placetype=R&state=WA+"

/> 
</Feature> 

9.4.3 

FeaturePropertyType及びFeatureArrayPropertyType 

地物間の関連を定義するプロパティクラスがある。それらは,次のようなgml:AssociationRoleTypeパタ


49 

X 7136:2012 (ISO 19136:2007) 

 

 

ーンを使用する。 

<complexType name="FeaturePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractFeature"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

他の地物の配列を含むプロパティを定義するのに役立つ場合もある。それは,次の内容モデルによって

定義するように,地物配列プロパティ型を使用することによって行う。 

<complexType name="FeatureArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractFeature" /> 

</sequence> 

</complexType> 

9.5 

幾何プロパティ 

GML応用スキーマ中の幾何プロパティには,その応用に固有の名前を選択しなければならない。そのプ

ロパティの名前は,値の意味を表現できるように選ぶとよい。それぞれの応用に固有の名前を使うことは,

幾何プロパティを含め,プロパティの命名に望まれる方法である。 

地物型がもつことができる幾何プロパティの型には,プロパティ値がgml:AbstractGeometryを代替する

幾何オブジェクトである限り,個別の制限がない。 

例1 RadioTower(電波塔)地物型は,代表点を通してその場所を識別するために点を返すlocation

(場所)をもつことがあり,物理的構造を記述する曲面を返すfloorSpace(敷地)と呼ぶ一つ

の幾何プロパティをもち,さらに,電波が届くエリアを記述する曲面を返すserviceArea(サー

ビス地域)と呼ぶ第三の幾何プロパティがある。 

<complexType name="RadioTowerType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 

<element name="location" type="gml:PointPropertyType"/> 
<element name="floorSpace" type="gml:SurfacePropertyType"/> 
<element name="serviceArea" type="gml:SurfacePropertyType"/> 
<!-- … --> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

GMLスキーマは,幾何プロパティ要素の型として使用できる,既定義のプロパティ型を含む(表4参照)。 

 

 

 

 

 

 


50 

X 7136:2012 (ISO 19136:2007)  

 

 

表4−既定義の幾何プロパティ型 

XML Schema によるプロパティ型 

関連する幾何オブジェクト型(要素名) 

PointPropertyType 

Point 

CurvePropertyType 

AbstractCurve 
LineString 
Curve 
OrientableCurve 
CompositeCurve 

SurfacePropertyType 

AbstractSurface 
Polygon 
Surface 
OrientableSurface 
CompositeSurface 

SolidPropertyType 

AbstractSolid 
Solid 
CompositeSolid 

MultiPointPropertyType 

MultiPoint 

MultiCurvePropertyType 

MultiCurve 

MultiSurfacePropertyType 

MultiSurface 

MultiSolidPropertyType 

MultiSolid 

MultiGeometryPropertyType 

MultiGeometry 

PointArrayPropertyType  

Point(s) 

CurveArrayPropertyType 

AbstractCurve(s) 
LineString(s) 
Curve(s) 
OrientableCurve(s) 
CompositeCurve(s) 

SurfaceArrayPropertyType 

AbstractSurface(s) 
Polygon(s) 
Surface(s) 
OrientableSurface(s) 
CompositeSurface(s) 

SolidArrayPropertyType 

AbstractSolid(s) 
Solid(s) 
CompositeSolid(s) 

 

9.6 

位相プロパティ 

幾何プロパティと同様,GML応用スキーマでは,位相プロパティのために,その応用に固有な名前を選

択しなければならない。プロパティの名前は,値の意味を表現できるように選ぶことが望ましい。 

例 StatisticalArea地物型は,統計区の境界を代表するTopoCurveを返す一つ以上のboundary(境界)

プロパティをもち,さらに,統計区自体を代表するTopoSurfaceを返す一つ以上のsurface(曲面)

プロパティをもつ。 

<complexType name="StatisticalAreaType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 

<element name="boundary" type="gml:TopoCurvePropertyType" 

maxOccurs="unbounded"/> 


51 

X 7136:2012 (ISO 19136:2007) 

 

 

<element name="surface" type="gml:TopoSurfacePropertyType" 

maxOccurs="unbounded"/> 

<!-- … --> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

GMLスキーマは,位相プロパティ要素の型として使用できる既定義のプロパティ型を含む。これらのプ

ロパティのうち,最初の四つは方向を表現するが,それ以外のプロパティは,方向を表現していない(表

5参照)。 

 

表5−既定義の正式な位相プロパティ型 

XML Schema によるプロパティ型 

関連する位相オブジェクト型(要素名) 

DirectedNodePropertyType 

Node 

DirectedEdgePropertyType 

Edge 

DirectedFacePropertyType 

Face 

DirectedTopoSolidPropertyType 

TopoSolid 

TopoPointPropertyType 

TopoPoint 

TopoCurvePropertyType 

TopoCurve 

TopoSurfacePropertyType 

TopoSurface 

TopoVolumePropertyType 

TopoVolume 

TopoComplexPropertyType 

TopoComplex 

 

9.7 

時間プロパティ 

幾何プロパティ及び位相プロパティと同様に,時間プロパティ要素の定義は,応用スキーマ設計者の責

任の下で行う。 

例 地物型Building(建築物)は,XML型が“gml:TimePeriodPropertyType”であるconstructionTime

(建築期間)プロパティ,XML型が“gml:TimeInstantPropertyType”であるcompletionTime[しゅ

ん(竣)工時点]プロパティ,及びXML型が“gml:TimeIntervalLengthType”であるage(存続期

間)プロパティをもつことができる。 

<complexType name="BuildingType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 

<element name="constructionTime" type="gml:TimePeriodPropertyType"/> 
<element name="completionTime" type="gml:TimeInstantPropertyType"/> 
<element name="age" type="gml:TimeIntervalLengthType"/> 
<!-- … --> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

表6で示す型は,プロパティ要素を宣言するときに直接使用する。 

 

 


52 

X 7136:2012 (ISO 19136:2007)  

 

 

表6−既定義の正式な時間プロパティ型 

XML Schema によるプロパティ型 

関連する時間オブジェクト型(要素名) 

TimePrimitivePropertyType 

AbstractTimePrimitive 
AbstractTimeGeometricPrimitive 
TimeInstant 
TimePeriod 
AbstractTimeTopologyPrimitive 
TimeEdge 
TimeNode 

TimeGeometricPrimitivePropertyType 

AbstractTimeGeometricPrimitive 
TimeInstant 
TimePeriod 

TimeInstantPropertyType 

TimeInstant 

TimePeriodPropertyType 

TimePeriod 

TimeTopologyPrimitivePropertyType 

AbstractTimeTopologyPrimitive 
TimeEdge 
TimeNode 

TimeEdgePropertyType 

TimeEdge 

TimeNodePropertyType 

TimeNode 

TimeTopologyComplexPropertyType 

TimeTopologyComplex 

TimeOrdinalEraPropertyType 

TimeOrdinalEra 

TimeCalendarPropertyType 

TimeCalendar 

TimeCalendarEraPropertyType 

TimeCalendarEra 

TimeClockPropertyType 

TimeClock 

TimePositionType 

− (単純型) 

xsd:duration 

− (単純型) 

TimeIntervalLengthType 

− (単純型) 

 

上に列挙した時間プロパティ型は,時間情報を地物及び他のオブジェクトに関連付けるための比較的包

括的な構成部品集合を与えている。 

9.8 

応用分野に固有の地物型の定義について 

応用スキーマで定義する,固有の地物型は全て,内容モデル(XML Schema型)がgml:AbstractFeatureType

から派生している大域XML要素として実装しなければならない。それゆえ,全てのGML地物は,どのプ

ロパティも制限による派生時に抑制されない限り,標準のgml:identifier,gml:description,

gml:descriptionReference及びgml:nameプロパティとともに,任意選択のgml:boundedBy プロパティを継承

する。gml:AbstractFeatureTypeは,gml:AbstractGMLTypeからgml:idも継承する。これは,GMLでデータ

ベース識別子を使用可能とするために有効な手段である。 

注記 非推奨とされているプロパティは,この継承するプロパティのリストからは除外している。 

この型から派生する理由は,任意のGMLデータを処理するために設計した汎用ソフトウェアが,デー

タストリーム中の要素がGML地物であるかどうかを決めるためにXML Schema派生木をたどることがで

きる,ということである。 

GML地物は,プロパティの集合をもっており,その中の特定のプロパティ集合が地物型を定義する。プ

ロパティは,XML Schema単純内容型を使った単純値,又は複合値をもつ。複合値の場合は,7.2.3に記述

したパターンを用いて宣言することが望ましい。 

地物を定義する応用スキーマには,その名前が論議領域(関心あるもの全てを含んだ,実世界又は仮想


53 

X 7136:2012 (ISO 19136:2007) 

 

 

世界の範囲。ISO 19101参照)にある地物の意味型であるということを宣言した大域要素がなければなら

ない。大域要素は,(直接的又は間接的に)gml:AbstractFeature代替グループのメンバでなければならない。 

<element name="<<featureName>>" type ="<<contentModel >>" substitutionGroup="gml:AbstractFeature"/> 

地物の内容モデルは,名前をもつ複合型又は匿名の複合型とする。 

9.9 

地物の集まり 

9.9.1 

GML地物の集まり 

GML地物の集まりは,GML地物インスタンスの集まりとする。 

gml:AbstractFeatureMemberTypeから拡張によって派生した内容モデルにある,プロパティ要素を伴った

GML地物は,全てGML地物の集まりとする(9.9.2参照)。 

さらに,GML地物の集まりの内容モデルを記述する複合型は,7.2.5.1で示したように,オブジェクトの

集まりの意味規則について,補足的な情報を提供するため属性グループgml:AggregationAttributeGroupへの

参照を含んでもよい。 

例1 次のスキーマ構成部品は,任意の地物の単純な集まりをモデル化している。ここでは,その集

まりはMyFeaturesという名前である。 

<element name="MyFeatures" type="ex:MyFeaturesType" 
substitutionGroup="gml:AbstractFeature"/> 

 

<complexType name="MyFeaturesType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 

<element name="myMember" type="ex:MyFeaturesMemberType" minOccurs="0" 

maxOccurs="unbounded"/> 
</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<complexType name="MyFeaturesMemberType"> 

<complexContent> 

<extension base="gml:AbstractFeatureMemberType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractFeature"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

集合の意味をもつ集まりを符号化するインスタンスの例である。ここでは境界包被も示される。 

<MyFeatures aggregationType="set"> 

<gml:boundedBy> 

<gml:Envelope srsName="urn:x-ogc:def:crs:EPSG:6.6:4326"> 

<gml:lowerCorner>50.23 9.23</gml:lowerCorner> 
<gml:upperCorner>50.31 9.27</gml:upperCorner> 


54 

X 7136:2012 (ISO 19136:2007)  

 

 

</gml:Envelope> 

</gml:boundedBy> 
<myMember> 

<MyFeature gml:id="f1"/> 

</myMember> 
<myMember> 

<MyFeature gml:id="f2"/> 

</myMember> 
<myMember xlink:href="#f3"/> 

</MyFeatures> 

例2 地物の集まりは,固有の型のインスタンスを含むことが多い。次の例では,地物の集まりは,

RoadSegment(道路区間)の列からなるRoad(道路)である。 

<element name="Road" type="ex:RoadType" substitutionGroup="gml:AbstractFeature"/> 

 

<complexType name="RoadType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<sequence> 

<element name="segment" type="ex:RoadMemberType" minOccurs="0" 

maxOccurs="unbounded"/> 
</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<complexType name="RoadMemberType"> 

<complexContent> 

<extension base="gml:AbstractFeatureMemberType"> 

<sequence minOccurs="0"> 

<element ref="ex:RoadSegment"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

順序付けられた道路区間の集まりを符号化したインスタンスの一部の例。 

<Road gml:id="r1" aggregationType="sequence"> 

<segment> 

<RoadSegment gml:id="s1"/> 

</segment> 
<segment xlink:href="#s8"/> 
<segment> 

<RoadSegment gml:id=”s4”/> 

</segment> 

</Road> 

9.9.2 

AbstractFeatureMemberType及びそれから派生するプロパティ型 


55 

X 7136:2012 (ISO 19136:2007) 

 

 

GML地物の集まりを作成するには,プロパティ型はgml:AbstractFeatureMemberTypeから拡張によって

派生させなければならない。 

<complexType name="AbstractFeatureMemberType" abstract="true"> 

<sequence/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

派生したプロパティ型は,7.2.3で指定するパターンのうちの一つに合致しなければならない。そして,

意図した使用に必要なように,集まりの中でオブジェクトの多重度を定めることができる。 

既定値では,この抽象プロパティ型は,集まりの中のどのような地物の所有も示さない。

gml:OwnershipAttributeGroupのowns属性は,集まりによる地物の所有を主張するためのプロパティ要素イ

ンスタンスとして使うことができる。集まりは,別のオブジェクトが所有している地物を所有してはなら

ない。 

9.10 地物又は地物の集まりに使用する時空間参照系 

地物又は地物の集まりのgml:boundedByプロパティの値は,通常gml:Envelopeとする。

gml:AbstractGeometryType(10.1.3.1参照)から派生した全ての幾何要素に共通して,gml:Envelopeを定義

している位置が使用している座標参照系は,任意のXML属性srsNameを使用して示すことができる。 

地物及び地物の集まりを作成する便宜上,地物のgml:boundedByプロパティの値であるgml:Envelopeに

関する属性srsNameの値は,局所的なsrsNameの存在によって却下されない限り,地物又は地物の集まり

のメンバの全てのプロパティにおいて,全ての直接的に表された幾何要素が継承しなければならない。そ

のため,その親地物のgml:boundedByプロパティに与えられた同じ座標参照系を使うときは,幾何要素は,

srsName属性を備える必要はない。座標参照系の継承はどこまでも続くが,局所的なsrsNameの宣言によ

って却下した場合は,新しい座標参照系が,代わりに全ての子地物によって継承される。 

この規則にかかわらず,地物又は地物の集まりに使う全ての幾何要素は,それらが親地物と同じであっ

ても,局所的に使用している参照系を示すためにsrsName属性を備えることができる。 

 

10 GMLスキーマ−幾何プリミティブ 

10.1 一般的な概念 

10.1.1 概要 

この10.1.1では,幾何プリミティブをGMLを用いて指定するためのスキーマ構成部品について規定す

る。 

注記1 GMLの幾何モデルはJIS X 7107に適合する。GML幾何モデルの型及び要素が基づく概念に

ついて,この規格でより詳しく示す。 

注記2 対応する幾何スキーマ文書であるgeometryBasic0d1d.xsd,geometryBasic2d.xsd及び

geometryPrimitives.xsd(附属書C参照)の識別には,次の(URN構文を用いた)位置独立名

を用いる。 

urn:x-ogc:specification:gml:schema-xsd:geometryBasic0d1d:3.2.1 

urn:x-ogc:specification:gml:schema-xsd:geometryBasic2d:3.2.1 

urn:x-ogc:specification:gml:schema-xsd:geometryPrimitives:3.2.1 

gml:AbstractGeometryType型の意味規則を継承する幾何要素は,いずれも直接位置の集合として見ること

ができる。 

 


56 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:AbstractGeometryType型から派生したクラスは,座標参照系への関連(任意選択)を継承する。直接

位置は全て,直接又は間接に座標参照系に関連しなければならない。(gml:MultiGeometry要素又は

gml:GeometricComplex要素のように)幾何要素が,既に座標参照系を指定された他の幾何要素に集成され

る場合,これらの要素では,他の座標参照系を指定しない限り同じ座標参照系を用いるものとみなす。 

幾何モデルは,幾何プリミティブ,幾何集成及び幾何複体に分けられる。 

幾何プリミティブ,すなわち,gml:AbstractGeometricPrimitiveType型の下位型のインスタンスは,開集合

となる,言い換えると,その境界上の点を含まない。曲線はその端点を含まず,曲面はその境界線を含ま

ず,立体はその境界面を含まない。 

10.1.2 JIS X 7107との関係 

箇条10及び箇条11で規定するGMLスキーマの空間幾何構成要素は,JIS X 7107空間スキーマ(幾何)

の一部を,この規格に従って実装したものである。この関係について,より詳しい解説をD.2.3に示す。 

GMLが実装する“JIS X 7107幾何型”(複数)は,JIS X 7107で規定されている。さらに,これらの型

は,JIS X 7107が規定する制約をもち,これはGMLスキーマの空間幾何構成部品も同じように制約する。 

加えて,GMLではD.3.5〜D.3.8で示す補足的な空間幾何スキーマ構成部品を規定する。 

10.1.3 抽象幾何 

10.1.3.1 AbstractGeometryType 

<complexType name="AbstractGeometryType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGMLType"> 

<attributeGroup ref="gml:SRSReferenceGroup"/> 

</extension> 

</complexContent> 

</complexType> 

幾何要素は全て,この抽象上位型から直接又は間接に派生する。幾何要素はAbstractGMLType(7.2.2.2

参照)からの拡張派生であるため,識別のための属性(gml:id属性)をもたなければならず,一つ以上の

名前(gml:identifier要素及びgml:name要素)及び一つの記述(gml:description要素及び

gml:descriptionReference要素)をもってもよい。幾何要素は,座標参照系と関連(gml:SRSReferenceGroup

属性グループ)してもよい。 

次の規則を厳守しなければならない。 

− 全ての幾何型は,この抽象型から派生する。 

− 全ての幾何要素(すなわち,幾何型の要素)は,AbstractGeometryの代替グループに直接的又は間接

的に属す。 

10.1.3.2 SRSReferenceGroup 

<attributeGroup name="SRSReferenceGroup"> 

<attribute name="srsName" type="anyURI" /> 
<attribute name="srsDimension" type="positiveInteger" /> 
<attributeGroup ref="gml:SRSInformationGroup"/> 

</attributeGroup> 

gml:SRSReferenceGroup属性グループは,この幾何要素で用いるCRSへの任意選択の参照であり,CRS

のより完全な定義を必要としない場合の座標処理を単純化する追加の任意選択情報を伴うことがある。 

一般にsrsName属性は,gml:AbstractCoordinateReferenceSystem(12.2.3参照)のCRSインスタンスを示

す。公知の参照については,URIが指し示す場所にCRSの記述がある必要はない。 


57 

X 7136:2012 (ISO 19136:2007) 

 

 

srsName属性を指定しない場合,この幾何要素が属すより大きい構造の一部として,CRSを指定しなけ

ればならない。 

例 幾何集成及び地物の集まりは,典型的な“より大きい構造”である。 

注記 “srsName”という名前は,熟慮の上で選択された。GMLの現行の版では“crsName”がより適

するが,将来の版では,他の種類の空間参照系,すなわち,地理識別子を用いるようなものも

GMLでサポートするかもしれない。 

任意選択のsrsDimension属性は,位置が含む座標値の座標成分の数とする。この次元は,座標参照系か

ら派生する。srsName属性を省略する場合,この属性も省略しなければならない。 

10.1.3.3 SRSInformationGroup 

<attributeGroup name="SRSInformationGroup"> 

<attribute name="axisLabels" type="gml:NCNameList" /> 
<attribute name="uomLabels" type="gml:NCNameList" /> 

</attributeGroup> 

uomLabels属性及びaxisLabels属性は,gml:SRSInformationGroup属性グループに属し,CRSのより完全

な定義が必要でない場合に,座標値の処理を単純化するためのCRSに関する任意選択の追加情報とする。

この情報は,srsName属性が参照するCRSの完全な定義に含まれる情報と同一でなければならない。

srsName属性を含む場合,axisLabels属性及びuomLabels属性の両方を含むか又はいずれも省略しなければ

ならない。srsName属性を省略する場合,これらの属性は,いずれも省略しなければならない。 

axisLabels属性は,このCRSの全ての座標軸の名称の順序付きリストとする。これらの座標軸の名称に

は,gml:axisAbbrevの値を,スペース及び禁止されている文字を取り去った上で用いることが望ましい。

srsName属性を含む場合,この属性は任意選択とする。srsName属性を省略する場合,この属性も省略しな

ければならない。 

uomLabels属性は,このCRSの全ての座標軸の計測単位(uom)の名称の順序付きリストとする。この

uomの名称には,gml:catalogSymbolの文字列値を,スペース及び禁止されている文字を取り去った上で用

いることが望ましい。axisLabels属性を含む場合,このuomLabels属性もまた,含まなければならない。

axisLabels属性を省略する場合,このuomLabels属性も省略しなければならない。 

10.1.3.4 AbstractGeometry 

<element name="AbstractGeometry" type="gml:AbstractGeometryType" abstract="true" 
substitutionGroup="gml:AbstractGML" /> 

gml:AbstractGeometry要素は,GMLの全ての幾何要素の代替グループの抽象代表とする。これは,既定

及び使用者定義の幾何要素を含む。全ての幾何要素は,gml:AbstractGeometryType型からの直接的又は間接

的な拡張又は制限で派生しなければならず,gml:AbstractGeometry代替グループに直接又は間接に属さなけ

ればならない。 

D.2.3.2は,このGMLオブジェクトによるJIS X 7107のGM̲Objectの実装を示す。 

10.1.3.5 GeometryPropertyType 

<complexType name="GeometryPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractGeometry"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 


58 

X 7136:2012 (ISO 19136:2007)  

 

 

幾何プロパティは,その型の要素に格納された幾何要素となることも,遠隔幾何要素(この遠隔とは同

一又は他の文書のどこかにある幾何要素をも含んでいる。)へのXLink参照となることもできる。参照又

は内容となる要素のいずれかを指定しなければならず,7.2.3.4の規定にかかわらず,両方を指定したりい

ずれも指定しなかったりしてはならないことに注意する(7.2.3参照)。 

地物が値に幾何要素をとるプロパティをもつ場合,このプロパティを幾何プロパティと呼ぶ。このよう

な幾何プロパティの総称型は,7.2.3で示した一般規則に従ったgml:GeometryPropertyTypeとする。 

10.1.3.6 GeometryArrayPropertyType 

<complexType name="GeometryArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractGeometry" /> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

地物が値に幾何要素の配列をとるプロパティをもつ場合,このプロパティを幾何配列プロパティと呼ぶ。

このような幾何プロパティの総称型は,7.2.3で示す一般規則に従うgml:GeometryArrayPropertyType型とす

る。 

要素は配列プロパティ内では常にその場に記述する。これらの幾何要素又は幾何要素の配列をXLinkを

通じて参照してはならない。 

例 gml:GeometryArrayPropertyType型の全ての要素は,その要素がgml:AbstractGeometry要素を直接

的又は間接的に代替できるようgml:AbstractGeometryType型(この抽象基底型から派生した型を

含む。)の要素となる。 

10.1.4 座標幾何,ベクトル及び包被 

10.1.4.1 DirectPositionType及びpos 

<complexType name="DirectPositionType"> 

<simpleContent> 

<extension base="gml:doubleList"> 

<attributeGroup ref="gml:SRSReferenceGroup"/> 

</extension> 

</simpleContent> 

</complexType> 
 
<element name="pos" type="gml:DirectPositionType"/> 
 
<sch:pattern> 

<sch:rule context="gml:pos"> 

<sch:assert test="not(@srsDimension) or @srsName">The presence of a dimension attribute implies the 

presence of the srsName attribute.</sch:assert> 

<sch:assert test="not(@axisLabels) or @srsName">The presence of an axisLabels attribute implies the 

presence of the srsName attribute.</sch:assert> 

<sch:assert test="not(@uomLabels) or @srsName">The presence of an uomLabels attribute implies the 

presence of the srsName attribute.</sch:assert> 

<sch:assert test="(not(@uomLabels) and not(@axisLabels)) or (@uomLabels and @axisLabels)">The 

presence of an uomLabels attribute implies the presence of the axisLabels attribute and vice 
versa.</sch:assert> 


59 

X 7136:2012 (ISO 19136:2007) 

 

 

</sch:rule> 

</sch:pattern> 

直接位置のインスタンスは,ある座標参照系(CRS)での,位置に対応した座標値を保持する。このた

め,直接位置は,データ型として多くの場合,CRSへの参照をもつ,より大きい(幾何要素などの)オブ

ジェクトに含まれる。また,このようなCRSへの参照をもつより大きな要素に含まれる直接位置では,一

般にsrsName属性は省略される。この場合,CRSとしては,暗黙でそれを含むオブジェクトのCRSの値

を用いるものと仮定する。 

gml:SRSReferenceGroup属性グループは,10.1.3.2で示す。srsName属性を指定しない場合,CRSはより

大きい構造の一部として指定されなければならない。この幾何要素は,主に点,曲線などの幾何オブジェ

クトの一部となる。 

注記 直接位置のレベルでこの属性を指定することはまれである。 

D.2.3.4は,これらのスキーマ構成要素によってJIS X 7107のDirectPosition型の実装を規定する。 

10.1.4.2 DirectPositionListType及びposList 

<complexType name="DirectPositionListType"> 

<simpleContent> 

<extension base="gml:doubleList"> 

<attributeGroup ref="gml:SRSReferenceGroup"/> 
<attribute name="count" type="positiveInteger"/> 

</extension> 

</simpleContent> 

</complexType> 
 
<element name="posList" type="gml:DirectPositionListType"/> 

gml:posList要素のインスタンス(及びDirectPositionListType型が規定する内容モデルをもつ他のインス

タンス)は,同一の座標参照系(CRS)での,直接位置の列に対応した座標値をもつ。 

SRSReferenceGroup属性グループは,10.1.3.2で示す。srsName属性を指定しない場合,CRSはより大き

い構造の一部として指定されなければならない。この幾何要素は,主に曲線,曲面などの幾何オブジェク

トの一部となる。 

注記 直接位置のレベルでsrsName属性を指定することはまれである。 

任意選択のcount属性は,リスト中の直接位置の数を指定する。 

リストの項目の数は,座標参照系の次元(言い換えると座標参照系の定義から派生した値)と直接位置

の数との積に等しい。 

D.2.3.4は,これらのスキーマ構成要素によってJIS X 7107のGM̲PointArray型の直接位置だけを用いた

実装を規定する。 

10.1.4.3 geometricPositionGroup 

<group name="geometricPositionGroup"> 

<choice> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

</choice> 

</group> 

GMLでは,直接位置(データ型)と点(幾何オブジェクト)との二つの異なった方法で幾何位置(geometric 

position)を指定してよい。  


60 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:pos要素は,その幾何位置を格納する幾何プリミティブが“所有”する位置である。 

gml:pointProperty要素は,他の幾何要素から参照できる点を含むか,又は別の場所で定義される他の点

を参照する(既存の点の再使用)。 

D.2.3.4は,この選択グループによってJIS X 7107のGM̲Position型の実装を規定する。 

10.1.4.4 geometricPositionListGroup 

<group name="geometricPositionListGroup"> 

<choice> 

<element ref="gml:posList"/> 
<group ref="gml:geometricPositionGroup" maxOccurs="unbounded"/> 

</choice> 

</group> 

GMLでは,(グループ定義を再使用することによる)幾何位置の列及び直接位置の列(gml:posList要素)

という,二つの異なった方法で幾何位置を指定することができる。 

gml:posList要素は,全ての位置が同一の座標参照系で表現される場合に,簡潔な方法で位置の座標値を

指定することを可能にする。 

D.2.3.4は,この選択グループによってJIS X 7107のGM̲PointArray型の実装を規定する。 

注記 このグループの定義を直接用いるのではなく,幾何プリミティブを定義する様式としてこのグ

ループの定義を用いることができる。(このグループから派生する型における)主な変化として,

参照されるグループの多重度の変化が挙げられる。例えば,LineString型は,最低二つの位置を

必要とする。また,非推奨の要素,すなわち,gml:coordinates要素(gml:posList要素によって

置き換えられた)及びgml:pointRep要素(gml:pointProperty要素によって置き換えられた)を

使用可能にするために,例えばGMLにおける曲線分での点配列の現行の符号化は,このグル

ープをパターンとして用い,非推奨の要素を追加している。 

10.1.4.5 VectorType及びVector 

<complexType name="VectorType"> 

<simpleContent> 

<restriction base="gml:DirectPositionType"/> 

</simpleContent> 

</complexType> 
<element name="vector" type="gml:VectorType"/> 

gml:vector要素は,ISO/TS 19103のVector型(D.2.3.2及びISO/TS 19103:2005の6.5.2.6参照)を実装す

る。 

一部の応用において,位置の構成要素は,単位ベクトルに応じるように調整されることがある。 

注記 この定義によって,grids.xsdのoffsetVector要素のように適当と考えられる場合にはどこにでも

VectorType型を用いることが可能となり,direction.xsdのDirectionVector要素のように,それが

適切な場合には直接vector要素を用いることが可能となる。 

10.1.4.6 EnvelopeType及びEnvelope 

<complexType name="EnvelopeType"> 

<choice> 

<sequence> 

<element name="lowerCorner" type="gml:DirectPositionType"/> 
<element name="upperCorner" type="gml:DirectPositionType"/> 

</sequence> 


61 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:pos" minOccurs="2" maxOccurs="2"/> 
<element ref="gml:coordinates"/> 

</choice> 
<attributeGroup ref="gml:SRSReferenceGroup"/> 

</complexType> 

 

<element name="Envelope" type="gml:EnvelopeType" substitutionGroup="gml:AbstractObject"/> 

gml:Envelope要素は,JIS X 7107のGM̲Envelope型(D.2.3.4及びJIS X 7107:2005の6.4.3参照)を実装

する。 

包被(envelop)は,任意の次元の正対する隅を定義する位置の対を用いて範囲を定義する。一つ目の直

接位置は“下端属性”(各次元に対して包被内の全ての点における座標値の最小値で構成される座標位置)

とし,二つ目の直接位置は“上端属性”(各次元に対して包被内の全ての点における座標値の最大値で構成

される座標位置)とする。 

包被におけるcoordinatesプロパティ及びposプロパティは,非推奨である。これに代えて,明示的な名

前をもつlowerCornerプロパティ及びupperCornerプロパティを用いなければならない。 

注記1 次元にかかわらず,包被は,規定の規則を全ての点に適用することで得られる二つの直接位

置(座標点)で曖昧なく表現できる。包被は,しばしば最小境界直方体又は最小長方形とし

て参照される。しかし,参照するCRSが測地的CRSであったり,だ(楕)円体,球体,極,

円筒座標系(これらの用語の規定については12.4参照)を用いていたりする場合,この包被

は,常に最小の四辺形の包含領域を指定するわけではない。特に,この包被は,角度による

座標軸で不連続な値における点の集合となるような幾何要素に対する最小の四辺形の包含領

域を指定しない。このような軸には,だ(楕)円体及び球の座標系の緯度及び経度がある。

この幾何は,だ(楕)円体又は球体の表面の小さな範囲に収まっている場合も,だ(楕)円

体又は球面の全体の周囲に広がっている場合もある。 

注記2 この規格では,JIS X 7107で示された包被の規定を使用するが,将来,上記の問題が解決さ

れたときには,それに応じた改正を行う予定である。  

10.2 抽象幾何プリミティブ 

10.2.1 AbstractGeometricPrimitiveType及びAbstractGeometricPrimitive 

<complexType name="AbstractGeometricPrimitiveType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGeometryType" /> 

</complexContent> 

</complexType> 

 

<element name="AbstractGeometricPrimitive" type="gml:AbstractGeometricPrimitiveType" abstract="true" 
substitutionGroup="gml:AbstractGeometry" /> 

gml:AbstractGeometricPrimitiveType型は,幾何プリミティブの抽象基底型とする。幾何プリミティブ

(Geometric Primitive)は,システム内の他のプリミティブにそれ以上分割されることのない幾何オブジェ

クトとする。全てのプリミティブは,その座標の列で示す向きをもつ。 

gml:AbstractGeometricPrimitive要素は,全ての(既定及び使用者定義の)幾何プリミティブの代替グルー

プの抽象代表とする。 

gml:AbstractGeometricPrimitive要素は,JIS X 7107のGM̲Primitive型(D.2.3.3及びJIS X 7107:2005の

6.3.10参照)を実装する。 


62 

X 7136:2012 (ISO 19136:2007)  

 

 

10.2.2 GeometricPrimitivePropertyType 

<complexType name="GeometricPrimitivePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractGeometricPrimitive"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

値の定義域として幾何プリミティブをもつプロパティは,その型の要素内に格納された適切な幾何要素

であっても,遠隔幾何要素(ここでいう遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink

参照であってもよい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりい

ずれも指定しなかったりしてはならない。 

10.3 幾何プリミティブ(零次元) 

10.3.1 PointType及びPoint 

<complexType name="PointType"> 

<complexContent> 

<extension base="gml:AbstractGeometricPrimitiveType"> 

<sequence> 

<choice> 

<element ref="gml:pos" /> 

<element ref="gml:coordinates"/> 

</choice> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Point" type="gml:PointType" substitutionGroup="gml:AbstractGeometricPrimitive" /> 

gml:Point要素は座標を定義する。点(point)の直接位置は,gml:DirectPositionType型をもつgml:pos要

素で指定する。 

gml:Point要素は,JIS X 7107のGM̲Point型(D.2.3.3及びJIS X 7107:2005の6.3.11参照)を実装する。 

coordinates要素の使用は,推奨しない。代わりにposを用いなければならない。 

10.3.2 PointPropertyType及びpointProperty 

<complexType name="PointPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Point"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 
 
<element name="pointProperty" type="gml:PointPropertyType" /> 

値の定義域として点をもつプロパティは,その型の要素内に格納された適切な幾何要素であっても,遠

隔幾何要素(この場合の遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であっ

てもよい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定


63 

X 7136:2012 (ISO 19136:2007) 

 

 

しなかったりしてはならない。 

このプロパティ要素は,点をXLink属性を通じて参照することも,点要素を含むこともある。pointProperty

要素は,GML地物がgml:Point要素で代替可能な値をもつプロパティをもつようなGML応用スキーマで

使用できる既定のプロパティとする。 

10.3.3 PointArrayPropertyType及びpointArrayProperty 

<complexType name="PointArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:Point" /> 

</sequence> 
 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

 

<element name="pointArrayProperty" type="gml:PointArrayPropertyType" /> 

gml:PointArrayPropertyType型は,点の配列のコンテナとする。その要素は,常に配列プロパティの要素

内に直接含まれる。これらの幾何要素又は幾何要素の配列に対して,XLinkを通じて参照してはならない。 

このプロパティ要素は,点要素のリストを含む。pointArrayProperty要素は,GML地物が点のリストで

置き換え可能な値のプロパティをもつようなGML応用スキーマで使用できる既定のプロパティとする。 

10.4 幾何プリミティブ(一次元) 

10.4.1 AbstractCurveType及びAbstractCurve 

<complexType name="AbstractCurveType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGeometricPrimitiveType"/> 

</complexContent> 

</complexType> 

 

<element name="AbstractCurve" type="gml:AbstractCurveType" abstract="true" 
substitutionGroup="gml:AbstractGeometricPrimitive"/> 

gml:AbstractCurveType型は,異なる水準の複雑性をもつ曲線(curve)をサポートする,曲線の抽象型で

ある。曲線は,常に幾何プリミティブとみなせる,つまり連続している。 

gml:AbstractCurve要素は,全ての(連続した)曲線要素に対する代替グループの抽象の代表である。 

10.4.2 CurvePropertyType及びcurveProperty 

<complexType name="CurvePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractCurve"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gmlOwnershipAttributeGroup"/> 

</complexType> 

 

<element name="curveProperty" type="gml:CurvePropertyType"/> 

 

 

 


64 

X 7136:2012 (ISO 19136:2007)  

 

 

値の定義域として曲線をもつプロパティは,その型の要素内に格納された適切な幾何要素であっても,

遠隔幾何要素(この場合の遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であ

ってもよい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指

定しなかったりしてはならない。 

このプロパティ要素は,曲線をXLink属性を通じて参照することも,曲線要素を含むこともある。

curvePropertyは,GML地物がgml:AbstractCurveで代替可能な値をもつプロパティをもつようなGML応用

スキーマで使用できる既定のプロパティとする。 

10.4.3 CurveArrayPropertyType及びcurveArrayProperty 

<complexType name="CurveArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractCurve"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

<complexType> 

 

<element name="curveArrayProperty" type="gml:CurveArrayPropertyType"/> 

これは,曲線の配列のコンテナである。要素は,常に配列プロパティの要素内に含まれている。参照し

ている幾何要素,又はXLinkを通じた幾何要素の配列は,使用できない。このプロパティ要素は,曲線要

素の列を含む。curveArrayPropertyは,GML地物が曲線のリストに代替される値とともにプロパティをも

つときは,常にGML応用スキーマによって使用できるプロパティをあらかじめ定義する。 

10.4.4 LineStringType及びLineString 

<complexType name="LineStringType"> 

<complexContent> 

<extension base="gml:AbstractCurveType"> 

<sequence> 

<choice> 

<choise minOccurs="2" maxOccurs="unbounded"> 

<element ref="gml:pos"/> 

<element ref="gml:pointProperty"/> 
<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 
 

<element name="LineString" type="gml:LineStringType" 
substitutionGroup="gml:AbstractCurve"/> 

gml:LineString要素(折れ線)は,線形内挿法を用いる単一の曲線分で構成される特別な曲線とする(D.3.5

参照)。これは,線形内挿する2点以上の座標で定義する。 

 


65 

X 7136:2012 (ISO 19136:2007) 

 

 

制御点の符号化については,10.1.4.4にそのパターンを示す。リストにおける直接位置の数は,少なくと

も二つでなければならない。 

注記 JIS X 7107のGM̲LineStringは,gml:LineStringSegmentで実装する。 

10.4.5 CurveType及びCurve 

<complexType name="CurveType"> 

<complexContent> 

<extension base="gml:AbstractCurveType"> 

<sequence> 

<element ref="gml:segments"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Curve" type="gml:CurveType" substitutionGroup="gml:AbstractCurve"/> 

gml:Curve要素は,JIS X 7107のGM̲Curve(D.2.3.3及びJIS X 7107:2005の6.3.16参照)を実装する。 

曲線は,一次元のプリミティブである。曲線は連続で,連結し,座標系に関して計測可能な長さをもつ。 

曲線は,一つ以上の曲線分からなる。曲線内の各々の曲線分は,異なる内挿法を用いて定義してもよい。

曲線分はリストの中で,最後の曲線分を除いて,各曲線分の終点と次の曲線分の始点とが互いに連結して

いる。 

曲線の向きは正とする。 

gml:segments要素は,曲線の曲線分を格納する。 

10.4.6 OrientableCurveType,OrientableCurve及びbaseCurve 

<complexType name="OrientableCurveType"> 

<complexContent> 

<extension base="gml:AbstractCurveType"> 

<sequence> 

<element ref="gml:baseCurve"/> 

</sequence> 
<attribute name="orientation" type="gml:SignType" default="+"/> 

</extension> 

</complexContent> 

<complexType> 

 

<element name="baseCurve" type="gml:CurvePropertyType"/> 

 

<element name="OrientableCurve" type="gml:OrientableCurveType" 
substitutionGroup="gml:AbstractCurve"/> 

gml:OrientableCurve要素は,JIS X 7107のGM̲OrientableCurve(D.2.3.3及びJIS X 7107:2005の6.3.14参

照)を実装する。 

gml:OrientableCurve要素は,曲線及び方向で構成する。方向が“+”の場合,gml:OrientableCurve要素は,

gml:baseCurve要素と同一となる。方向が“-”の場合,gml:OrientableCurve要素は,曲線をたどる方向が逆

になることを示すパラメタ付けを伴う別のgmlAbstractCurve要素に関連付ける。 

 


66 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:baseCurve要素のプロパティは,基となる曲線を参照するか,又は含んでいる。すなわち,XLink属

性を通じて基となる曲線を参照するか,曲線要素を含む。曲線要素は,gml:AbstractCurveに代替するいず

れかの要素とする。基となる曲線は,正の方向をもつ。 

注記 この定義は,入れ子構造を許す。すなわち,gml:OrientableCurve要素は,基本曲線として別の

gml:OrientableCurve要素を用いてもよい。 

10.4.7 Curve segments 

10.4.7.1 AbstractCurveSegmentType及びAbstractCurveSegment 

<complexType name="AbstractCurveSegmentType" abstract="true"> 

<attribute name="numDerivativesAtStart" type="integer" default="0"/> 
<attribute name="numDerivativesAtEnd" type="integer" default="0"/> 
<attribute name="numDerivativeInterior" type="integer" default="0"/> 

</complexType> 
 
<element name="AbstractCurveSegment" type="gml:AbstractCurveSegmentType" abstract="true" 
substitutionGroup="gml:AbstractObject"/> 

gml:AbstractCurveSegment要素は,JIS X 7107のGM̲CurveSegment(D.2.3.3及びJIS X 7107:2005の6.4.9

参照)を実装する。 

曲線分は,曲線と同質のセグメントを定義する。 

numDerivativesAtStart属性,numDerivativesAtEnd属性,及びnumDerivativesInterior属性は,JIS X 7107:2005

の6.4.9.3で示す連続性の型を示す。 

gml:AbstractCurveSegment要素は,全ての曲線分要素,すなわち,同じ内挿方法の連続曲線分の代替グル

ープの抽象代表とする。 

曲線分の制御点の符号化は,10.1.4.4に示すパターンに従わなければならない。 

全ての曲線分は,このセグメントに使われる曲線の内挿法を特徴づけるgml:CurveInterpolationType型と

ともにinterpolation属性をもたなければならない。この内挿法は,制御点及びこの曲線分の位置を決定す

るための制御パラメタを用いる。 

10.4.7.2 CurveSegmentArrayPropertyType及びsegments 

<complexType name="CurveSegmentArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractCurveSegment"/> 

</sequence> 

</complexType> 

gml:CurveSegmentArrayPropertyType型は,曲線分の配列のコンテナとする。 

<element name="segments" type="gml:CurveSegmentArrayPropertyType"/> 

このプロパティ要素は,曲線分のリストを含んでいる。要素の順序には意味があり,配列を処理する時

点で順序が保たれていなければならない。 

10.4.7.3 CurveInterpolationType 

<simpleType name="CurveInterpolationType"> 

<restriction base="string"> 

<enumeration value="linear"/> 
<enumeration value="geodesic"/> 
<enumeration value="circularArc3Points"/> 
<enumeration value="circularArc2PointWithBulge"/> 


67 

X 7136:2012 (ISO 19136:2007) 

 

 

<enumeration value="circularArcCenterPointWithRadius"/> 
<enumeration value="elliptical"/> 
<enumeration value="clothoid"/> 
<enumeration value="conic"/> 
<enumeration value="polynomialSpline"/> 
<enumeration value="cubicSpline"/> 
<enumeration value="rationalSpline"/> 

</restriction> 

</simpleType> 

gml:CurveInterpolationType型は,応用スキーマで明記する内挿法を識別するために用いるべき符号リス

トとする。 

この型は,JIS X 7107のGM̲CurveInterpolation(D.2.3.4及びJIS X 7107:2005の6.4.8参照)を実装する。 

10.4.7.4 LineStringSegmentType及びLineStringSegment 

<complexType name="LineStringSegmentType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<sequence> 

<choice> 

<choice minOccurs="2" maxOccurs="unbounded"> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 

</sequence> 
<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="linear"/> 

</extension> 

</complexContent>. 

</complexType> 
 
<element name="LineStringSegment" type="gml:LineStringSegmentType" 
substitutionGroup="gml:AbstractCurveSegment"/> 

gml:LineStringSegment要素は,JIS X 7107のGM̲LineString(D.2.3.4及びJIS X 7107:2005の6.4.10参照)

を実装する。 

gml:LineStringSegment要素は,始点と終点とを含む2点以上の制御点,及びそれらの間の線形内挿

(interpolation)で定義する曲線分とする。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.5 ArcStringType及びArcString 

<complexType name="ArcStringType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<sequence> 

<choice> 

<choice minOccurs="3" maxOccurs="unbounded"> 


68 

X 7136:2012 (ISO 19136:2007)  

 

 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 

</sequence> 
<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> 
<attribute name="numArc" type="integer"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="ArcString" type="gml:ArcStringType" substitutionGroup="gmlAbstractCurveSegment"/> 

gml:ArcString要素は,JIS X 7107のGM̲ArcString(D.2.3.4及びJIS X 7107:2005の6.4.14参照)を実装

する。 

gml:ArcString要素は,3点弧(“circularArc3Points”)を用いた曲線分とする。 

弧列(arcstring)の中の弧の数は,numArc属性で明示的に指定できる。弧列の制御点の数は,2×numArc+1

でなければならない。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.6 ArcType及びArc 

<complexType name="ArcType"> 

<complexContent> 

<restriction base="gml:ArcStringType"> 

<sequence> 

<choice> 

<choice minOccurs="3" maxOccurs="3"> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 

</sequence> 
<attribute name="numArc" type="integer" fixed="1"/> 

</restriction> 

</complexContent> 

</complexType> 

 

<element name="Arc" type="gml:ArcType" substitutionGroup="gml:ArcString"/> 

gml:Arc要素は,JIS X 7107のGM̲Arc(D.2.3.4及びJIS X 7107:2005の6.4.15参照)を実装する。 

弧(arc)は,一つの弧単位からなる弧,すなわち,始点と終点とを含む三つの制御点からなる。つまり,

弧は,“1”に固定されたnumArc属性の単一の弧で構成される弧列とする。 

10.4.7.7 CircleType及びCircle 


69 

X 7136:2012 (ISO 19136:2007) 

 

 

<complexType name="CircleType"> 

<complexContent> 

<extension base="gml:ArcType"/> 

</complexContent> 

</complexType> 

 

<element name="Circle" type="gml:CircleType" substitutionGroup="gml:Arc"/> 

gml:Circle要素は,JIS X 7107のGM̲Circle(D.2.3.4及びJIS X 7107:2005の6.4.16参照)を実装する。 

円(circle)は,単純な閉じた輪に形状が一致するように結んだ弧とする。三つの制御点は,厳密に円を

定義するためには,同一直線上にあってはならない。円は,弧の一番目の制御点に一致するまで三番目の

制御点から単純に軌跡を延長する。 

10.4.7.8 ArcStringByBulgeType及びArcStringByBulge 

<complexType name="ArcStringByBulgeType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<sequence> 

<choice> 

<choice minOccurs="2" maxOccurs="unbounded"> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 
<element name="bulge" type="double" maxOccurs="unbounded"/> 
<element name="normal" type="gml:VectorType" maxOccurs="unbounded"> 

</sequence> 
<attribute name="interpolation" type="gml:CurveInterpolationType" 

fixed="circularArc2PointWithBulge"/> 

<attribute name="numArc" type="integer"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="ArcStringByBulge" type="gml:ArcStringByBulgeType" 
substitutionGroup="gml:AbstractCurveSegment"/> 

gml:ArcStringByBulge要素は,JIS X 7107のGM̲ArcStringByBulge(D.2.3.4及びJIS X 7107:2005の6.4.17

参照)を実装する。 

この種の弧では,直接座標を格納する代わりに,弧の中間点を計算する。制御点の列は,各々の弧の始

点と終点とにgml:bulge要素(JIS X 7107:2005の6.4.17.2参照)を加えて構成される。gml:normal要素は,

弧の弦に対する法線ベクトルとする(JIS X 7107:2005の6.4.17.4参照)。 

interpolation属性は,“cicularArc2PointWithBulge”で決定される。 

弧列の弧の数は,numArc属性に明示的に指定できる。弧列の制御点の数は,numArc+1でなければなら

ない。 


70 

X 7136:2012 (ISO 19136:2007)  

 

 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.9 ArcByBulgeType及びArcByBulge 

<complexType name="ArcByBulgeType"> 

<complexContent> 

<restriction base="gml:ArcStringByBulgeType"> 

<sequence> 

<choice> 

<choice minOccurs="2" maxOccurs="2"> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 
<element name="bulge" type="double"/> 
<element name="normal" type="gml:VectorType"/> 

</sequence> 
<attribute name="numArc" type="integer" fixed="1"/> 

</restriction> 

</complexContent> 

</complexType> 

 

<element name="ArcByBulge" type="gml:ArcByBulgeType" substitutionGroup="gml:ArcStringByBulge"/> 

gml:ArcByBulge要素は,JIS X 7107のGM̲ArcByBulge(D.2.3.4及びJIS X 7107:2005の6.4.18参照)を

実装する。 

ArcByBulge要素は,二つの制御点,一つの膨らみ及び一つの法線ベクトルをもつ一つの弧単位からなる

弧列とする。 

弧は,単一の弧で構成される弧列であるため,numArc属性は,“1”で固定される。 

10.4.7.10 ArcByCenterPointType及びArcByCenterPoint 

<complexType name="ArcByCenterPointType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<sequence> 

<choice> 

<choice> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 
<element name="radius" type="gml:LengthType"/> 
<element name="startAngle" type="gml:AngleType" minOccurs="0"/> 
<element name="endAngle" type="gml:AngleType" minOccurs="0"/> 


71 

X 7136:2012 (ISO 19136:2007) 

 

 

</sequence> 
<attribute name="interpolation" type="gml:CurveInterpolationType" 

fixed="circularArcCenterPointWithPadius"/> 

<attribute name="numArc" type="integer" use="required" fixed="1"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="ArcByCenterPoint" type="gml:ArcByCenterPointType" 
substitutionGroup="gml:AbstractCurveSegment"/> 

この種の弧では,直接座標を格納する代わりに,弧上の点が必ず計算で求められることが要求される。

唯一の制御点は弧の中心点であり,半径,始点及び終点の方向角が必要である。この表現は,二次元でだ

け用いられる。 

gml:radius要素は,弧の半径を示す。 

gml:startAngle要素は,弧の始点方向角を示す。 

gml:endAngle要素は,弧の終点方向角を示す。 

interpolation属性は,“circularArcCenterPointWithRadius”で決定される。 

この型は,常に単一の弧を表現するので,numArc属性は“1”で固定とする。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.11 CircleByCenterPointType及びCircleByCenterPoint 

<complexType name="CircleByCenterPointType"> 

<complexContent> 

<restriction base="gml:ArcByCenterPointType"> 

<sequence> 

<choice> 

<choice> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 
<element name="radius" type="gml:LengthType"/> 

</sequence> 

</restriction> 

</complexContent> 

</complexType> 

 

<element name="CircleByCenterPoint" type="gml:CircleByCenterPointType" 
substitutionGroup="gml:ArcByCenterPoint"/> 

gml:CircleByCenterPoint要素は,始点と終点との角度が同一な完全な円の形状をもつ

gml:ArcByCenterPoint要素である。また,この表現は,二次元でだけ用いることができる。 

10.4.7.12 CubicSplineType及びCubicSpline 

<complexType name="CubicSplineType"> 


72 

X 7136:2012 (ISO 19136:2007)  

 

 

<complexContent> 

 <extension base="gml:AbstractCurveSegmentType"> 
  <sequence> 
   <choise> 
    <choice minOccurs="2" maxOccurs="unbounded"> 
     <element ref="gml:pos"/> 
     <element ref="gml:pointProperty"/> 

     <element ref="gml:pointRep"/> 

    </choice> 
    <element ref="gml:posList"/> 

    <element ref="gml:coordinates"/> 

   </choice> 
   <element name="vectorAtStart" type="gml:VectorType"/> 
   <element name="vectorAtEnd" type="gml:VectorType"/> 
  </sequence> 
  <attribute name="interpolation" type="gml:CurveInterpolationType" fixed="cubicSpline"/> 
  <attribute name="degree" type="integer" fixed="3"/> 
 </extension> 

</complexContent> 

</complexType> 

 

<element name="CubicSpline" type="gml:CubicSplineType" 
substitutionGroup="gml:AbstractCurveSegment"/> 

gml:CubicSpline要素は,JIS X 7107のGM̲CubicSpline(D.2.3.4及びJIS X 7107:2005の6.4.28参照)を

実装する。 

制御点の数は,最低3点でなければならない。 

gml:vectorAtStartは,スプライン始点の単位接線ベクトルである。gml:vectorAtEnd要素は,スプライン

終点の単位接線ベクトルである。三次スプラインの形状を決定するためには,ベクトルの方向だけを使用

しなければならず,その長さは使用しない。 

interpolationは,“cubicSpline”で固定とする。 

degreeは,このスプラインの内挿に用いる多項式の次数でなければならない。したがって,三次スプラ

インの次数は“3”で固定とする。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.13 BSplineType及びBSpline 

<complexType name="BSplineType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<sequence> 

<choice> 

<choice minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 


73 

X 7136:2012 (ISO 19136:2007) 

 

 

</choice> 
<element name="degree" type="nonNegativeInteger"/> 
<element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="unbounded"/> 

</sequence> 
<attribute name="interpolation" type="gml:CurveInterpolationType" default="polynomialSpline"/> 
<attribute name="isPolynomial" type="boolean"/> 
<attribute name="knotType" type="gml:KnotTypesType"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="BSpline" type="gml:BSplineType" substitutionGroup="gml:AbstractCurveSegment"/> 

gml:BSplineは,JIS X 7107のGM̲BSplineCurve(D.2.3.4及びJIS X 7107:2005の6.4.30参照)を実装す

る。 

Bスプライン(B-Spline)は,区分パラメタ付き多項式,又はJIS X 7107:2005の6.4.30の規定による制

御点及び基底関数に関して記述された有理曲線とする。したがって,interpolation属性は,内挿の方法によ

って,“polynomialSpline”(多項式スプライン)又は“rationalSpline”(有理スプライン)のいずれかになる。

既定値は,“polynomialSpline”とする。 

degreeは,このスプラインの内挿に用いる多項式の次数でなければならない。 

gml:knotは,スプラインの基底関数を決定するために用いる別々のノットの並びでなければならない

(JIS X 7107:2005の6.4.26.2参照)。 

isPolynomial属性は,多項式スプラインの場合,“true”がセットされなければならない(JIS X 7107:2005

の6.4.30.5参照)。 

knotType属性は,このスプラインを決定するときに用いるノットの配置の型を示さなければならない

(JIS X 7107:2005の6.4.30.4参照)。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.14 KnotType及びKnotPropertyType 

<complexType name="KnotType"> 

<sequence> 

<element name="value" type="double"/> 
<element name="multiplicity" type="nonNegativeInteger"/> 
<element name="weight" type="double"/> 

</sequence> 

</complexType> 

gml:knot要素は,JIS X 7107のGM̲Knot(D.2.3.4及びJIS X 7107:2005の6.4.24参照)を実装する。 

ノット(knot)は,区分的なスプライン曲線のブレークポイントとする。 

gml:value要素は,スプラインのノットにおけるパラメタの値とする(JIS X 7107:2005の6.4.24.2参照)。 

gml:multiplicity要素は,(同じ加重をもつ)スプラインの決定に用いられるノットの多重度とする。 

gml:weight要素は,スプラインのノットに用いられる平均加重の値とする。 

 

<complexType name="KnotPropertyType"> 

<sequence> 

<element name="Knot" type="gml:KnotType"/> 

</sequence> 


74 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexType> 

gml:KnotPropertyType型は,ノットを幾何型に用いるためにノットをカプセル化する型とする。 

10.4.7.15 KnotTypesType 

<simpleType name="KnotTypesType"> 

<restriction base="string"> 

<enumeration value="uniform"/> 
<enumeration value="quasiUniform"/> 
<enumeration value="piecewiseBezier"/> 

</restriction> 

</simpleType> 

gml:KnotTypesType型は,JIS X 7107のGM̲KnotType(D.2.3.4及びJIS X 7107:2005の6.4.25参照)を実

装する。 

この列挙型は,ノットの型の値を規定する(JIS X 7107:2005の6.4.25参照)。 

10.4.7.16 BezierType及びBezier 

<complexType name="BezierType"> 

<complexContent> 

<restriction base="gml:BSplineType"> 

<sequence> 

<choice> 

<choice minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList"/> 

<element ref="gml:coordinates"/> 

</choice> 
<element name="degree" type="nonNegativeInteger"/> 
<element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="2"/> 

</sequence> 
<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="polynomialSpline"/> 
<attribute name="isPolynomial" type="boolean" fixed="true"/> 
<attribute name="knotType" type="gml:KnotTypesType"  use="prohibited"/> 

</restriction> 

</complexContent> 

</complexType> 

 

<element name="Bezier" type="gml:BezierType" substitutionGroup="gml:BSpline"/> 

gml:Bezier要素は,JIS X 7107のGM̲Bezier(D.2.3.4及びJIS X 7107:2005の6.4.31参照)を実装する。 

ベジエ(Bezier)曲線は,内挿を目的とするベジエ多項式又はベルンシュタイン多項式を用いた多項式

スプラインとする。これは,二つのノットをもつBスプラインの特殊なケースとする。 

gml:degreeは,このスプラインの内挿に用いる多項式の次数でなければならない。 

gml:knotは,スプラインの基底関数を決定するために用いる別々のノットの並びでなければならない。 

interpolationは,“polynomialSpline”で固定とする。 

isPolynomialは,“true”で固定とする。 


75 

X 7136:2012 (ISO 19136:2007) 

 

 

knotTypeは,ベジエ曲線分とは異なる。 

10.4.7.17 OffsetCurveType及びOffsetCurve 
<complexType name="OffsetCurveType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<sequence> 

<element name="offsetBase" type="gml:CurvePropertyType"/> 
<element name="distance" type="gml:LengthType"/> 
<element name="refDirection" type="gml:VectorType" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="OffsetCurve" type="gml:OffsetCurveType" substitutionGroup="gml:AbstractCurveSegment"/> 

変位曲線(offset curve)は,基となる曲線から一定の距離をもつ曲線とする。 

gml:OffsetCurve要素は,JIS X 7107のGM̲OffsetCurve(D.2.3.4及びJIS X 7107:2005の6.4.23参照)を

実装する。 

gml:offsetBase要素は,変位曲線としてこの曲線を定義するための,基となる曲線とする。gml:distance

要素及びgml:refDirectionは,JIS X 7107:2005の6.4.23の規定と同じ意味とする。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.18 AffinePlacementType及びAffinePlacement 

<complexType name="AffinePlacementType"> 

<sequence> 

<element name="location" type="gml:DirectPositionType"/> 

<element name="refDirection" type="gml:VectorType" maxOccurs="unbounded"/> 
<element name="inDimension" type="positiveInteger"/> 
<element name="outDimension" type="positiveInteger"/> 

</sequence> 

</complexType> 

 

<element name="AffinePlacement" type="gml:AffinePlacementType" 
substitutionGroup="gml:AbstractObject"/> 

gml:AffinPlacement要素は,JIS X 7107のGM̲AffinePlacement(D.2.3.4並びにJIS X 7107:2005の6.4.21

及び6.4.20.1参照)を実装する。gml:location要素,gml:refDirection要素,gml:inDimension要素及び

gml:outDimension要素は,JIS X 7107:2005の6.4.21の規定と同じ意味とする。 

10.4.7.19 ClothoidType及びClothoid 

<complexType name="ClothoidType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<sequence> 

<element name="refLocation"> 

<complexType> 

<sequence> 

<element ref="gml:AffinePlacement"/> 


76 

X 7136:2012 (ISO 19136:2007)  

 

 

</sequence> 

</complexType> 

</element> 
<element name="scaleFactor" type="decimal"/> 
<element name="startParameter" type="double"/> 
<element name="endParameter" type="double"/> 

</sequence> 
<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="clothoid"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="Clothoid" type="gml:ClothoidType" substitutionGroup="gml:AbstractCurveSegment"/> 

クロソイド(clothoid)又はコルニュのらせんは,曲率が,曲線の長さに対して固定関数となる平面曲線

とする。 

gml:Clothoid要素は,JIS X 7107のGM̲Clothoid(D.2.3.4及びJIS X 7107:2005の6.4.22参照)を実装す

る。gml:refLocation要素,gml:startParameter要素,gml:endParameter要素及びgml:scaleFactor要素は,JIS X 

7107:2005の6.4.22の規定と同じ意味とする。 

interpolation属性は,“clothoid”で固定とする。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.20 GeodesicStringType及びGeodesicString 

<complexType name="GeodesicStringType"> 

<complexContent> 

<extension base="gml:AbstractCurveSegmentType"> 

<choice> 

<element ref="gml:posList"/> 
<group ref="gml:geometricPositionGroup" minOccurs="2" maxOccurs="unbounded"/> 

</choice> 
<attribute name="interpolation" type="gml:CurveInterpolationType" fixed="geodesic"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="GeodesicString" type="gml:GeodesicStringType" 
substitutionGroup="gml:AbstractCurveSegment"/> 

gml:GeodesicString要素は,測地線分の列である,JIS X 7107のGM̲GeodesicString(D.2.3.4及びJIS X 

7107:2005の6.4.12参照)を実装する。 

制御点の数は,最低2点なければならない。 

interpolation属性は,“geodesic”で固定とする。 

その内容モデルは,曲線分の符号化の一般的なパターンに従う(10.4.7参照)。 

10.4.7.21  GeodesicType及びGeodesic 

<complexType name="GeodesicType"> 

<complexContent> 

<extension base="gml:GeodesicStringType"/> 

</complexContent> 


77 

X 7136:2012 (ISO 19136:2007) 

 

 

</complexType> 
 
<element name="Geodesic" type="gml:GeodesicType" substitutionGroup="gml:GeodesicString"/> 

gml:Geodesic要素は,JIS X 7107のGM̲Geodesic(D.2.3.4及びJIS X 7107:2005の6.4.13参照)を実装す

る。 

10.5 幾何プリミティブ(二次元) 

10.5.1 AbstractSurfaceType及びAbstractSurface 

<complexType name="AbstractSurfaceType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGeometricPrimitiveType"/> 

</complexContent> 

</complexType> 

 

<element name="AbstractSurface" type="gml:AbstractSurfaceType" abstract="true" 
substitutionGroup="gml:AbstractGeometricPrimitive" /> 

gml:AbstractSurfaceTypeは,様々な,異なる水準の複雑性をもつ曲面をサポートする,曲面の抽象概念

とする。 

曲面は常に,連続な平面の領域とする。 

gml:AbstractSurface要素は,全ての(連続な)曲面要素のための代替グループの抽象代表とする。 

10.5.2 SurfacePropertyType及びsurfaceProperty 

<complexType name="SurfacePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractSurface"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 
 
<element name="surfaceProperty" type="gml:SurfacePropertyType" /> 

値の定義域として曲面をもつプロパティは,その型の要素内に格納される適切な幾何要素であっても,

遠隔幾何要素(この遠隔には,同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であって

もよい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定し

なかったりしてはならない。 

このプロパティ要素は,曲面をXLink属性を通じて参照することも,曲面要素を含むこともある。

surfacePropertyは,GML地物がgml:AbstractSurfaceで代替可能な値をもつプロパティをもつようなGML

応用スキーマで使用できる既定義のプロパティとする。 

10.5.3 SurfaceArrayPropertyType及びsurfaceArrayProperty 

<complexType name="SurfaceArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractSurface" /> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:SurfaceArrayPropertyTypeは,曲面の配列のためのコンテナとする。 


78 

X 7136:2012 (ISO 19136:2007)  

 

 

要素は,常に配列のプロパティに含まれており,XLinkを通して幾何要素又は幾何要素の配列を参照で

きない。 

<element name="surfaceArrayProperty" type="gml:SurfaceArrayPropertyType" /> 

このプロパティ要素は,曲面要素のリストを含む。surfaceArrayPropertyは,GML地物が抽象曲面のリス

トに代替可能な値をもつプロパティをもつときは常に,GML応用スキーマが用いることができる,既定義

のプロパティである。 

10.5.4 PolygonType及びPolygon 

<complexType name="PolygonType"> 

<complexContent> 

<extension base="gml:AbstractSurfaceType"> 

<sequence> 

<element ref="gml:exterior" minOccurs="0" /> 
<element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Polygon" type="gml:PolygonType" substitutionGroup="gml:AbstractSurface"/> 

gml:Polygonは,一つの曲面分によって定義する特別な曲面とする(D.3.6参照)。この曲面分の境界は,

同一平面上にあり,ポリゴンはその内部に平面内挿法を使用する。 

注記 JIS X 7107のGM̲Polygonは,gml:PolygonPatchによって実装される。 

要素gml:exterior及びgml:interiorは,ポリゴンの曲面の境界を記述し,次で示される。 

10.5.5 exterior及びinterior 

<element name="exterior" type="gml:AbstractRingPropertyType"/> 

曲面の境界は,複数の輪からなる。二次元の場合は通常,これらの輪のうちの一つは外部境界(exterior)

として識別される。一般的な多様体では,これは必ずしも可能だとは限らない。その場合には,全ての境

界は内部境界(interior)として示さなければならず,外部は空となる。 

<element name="interior" type="gml:AbstractRingPropertyType"/> 

曲面の境界は,複数の輪からなる。“interior”輪は,輪によって囲まれた領域から曲面及び曲面分を分離

する。 

10.5.6 AbstractRingType及びAbstractRing 

<complexType name="AbstractRingType" abstract="true"> 

<sequence/> 

</complexType> 

 

<element name="AbstractRing" type="gml:AbstractRingType" abstract="true" 
substitutionGroup="gml:AbstractObject"/> 

gml:AbstractRingTypeは,異なる複雑さの曲面境界をサポートする輪(ring)の抽象概念とする。 

gml:AbstractRing要素は,曲面分の全ての閉じた境界のための代替グループの抽象代表とする。 

10.5.7 AbstractRingPropertyType 

<complexType name="AbstractRingPropertyType"> 

<sequence> 


79 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:AbstractRing"/> 

</sequence> 

</complexType> 

gml:AbstractRingPropertyTypeの内容モデルをもつプロパティは,曲面の曲面境界プロパティを表すため

に輪をカプセル化する。 

10.5.8 LinearRingType及びLinearRing 

<complexType name="LinearRingType"> 

<complexContent> 

<extension base="gml:AbstractRingType"> 

<sequence> 

<choice> 

<choice minOccurs="4" maxOccurs="unbounded"> 

<element ref="gml:pos"/> 
<element ref="gml:pointProperty"/> 

<element ref="gml:pointRep"/> 

</choice> 
<element ref="gml:posList" /> 

<element ref="gml:coordinates" /> 

</choice> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="LinearRing" type="gml:LinearRingType" substitutionGroup="gml:AbstractRing"/> 

gml:LinearRingは,4点以上の座標及びそれらの間の線形内挿によって定義する。最初の座標及び最後の

座標は,一致しなければならない。 

制御点の符号化は,10.1.4.4に記載されたパターンに従う。リスト中の直接の位置の数は,最低4でなけ

ればならない。 

10.5.9 LinearRingPropertyType 

<complexType name="LinearRingPropertyType"> 

<sequence> 

<element ref="gml:LinearRing"/> 

</sequence> 

</complexType> 

gml:LinearRingPropertyTypeの内容モデルをもつプロパティは,曲面の境界の構成要素を表すために点間

を線形内挿する輪をカプセル化する。 

10.5.10 SurfaceType及びSurface 

<complexType name="SurfaceType"> 

<complexContent> 

<extension base="gml:AbstractSurfaceType"> 

<sequence> 

<element ref="gml:patches"/> 

</sequence> 

</extension> 

</complexContent> 


80 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexType> 
 
<element name="Surface" type="gml:SurfaceType" substitutionGroup="gml:AbstractSurface"/> 

曲面は二次元プリミティブで,JIS X 7107:2005の6.3.17.1で示されるように一つ以上の曲面分からなる。

曲面分は互いに接続される。 

gml:Surfaceは,JIS X 7107のGM̲Surfaceを実装する(D.2.3.4及びJIS X 7107:2005の6.3.17参照)。 

gml:patchesは,曲面の曲面分をカプセル化する。 

10.5.11 OrientableSurfaceType,OrientableSurface及びbaseSurface 

<complexType name="OrientableSurfaceType"> 

<complexContent> 

<extension base="gml:AbstractSurfaceType"> 

<sequence> 

<element ref="gml:baseSurface"/> 

</sequence> 
<attribute name="orientation" type="gml:SignType" default="+"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="baseSurface" type="gml:SurfacePropertyType"/> 
 
<element name="OrientableSurface" type="gml:OrientableSurfaceType" 
substitutionGroup="gml:AbstractSurface"/> 

gml:OrientableSurfaceは,JIS X 7107のGM̲OrientableSurfaceを実装する(D.2.3.4及びJIS X 7107:2005

の6.3.15参照)。 

gml:OrientableSurfaceは,曲面及び向きで構成される。向きが“+”である場合,gml:OrientableSurfaceは

gml:baseSurfaceと同一とする。向きが“-”である場合,gml:OrientableSurfaceは,gml:OrientableSurfaceの

曲面の表面の向きを逆にした法線をもつgml:AbstractSurfaceへの参照とする。 

gml:baseSurfaceプロパティは,基となる曲面を参照する,又は含む。gml:baseSurfaceプロパティは,XLink

属性を通じて基となる曲面を参照する,又は曲面の要素を含む。 

曲面の要素は,gml:AbstractSurfaceに対応する代替可能な任意の要素である。基となる曲面は,正の向

きとする。 

注記 この定義は,入れ子の構造を許している,つまり,gml:OrientableSurfaceは,その基となる曲面

として別のgml:OrientableSurfaceを用いてもよい。 

10.5.11.1 Ring,RingType及びcurveMember 

<complexType name="RingType"> 

<complexContent> 

<extension base="gml:AbstractRingType"> 

<sequence> 

<element ref="gml:curveMember" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 


81 

X 7136:2012 (ISO 19136:2007) 

 

 

</complexType> 
 
<element name="Ring" type="gml:RingType" substitutionGroup="gml:AbstractRing"/> 
<element name="curveMember" type="gml:CurvePropertyType"/> 

gml:Ringは,JIS X 7107のGM̲Ringを実装する(D.2.3.4及びJIS X 7107:2005の6.3.6参照)。 

輪は,JIS X 7107:2005の6.3.6で示されているように,曲面境界における一つの連結された構成部品を

表すために使用する。 

全てのgml:curveMemberは,一つの曲線,すなわち,gml:AbstractCurveで代替可能なあらゆる要素を参

照する,又は含む。輪との関連では,曲線は曲面の境界を与える。一連の曲線は,輪体中で連続かつ連結

でなければならない。 

指定された場合は,aggregationType属性は“sequence”を値としてもたなければならない。 

注記 この定義は入れ子の構造を許している,つまり,gml:curveMemberは,曲線メンバとして順に

他のgml:CompositeCurvesで構成されるgml:CompositeCurveになることができる。 

10.5.11.2 RingPropertyType 

<complexType name="RingPropertyType"> 

<sequence> 

<element ref="gml:Ring"/> 

</sequence> 

</complexType> 

gml:RingPropertyTypeの内容モデルをもつプロパティは,曲面の境界の構成部品を表すために輪をカプセ

ル化する。 

10.5.11.3 PolyhedralSurface 

<element name="PolyhedralSurface" type="gml:SurfaceType" substitutionGroup="gml:Surface"/> 

gml:PolyhedralSurfaceは,JIS X 7107のGM̲PolyhedralSurfaceを実装する(D.2.3.4及びJIS X 7107:2005

の6.4.35参照)。 

多面体面(polyhedral surface)は,共通な境界曲線に沿って結合したポリゴン面分からなる曲面とする。 

gml:patchesは,多面体面のポリゴン面分をカプセル化する。全ての曲面分は,ポリゴン曲面分でなけれ

ばならない。 

10.5.11.4 TriangulatedSurface 

<element name="TriangulatedSurface" type="gml:SurfaceType" substitutionGroup="gml:Surface"/> 

gml:TriangulatedSurfaceは,JIS X 7107のGM̲TriangulatedSurfaceを実装する(D.2.3.4及びJIS X 7107:2005

の6.4.37参照)。 

三角網曲面(triangulated surface)は,複数の三角形だけで構成する多面体面とする。その三角網曲面の

生成方法に制限はない。 

gml:patchesは,三角網曲面の三角形をカプセル化する。全ての曲面分は,三角形曲面分でなければなら

ない。 

10.5.11.5 TinType及びTin 

<complexType name="TinType"> 

<complexContent> 

<extension base="gml:SurfaceType"> 

<sequence> 

<element name="stopLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" 


82 

X 7136:2012 (ISO 19136:2007)  

 

 

maxOccurs="unbounded"/> 

<element name="breakLines" type="gml:LineStringSegmentArrayPropertyType" minOccurs="0" 

maxOccurs="unbounded"/> 

<element name="maxLength" type="gml:LengthType"/> 
<element name="controlPoint"> 

<complexType> 

<choice> 

<element ref="gml:posList"/> 
<group ref="gml:geometricPositionGroup" minOccurs="3" maxOccurs="unbounded"/> 

</choice> 

</complexType> 

</element> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="Tin" type="gml:TinType" substitutionGroup="gml:TriangulatedSurface"/> 

gml:Tinは,JIS X 7107のGM̲Tinを実装する(D.2.3.4及びJIS X 7107:2005の6.4.39参照)。 

不規則三角網(Tin)は,ドローネ・アルゴリズム又はこれに抑止線(gml:stopLines),傾斜変換線

(gml:breakLines)及び三角形の最大辺長(gml:maxLength)に対する制限を補った,同一のアルゴリズム

を使用する三角形網曲面とする。gml:controlPointには,この不規則三角網の点(不規則三角網を構成する

三角形の頂点)として用いる位置の集合(3点以上)を含まなければならない。詳細は,JIS X 7107:2005

の6.4.39を参照。 

10.5.11.6 LineStringSegmentArrayPropertyType 

<complexType name="LineStringSegmentArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:LineStringSegment" /> 

</sequence> 

</complexType> 

 

gml:LineStringSegmentArrayPropertyTypeは,線の列のためのコンテナを与える。 

10.5.12 Surface patches 

10.5.12.1 AbstractSurfacePatchType及びgml:AbstractSurfacePatch 

<complexType name="AbstractSurfacePatchType" abstract="true"/> 

 

<element name="AbstractSurfacePatch" type="gml:AbstractSurfacePatchType" abstract="true"/> 

曲面分(surface patch)は,曲面の共通の性質をもった部分を定義する。 

gml:AbstractSurfacePatchは,JIS X 7107のGM̲SurfacePatchを実装する(D.2.3.4及びJIS X 7107:2005の

6.4.34参照)。 

gml:AbstractSurfacePatch要素は,曲面の連続な部分を表現する全ての曲面分要素のための代替グループ

の抽象代表とする。 

全ての曲面分は,gml:SurfaceInterpolationType(10.5.12.3参照)を用いてその曲面分に使用する内挿法を

指定するinterpolation属性(gml:AbstractSurfacePatchTypeから派生した型で宣言する。)をもたなければな


83 

X 7136:2012 (ISO 19136:2007) 

 

 

らない。 

10.5.12.2 SurfacePatchArrayPropertyType及びpatches 

<complexType name="SurfacePatchArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractSurfacePatch" /> 

</sequence> 

</complexType> 

gml:SurfacePatchArrayPropertyTypeは,曲面分の列のためのコンテナとする。 

<element name="patches" type="gml:SurfacePatchArrayPropertyType"/> 

gml:patchesプロパティ要素は,曲面分の列を含む。要素の順序には意味があり,配列を処理するときに

は順序を保たなければならない。 

10.5.12.3 SurfaceInterpolationType 

<simpleType name="SurfaceInterpolationType"> 

<restriction base="string"> 

<enumeration value="none"/> 
<enumeration value="planar"/> 
<enumeration value="spherical"/> 
<enumeration value="elliptical"/> 
<enumeration value="conic"/> 
<enumeration value="tin"/> 
<enumeration value="parametricCurve"/> 
<enumeration value="polynomialSpline"/> 
<enumeration value="rationalSpline"/> 
<enumeration value="triangulatedSpline"/> 

</restriction> 

</simpleType> 

gml:SurfaceInterpolationTypeは,応用スキーマが指定する内挿法を識別するために使用できる符号リスト

とする。 

この型は,JIS X 7107のGM̲SurfaceInterpolationを実装する(D.2.3.4及びJIS X 7107:2005の6.4.32参照)。 

10.5.12.4 PolygonPatchType及びPolygonPatch 

<complexType name="PolygonPatchType"> 

<complexContent> 

<extension base="gml:AbstractSurfacePatchType"> 

<sequence> 

<element ref="gml:exterior" minOccurs="0"/> 
<element ref="gml:interior" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 
<attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="PolygonPatch" type="gml:PolygonPatchType" 
substitutionGroup="gml:AbstractSurfacePatch"/> 

gml:PolygonPatchは,JIS X 7107のGM̲Polygonを実装する(D.2.3.4及びJIS X 7107:2005の6.4.36参照)。 


84 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:PolygonPatchは,境界曲線の集合で定義した曲面分で,それらの曲線に接する基本的な曲面とする。

曲線は,同一平面上になければならず,ポリゴンは,その内部に平面内挿法を使用する。 

interpolationは,“planar”で固定である。すなわち,内挿法は,単一の平面上の点を返さなければならな

い。面分の境界は,その平面に含まれていなければならない。 

10.5.12.5 TriangleType及びTriangle 

<complexType name="TriangleType"> 

<complexContent> 

<extension base="gml:AbstractSurfacePatchType"> 

<sequence> 

<element ref="gml:exterior"/> 

</sequence> 
<attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="Triangle" type="gml:TriangleType" substitutionGroup="gml:AbstractSurfacePatch"/> 

gml:Triangleは,線形の輪でできる外部境界をもつ曲面分としての三角形を表現する。これは,内部の境

界をもたないポリゴン(下位型)だということに留意する。線形輪中の点の数は,4でなければならない。 

輪(gml:exterior要素)は,gml:LinearRingであり,また,三角形を形成しなければならず,その始点と

最終点とは一致しなければならない。 

interpolationは,“planar”に固定される。すなわち,内挿法は,単一の平面上の点を返さなければならな

い。面分の境界は,その平面に含まれていなければならない。 

10.5.12.6 RectangleType及びRectangle 

<complexType name="RectangleType"> 

<complexContent> 

<extension base="gml:AbstractSurfacePatchType"> 

<sequence> 

<element ref="gml:exterior"/> 

</sequence> 
<attribute name="interpolation" type="gml:SurfaceInterpolationType" fixed="planar"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="Rectangle" type="gml:RectangleType" substitutionGroup="gml:AbstractSurfacePatch"/> 

gml:Rectangleは,線形の輪からなる外部境界をもつ曲面分としての四角形を表現する。これは,内部境

界をもたないポリゴン(下位型)だということに留意する。線形の輪の中の点の数は,5でなければなら

ない。 

注記 四角形は,概念的にポリゴンの下位型といえるが,gml:RectangleTypeをgml:PolygonTypeから

制限によって派生させた型として定義することは,XML Schemaに定義されている制限による

構成方法では問題があるので,この場合では避けた。 

輪(gml:exterior要素)は,gml:LinearRingであり,また,四角形を形成しなければならず,その始点と

最終点とは一致しなければならない。 


85 

X 7136:2012 (ISO 19136:2007) 

 

 

interpolation は,“planar”に固定される。すなわち,内挿法は,単一の平面上の点を返さなければなら

ない。面分の境界は,その平面に含まれていなければならない。 

10.5.12.7 PointGrid 

<group name="PointGrid"> 

<sequence> 

<element name="rows"> 

<complexType> 

<sequence> 

<element name="Row" maxOccurs="unbounded"> 

<complexType> 

<group ref="gml:geometricPositionListGroup"/> 

</complexType> 

</element> 

</sequence> 

</complexType> 

</element> 

</sequence> 

</group> 

gml:PointGridは,JIS X 7107のGM̲PointGridを実装する(D.2.3.4及びJIS X 7107:2005の6.4.6参照)。 

gml:PointGridグループは,列又はグリッドを構成する点又は位置を,含むか又は参照する。全ての

gml:rowsは,同じ数の位置(列)をもたなければならない。 

10.5.12.8 AbstractParametricCurveSurfaceType及びAbstractParametricCurveSurface 

<complexType name="AbstractParametricCurveSurfaceType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractSurfacePatchType"> 

<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="AbstractParametricCurveSurface" type="gml:AbstractParametricCurveSurfaceType" 
abstract="true" substitutionGroup="gml:AbstractSurfacePatch"/> 

gml:AbstractParametricCurveSurfaceは,JIS X 7107のGM̲ParametricCurveSurfaceを実装する(D.2.3.4及

びJIS X 7107:2005の6.4.40参照)。 

この要素は,パラメタ曲線(parametric curve)に基づく曲面分のための代替グループの代表を指定する。 

全てのプロパティは,派生する下位型で指定する。派生する下位型は,全てJIS X 7107:2005の6.4.40

に示す制約に従わなければならない。 

この要素を指定する場合は,aggregationType属性は“set”を値としてもたなければならない。 

10.5.12.9 AbstractGriddedSurfaceType及びAbstractGriddedSurface 

<complexType name="AbstractGriddedSurfaceType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractParametricCurveSurfaceType"> 

<sequence> 

<group ref="gml:PointGrid"/> 

</sequence> 


86 

X 7136:2012 (ISO 19136:2007)  

 

 

<attribute name="rows" type="integer"/> 
<attribute name="columns" type="integer"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="AbstractGriddedSurface" type="gml:AbstractGriddedSurfaceType" abstract="true" 
substitutionGroup="gml:AbstractParametricCurveSurface"/> 

gml:AbstractGriddedSurfaceは,JIS X 7107のGM̲GriddedSurfaceを実装する(D.2.3.4及びJIS X 7107:2005

の6.4.41参照)。この要素を指定する場合は,パラメタグリッド(grid)のrows属性に行数,column属性

に列数を与える。パラメタグリッドは,gml:PointGridグループのインスタンスによって表現する。 

この要素は,グリッドに基づく曲面分のための代替グループの代表を指定する。派生する下位型は,全

てJIS X 7107:2005の6.4.41に示す制約に従わなければならない。 

10.5.12.10 ConeType及びCone 

<complexType name="ConeType"> 

<complexContent> 

<extension base="gml:AbstractGriddedSurfaceType"> 

<attribute name="horizontalCurveType" type="gml:CurveInterpolationType" 

fixed="circularArc3Points"/> 

<attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="Cone" type="gml:ConeType" substitutionGroup="gml:AbstractGriddedSurface"/> 

gml:Coneは,JIS X 7107のGM̲Coneを実装する(D.2.3.4及びJIS X 7107:2005の6.4.42参照)。 

10.5.12.11 CylinderType及びgmlCylinder 

<complexType name="CylinderType"> 

<complexContent> 

<extension base="gml:AbstractGriddedSurfaceType"> 

<attribute name="horizontalCurveType" type="gml:CurveInterpolationType" 

fixed="circularArc3Points"/> 

<attribute name="verticalCurveType" type="gml:CurveInterpolationType" fixed="linear"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Cylinder" type="gml:CylinderType" substitutionGroup="gml:AbstractGriddedSurface"/> 

gml:Cylinderは,JIS X 7107のGM̲Cylinderを実装する(D.2.3.4及びJIS X 7107:2005の6.4.43参照)。 

10.5.12.12 SphereType及びSphere 

<complexType name="SphereType"> 

<complexContent> 

<extension base="gml:AbstractGriddedSurfaceType"> 

<attribute name="horizontalCurveType" type="gml:CurveInterpolationType" 

fixed="circularArc3Points"/> 

<attribe name="verticalCurveType" type="gml:CurveInterpolationType" fixed="circularArc3Points"/> 


87 

X 7136:2012 (ISO 19136:2007) 

 

 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Sphere" type="gml:SphereType" substitutionGroup="gml:AbstractGriddedSurface"/> 

gml:Sphereは,JIS X 7107のGM̲Sphereを実装する(D.2.3.4及びJIS X 7107:2005の6.4.44参照)。 

10.6 幾何プリミティブ(三次元) 

10.6.1 AbstractSolidType及びAbstractSolid 

<complexType name="AbstractSolidType"> 

<complexContent> 

<extension base="gml:AbstractGeometricPrimitiveType"/> 

</complexContent> 

</complexType> 

 

<element name="AbstractSolid" type="gml:AbstractSolidType" abstract="true" 
substitutionGroup="gml:AbstractGeometricPrimitive" /> 

gml:AbstractSolidTypeは,異なる水準の複雑性をもつ立体(solid)をサポートする抽象概念とする。立

体は,常に幾何プリミティブとみなす,つまり,連続でなければならない。 

gml:AbstractSolid要素は,全ての(連続する)立体要素のための代替グループの抽象代表とする。 

10.6.2 SolidPropertyType及びsolidProperty 

<complexType name="SolidPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractSolid"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

値の定義域を立体とするプロパティは,その型の要素内に格納された適切な幾何要素であっても,遠隔

幾何要素(この遠隔には,同一の文書内の別の場所にある幾何要素を含む。)へのXLink参照であっても

よい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定しな

かったりしてはならない。 

<element name="solidProperty" type="gml:SolidPropertyType"/> 

このプロパティ要素は,XLink属性によって立体を参照するか,又は立体の要素を含む。gml:solidProperty

は,GML地物がgml:AbstractSolidに代替可能であるプロパティの値をもつときはいつでも,GML応用ス

キーマで使うことができる,既定義のプロパティである。 

10.6.3 SolidArrayPropertyType及びsolidArrayProperty 

<complexType name="SolidArrayPropertyType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractSolid" /> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:SolidArrayPropertyTypeは,立体の配列のためのコンテナとする。要素は,配列のプロパティに常に

含まれ,幾何要素又は幾何要素の配列を参照できない。 


88 

X 7136:2012 (ISO 19136:2007)  

 

 

<element name="solidArrayProperty" type="gml:SolidArrayPropertyType"/> 

このプロパティの要素は,立体の要素のリストを含む。solidArrayPropertyは,GML地物が

gml:AbstractSolidのリストに代替可能な値をもつプロパティをもつときは常に,GML応用スキーマで使用

してもよい,既定義のプロパティとする。 

10.6.4 SolidType及びSolid 

<complexType name="SolidType"> 

<complexContent> 

<extension base="gml:AbstractSolidType"> 

<sequence> 

<elementname="exterior"type="gml:ShellPropertyType"minOccurs="0"/> 
<elementname="interior" type="gml:ShellPropertyType" minOccurs="0" 

maxOccurs="unbounded"/> 
</sequence> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="Solid" type="gml:SolidType" substitutionGroup="gml:AbstractSolid" /> 

gml:Solidは,JIS X 7107のGM̲Solidを実装する(D.2.3.3及びJIS X 7107:2005の6.3.18参照)。 

立体は,三次元幾何の基礎である。立体の範囲は,JIS X 7107:2005の6.3.18で示されるような境界曲面

で定義する。gml:exteriorは外部の境界を示し,gml:interiorは立体の内部の境界とする。 

10.6.5 ShellType及びShell 

<complexType name="ShellType"> 

<sequence> 

<element ref="gml:surfaceMember" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</complexType> 
 
<elementname="Shell" type="gml:ShellType" substitutionGroup="gml:AbstractObject"/> 
 
<element name="surfaceMember" type="gml:SurfacePropertyType"/> 

gml:Shellは,JIS X 7107のGM̲Shellを実装する(D.2.3.3及びJIS X 7107:2005の6.3.8参照)。 

殻(shell)は,JIS X 7107:2005の6.3.8で示されているように,立体の境界を示す,単一の連結された

構成部品を表すために使用する。 

全てのgml:surfaceMemberは,一つの曲面,すなわち,gml:AbstractSurfaceに代替可能なあらゆる要素を

参照する又は含む。殻との関係では,曲面は立体の境界を示す。 

この要素を指定する場合は,aggregationType属性は,“set”を値としてもたなければならない。 

注記 この定義は,入れ子の構造を許す,つまり,gml:surfaceMemberは,曲面のメンバとして順に他

のgml:CompositeSurfacesから構成されるgml:CompositeSurfaceになることができる。 

10.6.6 ShellPropertyType 

<complexType name="ShellPropertyType"> 

<sequence> 

<element ref="gml:Shell"/> 


89 

X 7136:2012 (ISO 19136:2007) 

 

 

</sequence> 

</complexType> 

gml:ShellPropertyTypeの内容モデルをもつプロパティは,立体の境界の構成部品を表すために,殻をカ

プセル化する。 

 

11 GMLスキーマ−幾何複体,幾何合成及び幾何集成 

11.1 概要 

この11.1は,幾何複体及び幾何集成のための幾何スキーマ構成部品について規定する。 

注記 幾何スキーマ文書であるgeometryAggregates.xsd及びgeometryComplexes.xsd(附属書C参照)

は,次の位置独立名(URN構文による。)で識別する。 

urn:x-ogc:specification:gml:schema-xsd:geometryAggregates:3.2.1 

urn:x-ogc:specification:gml:schema-xsd:geometryComplexes:3.2.1 

幾何集成(言い換えれば,gml:AbstractGeometricAggregateTypeの下位型のインスタンス)は,任意の幾

何要素の集成とする。これは,いかなる追加的な内部構造ももたず,規定した型をもつ幾何要素の“集ま

り”に使用する。応用スキーマが地物の表現を複数の幾何オブジェクトを使って行うときに,この集成を

使うことができる。 

幾何複体(言い換えれば,gml:GeometricComplexTypeのインスタンス)は,幾何プリミティブの閉じた

集まりであり,その境界を含む。 

幾何複体(gml:GeometricComplex)は,JIS X 7107:2005の6.6.1において“共通の座標系で規定されたプ

リミティブな幾何オブジェクトの集合であって,各幾何オブジェクトの内部(interior)間には共通部分が

ない。ただし,あるプリミティブAが幾何複体に含まれる場合,一つ以上のプリミティブBiが存在し,A

の境界点とBiの境界点との共通集合が,常にAの境界要素であり,Biの境界要素でもあるという条件も

満たさなければならない。直感的にいえば,幾つかの単体を面で貼り合わせて得られる図形のことである。”

と定義している。 

注記 幾何複体(gml:GeometricComplex)の定義については,JIS X 7107:2005の6.6.1の文章を変更し

ている。 

幾何合成(gml:CompositeCurve,gml:CompositeSurface及びgml:CompositeSolid)は,基本幾何形状がプ

リミティブと同型となる幾何複体を表現する。つまり,これは,プリミティブとして,及び複体としてみ

ることができる。幾何合成のより詳細な性質については,JIS X 7107:2005の6.1及び6.6.3を参照。 

 

幾何複体及び幾何合成は幾何要素の共用を重視する場合に,応用スキーマで使用することを意図してい

る。 

11.2 幾何複体及び幾何合成 

11.2.1 幾何複体 

11.2.1.1 GeometricComplexType及びGeometricComplex 

<complexType name="GeometricComplexType"> 

<complexContent> 

<extension base="gml:AbstractGeometryType"> 

<sequence> 

<element name="element" type="gml:GeometricPrimitivePropertyType" maxOccurs="unbounded" 

/> 


90 

X 7136:2012 (ISO 19136:2007)  

 

 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="GeometricComplex" type="gml:GeometricComplexType" 
substitutionGroup="gml:AbstractGeometry" /> 

gml:GeometricComplexは,D.2.3.6に示し,JIS X 7107のGM̲Complex(JIS X 7107:2005の6.6.2及び6.6.1

参照)を実装する。 

gml:elementは,一つの幾何プリミティブ(これは,幾何合成を含む。)を,要素内に含むか又は参照す

る。 

11.2.1.2 GeometricComplexPropertyType 

<complexType name="GeometricComplexPropertyType"> 

<sequence minOccurs="0"> 

<choice> 

<element ref="gml:GeometricComplex"/> 
<element ref="gml:CompositeCurve"/> 
<element ref="gml:CompositeSurface"/> 
<element ref="gml:CompositeSolid"/> 

</choice> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

値の定義域を幾何複体(geometric complex)とするプロパティは,その型の要素内に格納する適当な幾

何要素であっても,遠隔幾何要素(この遠隔には,同一の文書内のどこかにある幾何要素を含む。)への

XLink参照であってもよい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定し

たりいずれも指定しなかったりしてはならない。 

注記 このようなプロパティ(又はその参照)の中に含むことを許される幾何要素は,合成は(概念

的には),幾何複体及び幾何プリミティブの両者を継承するため,XML Schemaの選択要素でモ

デル化し,常にgml:AbstractGeometricPrimitive代替グループの一部となる。 

11.2.2 合成幾何要素 

11.2.2.1 GMLにおける合成の一般的な表現 

幾何合成(geometric composite)のメンバは,その和集合がその合成体の基本幾何形状となるような,同

一種類の幾何プリミティブの集まりで表現しなければならない。複体は,全ての要素プリミティブを含む

とともに,gml:Pointsが含まれるようになるまで,これらのプリミティブの境界上の全てのプリミティブ

を含む。したがって,gml:CompositeCurve,gml:CompositeSurface及びgml:CompositeSolidが含むmember

プロパティは,gml:GeometricComplexのgml:elementプロパティの部分集合を表現する。 

XML Schemaは,(開いたプリミティブ及び閉じた複体となる)幾何合成の二重性を示すためにJIS X 

7107が使用している多重継承の概念を使用できないため,GMLスキーマ文書の中では,幾何合成は

gml:AbstractGeometricPrimitiveTypeだけの派生となっている。しかし,プロパティ型である

gml:GeometricComplexPropertyTypeの中にある<choice>要素を使用することによって,幾何合成は,その値


91 

X 7136:2012 (ISO 19136:2007) 

 

 

としてgml:GeometricComplexとみなせる任意のプロパティの中で使用することができる。 

11.2.2.2 CompositeCurveType及びCompositeCurve 

<complexType name="CompositeCurveType"> 

<complexContent> 

<extension base="gml:AbstractCurveType"> 

<sequence> 

<element ref="gml:curveMember" maxOccurs="unbounded" /> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="CompositeCurve" type="gml:CompositeCurveType" substitutionGroup="gml:AbstractCurve" 
/> 

gml:CompositeCurveは,D.2.3.6に示し,これは,JIS X 7107のGM̲CompositeCurve(JIS X 7107:2005の

6.6.5参照)を実装する。 

gml:CompositeCurveは,(有向)曲線の列で表現し,それぞれの曲線は,一連の曲線の中で次に続く曲線

の始点で終了する。 

gml:curveMemberは,合成曲線が直接含む一つの曲線又は曲線への参照とする。 

曲線は連続であり,曲線の集まりは順序付けされる。したがって,これを使用するときは,aggregationType

属性の値は“sequence”とする。 

注記 この定義は,入れ子の構造,つまり,gml:CompositeCurveが,例えば,別のgml:CompositeCurve

を曲線の要素として使用することを許す。 

11.2.2.3 CompositeSurfaceType及びCompositeSurface 

<complexType name="CompositeSurfaceType"> 

<complexContent> 

<extension base="gml:AbstractSurfaceType"> 

<sequence> 

<element ref="gml:surfaceMember" maxOccurs="unbounded" /> 

 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="CompositeSurface" type="gml:CompositeSurfaceType" 
substitutionGroup="gml:AbstractSurface" /> 

gml:CompositeSurfaceは,D.2.3.6に示し,JIS X 7107のGM̲CompositeSurface(JIS X 7107:2005の6.6.6

参照)を実装する。 

gml:CompositeSurfaceは,有向曲面の集合によって表現する。これは,幾何プロパティが全て(プリミテ

ィブな)曲面になる幾何要素型とする。基本的には,合成曲面(composite surface)は,共通の境界曲線で

対をなす曲面が互いに結び付き,全体として見たとき,一つの曲面を形成する曲面の集合である。 


92 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:surfaceMemberは,合成曲面が直接含む一つの曲面又は曲面への参照とする。曲面は,連続とする。 

注記 この定義は,入れ子の構造,つまり,gml:CompositeSurefaceが,例えば,別のgml:CompositeSurface

を曲面の要素として使用することを許す。 

11.2.2.4 CompositeSolidType及びCompositeSolid 

<complexType name="CompositeSolidType"> 

<complexContent> 

<extension base="gml:AbstractSolidType"> 

<sequence> 

<element ref="gml:solidMember" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="CompositeSolid" type="gml:CompositeSolidType" substitutionGroup="gml:AbstractSolid"/> 

gml:CompositeSolidは,D.2.3.6に示すJIS X 7107のGM̲CompositeSolid(JIS X 7107:2005の6.6.7参照)

を実装する。 

gml:CompositeSolidは,有向曲面の集合で表現する。これは,幾何プロパティが全て(プリミティブな)

立体になる幾何要素型とする。基本的には,合成立体(composite solod)は,共通の境界曲面で対をなす

立体が互いに結び付き,全体として見たとき,一つの立体を形成する立体の集合とする。 

gml:solidMemberは,合成立体中の一つの立体を含むか又は参照する。この立体は,連続とする。 

注記 この定義は,入れ子構造を許す。すなわち,gml:CompositeSolidは,例えば,別の

gml:CompositeSolidをメンバとして使用してもよい。 

11.3 

幾何集成 

11.3.1 未指定次元要素の集成 

11.3.1.1 AbstractGeometricAggregateType及びAbstractGeometricAggregate 

<complexType name="AbstractGeometricAggregateType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGeometryType"> 

<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="AbstractGeometricAggregate" type="gml:AbstractGeometricAggregateType" abstract="true" 
substitutionGroup="gml:AbstractGeometry"/> 

gml: AbstractGeometricAggregateは,D.2.3.5に示すJIS X 7107のGM̲Aggregate(JIS X 7107:2005の6.5.2

参照)を実装する。これは,全ての幾何集成(geometric aggregate)の代替グループの抽象代表とする。 

11.3.1.2 MultiGeometryType,MultiGeometry,geometryMember及びgeometryMembers 

<complexType name="MultiGeometryType"> 

<complexContent> 

<extension base="gml:AbstractGeometricAggregateType"> 

<sequence> 


93 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:geometryMember" minOccurs="0" maxOccurs="unbounded" /> 
<element ref="gml:geometryMembers" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="MultiGeometry" type="gml:MultiGeometryType" 
substitutionGroup="gml:AbstractGeometricAggregate"/> 

gml:MultiGeometryは,一つ以上の任意の型をとるGML幾何オブジェクトの集まりとする(D.3.8参照)。 

幾何集成のメンバは,標準プロパティ(gml:geometryMember)又は配列プロパティ(gml:geometryMembers)

によって示せばよい。これは,同じ集まりの中で標準プロパティ及び配列プロパティの両者を使うことも

許す。 

注記 配列プロパティは,XLinkを経由して遠隔幾何要素を参照することはできない。 

<element name="geometryMember" type="gml:GeometryPropertyType"/> 

このプロパティ要素は,幾何要素又はXLink属性を経由して幾何要素を参照する,又は幾何要素を直接

含む。 

<element name="geometryMembers" type="gml:GeometryArrayPropertyType"/> 

このプロパティ要素は,幾何要素のリストを含む。要素の順序は意味をもち,配列を処理するときはそ

れを保たなければならない。 

11.3.1.3 MultiGeometryPropertyType及びmultiGeometryProperty 

<complexType name="MultiGeometryPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractGeometricAggregate"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

値の定義域を幾何集成とするプロパティは,その型の要素内に格納した適当な幾何要素であっても,遠

隔幾何要素(この遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であってもよ

い。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定しなか

ったりしてはならない。 

<element name="multiGeometryProperty" type="gml:MultiGeometryPropertyType"/> 

このプロパティ要素は,幾何要素又はXLink属性を経由する複数の幾何要素への参照を含む。

gml:multiGeometryPropertyは,既定義のプロパティであり,GML地物がgml:AbstractGeometricAggregateに

代替される値をもつプロパティをもつときは,常にGML応用スキーマで使用することができる。 

11.3.2 零次元集成 

11.3.2.1 MultiPointType,MultiPoint,pointMember及びpointMembers 

<complexType name="MultiPointType"> 

<complexContent> 

<extension base="gml:AbstractGeometricAggregateType"> 

<sequence> 

<element ref="gml:pointMember" minOccurs="0" maxOccurs="unbounded"/> 


94 

X 7136:2012 (ISO 19136:2007)  

 

 

<element ref="gml:pointMembers" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="MultiPoint" type="gml:MultiPointType" 
substitutionGroup="gml:AbstractGeometricAggregate"/> 

gml:MultiPointは,D.2.3.5に示すJIS X 7107のGM̲MultiPoint(JIS X 7107:2005の6.5.4参照)を実装す

る。gml:MultiPointは,一つ以上のgml:Pointからなる。 

幾何集成のメンバは,標準プロパティ(gml:pointMember)又は配列プロパティ(gml:pointMembers)に

よって示すことができる。これは,同じ集まりの中で標準プロパティ及び配列プロパティの両者を使うこ

とを許す。 

注記 配列プロパティは,XLinkを経由して遠隔幾何要素を参照することはできない。 

<element name="pointMember" type="gml:PointPropertyType"/> 

このプロパティ要素は,XLink属性を経由して点を参照する,又は点要素を直接含む。 

<element name="pointMembers" type="gml:PointArrayPropertyType"/> 

このプロパティ要素は,点のリストを含む。要素の順序は意味をもち,配列を処理するときはそれを保

たなければならない。 

11.3.2.2 MultiPointPropertyType及びmultiPointProperty 

<complexType name="MultiPointPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:MultiPoint"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

値の定義域を点の集まりとするプロパティは,その型の要素内に格納する適当な幾何要素であっても,

遠隔幾何要素(この遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であっても

よい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定しな

かったりしてはならない。 

<element name="multiPointProperty" type="gml:MultiPointPropertyType" /> 

このプロパティ要素は,幾何要素又はXLink属性を経由する“multi-point”要素への参照を含む。

gml:multiPointPropertyは,定義済みのプロパティであり,GML地物がgml:MultiPointに代替される値をも

つプロパティをもつときは,常にGML応用スキーマで使用することができる。 

11.3.3 一次元集成 

11.3.3.1 MultiCurveType,multiCurve及びcurveMembers 

<complexType name="MultiCurveType"> 

<complexContent> 

<extension base="gml:AbstractGeometricAggregateType"> 

<sequence> 

<element ref="gml:curveMember" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:curveMembers" minOccurs="0"/> 


95 

X 7136:2012 (ISO 19136:2007) 

 

 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="MultiCurve" type="gml:MultiCurveType" 
substitutionGroup="gml:AbstractGeometricAggregate"/> 

gml:MultiCurveは,D.2.3.5に示すJIS X 7107のGM̲MultiCurve(JIS X 7107:2005の6.5.5参照)を実装

する。gml:MultiCurveは,一つ以上のgml:AbstractCurveからなる。 

幾何集成のメンバは,標準プロパティ(gml:curveMember)又は配列プロパティ(gml:curveMembers)に

よって示せばよい。これは,同じ集まりの中で標準プロパティ及び配列プロパティの両者を使うことも許

す。 

注記1 配列プロパティは,xlinkを経由して遠隔幾何要素を参照することはできない。 

<element name="curveMembers" type="gml:CurveArrayPropertyType"/> 

このプロパティ要素は,曲線のリストを含む。要素の順序は意味をもち,配列を処理するときはそれを

保たなければならない。 

注記2 gml:curveMemberは,10.5.11.1に示す。 

11.3.3.2 MultiCurvePropertyType及びmultiCurveProperty 

<complexType name="MultiCurvePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:MultiCurve"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

値の定義域を曲線の集まりとするプロパティは,その型の要素内に格納する適当な幾何要素であっても,

遠隔幾何要素(この遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であっても

よい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定しな

かったりしてはならない。 

<element name="multiCurveProperty" type="gml:MultiCurvePropertyType"/> 

このプロパティ要素は,幾何要素又はxlink属性を経由する“multi-curve”要素への参照を含む。

gml:multiCurvePropertyは,定義済みのプロパティであり,GML地物がgml:MultiCurveに代替される値を

もつプロパティをもつときは,いつでもGML応用スキーマで使用することができる。 

11.3.4 二次元集成 

11.3.4.1 MultiSurfaceType,MultiSurface,surfaceMember及びsurfaceMembers 

<complexType name="MultiSurfaceType"> 

<complexContent> 

<extension base="gml:AbstractGeometricAggregateType"> 

<sequence> 

<element ref="gml:surfaceMember" minOccurs="0" maxOccurs="unbounded" /> 
<element ref="gml:surfaceMembers" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 


96 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexType> 

 

<element name="MultiSurface" type="gml:MultiSurfaceType" 
substitutionGroup="gml:AbstractGeometricAggregate"/> 

gml:MultiSurfaceは,D.2.3.5に示すJIS X 7107のGM̲MultiSurface(JIS X 7107:2005の6.5.6参照)を実

装する。gml:MultiSurfaceは,一つ以上のgml:AbstractSurfacesからなる。 

幾何集成のメンバは,標準プロパティ(gml:surfaceMember)又は配列プロパティ(gml:surfaceMembers)

によって示せばよい。これは,同じ集まりの中で標準プロパティ及び配列プロパティの両者を使うことも

許す。 

注記 配列プロパティは,XLinkを経由して遠隔幾何要素を参照することはできない。 

<element name="surfaceMember" type="gml:SurfacePropertyType"/> 

このプロパティ要素は,XLink属性を経由して曲面を参照する,又は曲面要素を直接含む。曲面要素は,

gml:AbstractSurfaceに代替可能な任意の要素とする。 

<element name="surfaceMembers" type="gml:SurfaceArrayPropertyType"/> 

このプロパティ要素は,曲面のリストを含む。要素の順序は意味をもち,配列を処理するときはそれを

保たなければならない。 

11.3.4.2 MultiSurfacePropertyType及びmultiSurfaceProperty 

<complexType name="MultiSurfacePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:MultiSurface"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

値の定義域を曲面の集まりとするプロパティは,その型の要素内に格納された適切な幾何要素であって

も,遠隔幾何要素(この遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であっ

てもよい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定

しなかったりしてはならない。 

<element name="multiSurfaceProperty" type="gml:MultiSurfacePropertyType"/> 

このプロパティ要素は,幾何要素又はXLink属性を経由する“multi-surface”要素への参照を含む。

gml:multiSurfacePropertyは,既定義のプロパティであり,GML地物がgml:MultiSurfaceに代替される値を

もつプロパティをもつときは,いつでもGML応用スキーマで使用することができる。 

11.3.5 三次元集成 

11.3.5.1 MultiSolidType,MultiSolid,solidMember及びsolidMembers 

<complexType name="MultiSolidType"> 

<complexContent> 

<extension base="gml:AbstractGeometricAggregateType"> 

<sequence> 

<element ref="gml:solidMember" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:solidMembers" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 


97 

X 7136:2012 (ISO 19136:2007) 

 

 

</complexType> 
 
<element name="MultiSolid" type="gml:MultiSolidType" 
substitutionGroup="gml:AbstractGeometricAggregate"/> 

gml:MultiSolidは,D.2.3.5に示すJIS X 7107のGM̲MultiSolid(JIS X 7107:2005の6.5.7参照)を実装す

る。gml:MultiSolidは,一つ以上のgml:AbstractSolidsからなる。 

幾何集成のメンバは,標準プロパティ(gml:solidMember)又は配列プロパティ(gml:solidMembers)に

よって示せばよい。これは,同じ集まりの中で標準プロパティ及び配列プロパティの両者を使うことも許

す。 

注記 配列プロパティは,XLinkを経由して遠隔幾何要素を参照することはできない。 

<element name="solidMember" type="gml:SolidPropertyType"/> 

このプロパティ要素は,XLink属性を経由して立体要素を参照する,又は立体要素を直接含む。立体要

素は,gml:AbstractSolidに代替可能な任意の要素とする。 

<element name="solidMembers" type="gml:SolidArrayPropertyType"/> 

このプロパティ要素は,立体要素のリストを含む。要素の順序は意味をもち,配列を処理するときはそ

れを保たなければならない。 

11.3.5.2 MultiSolidPropertyType及びmultiSolidProperty 

<complexType name="MultiSolidPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:MultiSolid"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

値の定義域を立体の集まりとするプロパティは,その型の要素内に格納する適当な幾何要素であっても,

遠隔幾何要素(この遠隔には同一の文書内のどこかにある幾何要素を含む。)へのXLink参照であっても

よい。参照又は内容となる要素のいずれかを指定しなければならず,両方を指定したりいずれも指定しな

かったりしてはならない。 

<element name="multiSolidProperty" type="gml:MultiSolidPropertyType" /> 

このプロパティ要素は,幾何要素又はXLink属性を経由する“multi-solid”要素への参照を含む。

gml:multiSolidPropertyは,定義済みのプロパティであり,GML地物がgml:MultiSolidで代替する値をもつ

プロパティをもつときは,いつでもGML応用スキーマで使用することができる。 

 

12 GMLスキーマ−座標参照系スキーマ 

12.1 概要 

12.1.1 一般 

箇条12は,座標参照系及び座標操作について,その内容,構造及び依存関係の説明を符号化するための

GMLスキーマ構成部品について記述する。 

12.1.2 ISO 19111との関係 

箇条12に示すGMLスキーマのスキーマ構成部品は,ISO 19111に示す概念スキーマに適合する完全な

実装を提供する。関係の詳細は,D.2.7で説明する。時間参照系のための追加部品については,D.3.9に示

す。 


98 

X 7136:2012 (ISO 19136:2007)  

 

 

GMLで実装するISO 19111の型はISO 19111に示すが,幾つかの追加的な制約がこれらの型に示されて

いるので,GMLスキーマにおいてもスキーマ制約として制約条件を示す。 

注記 対応する5種類のスキーマ文書があり,それはreferenceSystems.xsd,

coordinateReferenceSystems.xsd,datums.xsd,coodinateSystems.xsd及びcoordinateOperations.xsd

とする。これらのスキーマ文書は,概念モデルの中の同様の名前をもつUMLパッケージを実

装している。 

12.1.3 重要なXML要素 

ここで示すXML Schema構成部品は,座標参照系(CRS)及び(座標変換及び換算を含む)座標操作の

両方のための定義データを符号化する。この定義データは,必要に応じて識別子及び仕様データの両者を

含む。スキーマ構成部品の意味規則については,ISO 19111を参照。 

ここで示すXML符号化法は,必要に応じて代替的に使う複数の最上位のXML要素を含む(全てのXML

文書の基礎になる単一の最上位の要素は存在しない。)。最上位のXML要素のほとんどは,参照を可能に

する識別情報を含むGMLオブジェクトである。最上位の代替要素は,次のとおりとする。 

− 抽象XML要素であるSingleCRSで代表する代替グループ中の,全ての具象的なXML要素。これらの

要素は,その型が示す一つの座標参照系の定義を変換するために使用できる。それらは,次の8種類

の具象XML要素とする。 

− CompoundCRS 

− GeodeticCRS 

− ProjectedCRS 

− EngineeringCRS 

− ImageCRS 

− VerticalCRS 

− TemporalCRS 

− DerivedCRS 

− 抽象XML要素であるCoordinateOperationの,全ての代替可能な具象XML要素を次に示す。 

− ConcatenatedOperation 

− PassThroughOperation 

− Transformation 

− Conversion 

SingleCRSに代替可能な具象XML要素は,データ構造を含む複数のより低いレベルのXML要素を使用

する。これらのより低いレベルの要素は,次に示す5種類の具象要素であり,抽象XML要素であるDatum

に代替可能とする。 

− GeodeticDatum 

− VerticalDatum 

− TemporalDatum 

− EngineeringDatum 

− ImageDatum 

これらのより低いレベルのXML要素は,次に示す10種類の,抽象XML要素であるCoordinateSystem

に代替可能な具象要素を含む。 

 


99 

X 7136:2012 (ISO 19136:2007) 

 

 

− EllipsoidalCS 

− VerticalCS 

− CartesianCS 

− AffineCS 

− LinearCS 

− PolarCS 

− SphericalCS 

− CylindricalCS 

− TimeCS 

− UserDefinedCS 

CoodinateOperation要素に代替可能な具象XML要素は,複数のより低いレベルの,次に示すデータ構造

を含む要素に代替可能とする。 

− OperationMethod 

− OperationParameter 

− OperationParameterGroup 

− ParameterValue 

− ParameterValueGroup 

12.2 参照系 

12.2.1 概要 

参照系スキーマ構成部品は,二つの論理的な部分をもち,次に示すXMLによる符号化に必要な要素及

び型を定義する。 

− 座標参照系及び座標演算のために用いられるGMLオブジェクトの10種類の型が継承する識別オブジ

ェクト。 

− 座標参照系定義の上層部分 

このスキーマは,ISO 19111に対するUMLモデルの識別オブジェクト及び参照系パッケージを符号化す

る。 

注記 referenceSystemsスキーマは,GMLスキーマ文書dictionary.xsd をインクルードし,ISO/TS 19139

からスキーマ文書metadataEntitySet.xsdをインポートする。このスキーマ文書は,次の位置独立

名(URN構文による。)で識別する。 

 

urn:x-ogc:specification:gml:schema-xsd:referenceSystems:3.2.1 

12.2.2 IdentifiedObjectType 

<complexType name="IdentifiedObjectType" abstract="true"> 

<complexContent> 

<extension base="gml:DefinitionType"/> 

</complexContent> 

</complexType> 

gml:IdentifiedObjectTypeは,CRS関連オブジェクトの識別プロパティを示す。gml:DefinitionTypeにおい

て,gml:identifier要素は,このオブジェクトを識別する,UMLモデルにおける“名前(name)”属性を符

号化する基本的な名前でなければならない。 

 
 


100 

X 7136:2012 (ISO 19136:2007)  

 

 

零以上のgml:name要素は,“識別子(identifier)”の順列をもたない集合となることができ,UMLモデ

ルにおける“識別子”属性を符号化する。これらのgml:name要素で,他の場所でオブジェクトが定義する

情報を参照する,又はこのオブジェクトを参照する識別子となることができる。 

零以上のgml:name要素は,このCRS関連オブジェクトを識別する他の名前“別名”の順列をもたない

集合となることができ,UMLモデルにおける“別名(alias)”属性を符号化する。オブジェクトは幾つか

の別名をもってよく,典型的には異なる状況で用いる。別名を用いる状況は,その(任意選択の)codeSpace

属性の値によって示す。 

gml:identifier及びgml:name要素のcodeSpace属性は,必要な版情報は全て含まなければならない。この

使用法の中では,gml:DefinitionTypeのgml:remarks要素は,データの情報源情報を含む,このオブジェク

トに関するコメント及び情報を含まなければならない。 

12.2.3 抽象座標参照系 

12.2.3.1 AbstractCRS 

<element name="AbstractCRS" type="gml:AbstractCRSType" abstract="true" 
substitutionGroup="gml:Definition"/> 

 

<complexType name="AbstractCRSType" abstract="true"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:domainOfValidity" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:scope" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:AbstractCRSは,通例,単一の座標参照系(CRS)を示すが,複合座標参照系を示してもよい。GML

応用スキーマでは,この文書で示す具象の下位型と同等の意味をもつ具象の下位型を定義するために,こ

の抽象複合型を用いてはならず,拡張又は制限してはならない。 

12.2.3.2 domainOfValidity 

<element name="domainOfValidity"> 

<complexType> 

<sequence minOccurs="0"> 

<element ref="gmd:EX̲Extent"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

</element> 

gml:domainOfValidityプロパティは,ISO/TS 19139で符号化するように,EX̲Extentオブジェクトへの関

連役割を実装し,範囲を参照するか,又は定義を含むかのいずれかとする。 

12.2.3.3 scope 

<element name="scope" type="string"/> 

gml:scopeプロパティは,CRS関連オブジェクトが有効となる使用の記述又は制限を与える。分からない

場合は,“not known”を入力する。 


101 

X 7136:2012 (ISO 19136:2007) 

 

 

12.2.3.4 CRSPropertyType 

<complexType name="CRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:CRSPropertyTypeは,CRS抽象座標参照系への関連役割のためのプロパティ型であり,CRSを参照

するか,又は定義を含むかのいずれかとする。 

12.3 座標参照系 

12.3.1 概要 

空間−時間座標参照系スキーマ構成部品は,二つの論理的な部分に分けられる。一つは,抽象座標参照

系定義のXML符号化のための要素及び型を定義する。もう一つのより大きな部分は,空間−時間座標参

照系の複数の具象型を定義するXML符号化のための特有の構造を定義する。 

これらのスキーマ構成部品は,ISO 19111:2007の箇条8及びこの規格のD.3.9のUMLモデルの座標参照

系パッケージを符号化する。ただし,抽象の“SC̲CRS”クラスを除く。 

注記 座標参照系スキーマ文書は,GMLスキーマ文書のcoordinateSystem.xsd,datum.xsd,及び

coordinateOperations.xsdをインクルードする。このスキーマ文書は,次の位置独立名(URN構

文による。)で識別する。 

 

urn:x-ogc:specification:gml:schema-xsd:coordinateReferenceSystems:3.2.1 

12.3.2 抽象座標参照系 

12.3.2.1 AbstractSingleCRS 

<element name="AbstractSingleCRS" type="gml:AbstractCRSType" abstract="true" 
substitutionGroup="gml:AbstractCRS"/> 

gml:AbstractSingleCRSは,(複合CRSに対して)単一の座標系及び単一の原子からなる座標参照系を実

装する。 

12.3.2.2 SingleCRSPropertyType 

<complexType name="SingleCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractSingleCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:SingleCRSPropertyTypeは,単一座標参照系(single CRS)への関連役割のためのプロパティ型であり,

座標参照系を参照するか,又は定義を含むかのいずれかとする。 

12.3.2.3 AbstractGeneralDerivedCRS 

<element name="AbstractGeneralDerivedCRS" type="gml:AbstractGeneralDerivedCRSType" abstract="true" 
substitutionGroup="gml:AbstractSingleCRS"/> 

 

<complexType name="AbstractGeneralDerivedCRSType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractCRSType"> 

<sequence> 


102 

X 7136:2012 (ISO 19136:2007)  

 

 

<element ref="gml:conversion"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:AbstractGeneralDerivedCRSは,他の座標参照系からの座標換算で定義する座標参照系とする。GML

応用スキーマでは,この文書で示す具象の下位型と同等の意味をもつ具象の下位型を定義するために,こ

の抽象型を用いてはならず,また,拡張又は制限してはならない。 

12.3.2.4 Conversion 

<element name="conversion" type="gml:GeneralConversionPropertyType"/> 

gml:conversionは,派生CRSを定義するために用いる座標換算(conversion)への関連役割とする。 

12.3.3 具象座標参照系 

12.3.3.1 CompoundCRS 

<element name="CompoundCRS" type="gml:CompoundCRSType" substitutionGroup="gml:AbstractCRS"/> 

 

<complexType name="CompoundCRSType"> 

<complexContent> 

<extension base="gml:AbstractCRSType"> 

<sequence> 

<element ref="gml:componentReferenceSystem" minOccurs="2" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

gml:compoundCRSは,二つ以上の独立した座標参照系を通じて点の位置を記述する座標参照系とする。

gml:compoundCRSは,二つ以上の単一CRSのインスタンスの繰返しのない列と関連する。 

12.3.3.2 ComponentReferenceSystem 

<element name="componentReferenceSystem" type="gml:SingleCRSPropertyType"/> 

gml:componentReferenceSystem要素は,この複合参照系が含む全ての座標参照系要素の関連の列とする。

gml:AggregationAttributeGroupは,gml:componentReferenceSystemプロパティが順序をもつことを示すため

に用いなければならない。 

12.3.3.3 CompoundCRSPropertyType 

<complexType name="CompoundCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:CompoundCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:CompoundCRSPropertyTypeは,複合座標参照系(compound CRS)への関連役割のためのプロパティ

型であり,参照系を参照するか,又は定義を含むかのいずれかとする。 

12.3.3.4 GeodeticCRS 

<element name="GeodeticCRS" type="gml:GeodeticCRSType" 
substitutionGroup="gml:AbstractSingleCRS"/> 

 


103 

X 7136:2012 (ISO 19136:2007) 

 

 

<complexType name="GeodeticCRSType"> 

<complexContent> 

<extension base="gml:AbstractCRSType"> 

<sequence> 

<choice> 

<element ref="gml:ellipsoidalCS"/> 
<element ref="gml:cartesianCS"/> 
<element ref="gml:sphericalCS"/> 

</choice> 
<element ref="gml:geodeticDatum"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:GeodeticCRSは,測地原子に基づく座標参照系とする。 

12.3.3.5 EllipsoidalCS 

<element name="ellipsoidalCS" type="gml:EllipsoidalCSPropertyType"/> 

gml:ellipsoidalCSは,このCRSが用いるだ(楕)円体座標系(ellopsoidal CS)への関連役割とする。 

12.3.3.6 cartesianCS 

<element name="cartesianCS" type="gml:CartesianCSPropertyType"/> 

gml:cartesianCSは,このCRSが用いる直交座標系(cartesian CS)への関連役割とする。 

12.3.3.7 sphericalCS 

<element name="sphericalCS" type="gml:SphericalCSPropertyType"/> 

gml:sphericalCSは,このCRSが用いる極座標系(spherical CS)への関連役割とする。 

12.3.3.8 geodeticDatum 

<element name="geodeticDatum" type="gml:GeodeticDatumPropertyType"/> 

gml:geodeticDatumは,このCRSが用いる測地原子(geodetic datum)への関連役割とする。 

12.3.3.9 GeodeticCRSPropertyType 

<complexType name="GeodeticCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:GeodeticCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:GeodeticCRSPropertyTypeは,測地座標参照系(geodetic CRS)への関連役割のためのプロパティ型

であり,座標参照系を参照するか,又は定義を含むかのいずれかとする。 

12.3.3.10 VerticalCRS 

<element name="VerticalCRS" type="gml:VerticalCRSType" substitutionGroup="gml:AbstractSingleCRS"/> 

 

<complexType name="VerticalCRSType"> 

<complexContent> 

<extension base="gml:AbstractCRSType"> 

<sequence> 

<element ref="gml:verticalCS"/> 
<element ref="gml:verticalDatum"/> 


104 

X 7136:2012 (ISO 19136:2007)  

 

 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:VerticalCRSは,高さ又は深さを記録するために用いる1D座標参照系とする。鉛直座標参照系(vertical 

CRS)は,高さ又は深さの概念を定義するために重力の向きを使用するが,重力との関係は直接的でなく

てよい。その意味から明らかであるが,だ(楕)円体高(h)は,鉛直座標参照系で記録することができな

い。だ(楕)円体高は独立して存在できないだけでなく,地理3D座標参照系の中で定義される3D座標の,

不可分の部分である。 

12.3.3.11 verticalCS 

<element name="verticalCS" type="gml:VerticalCSPropertyType"/> 

gml:verticalCSは,このCRSが用いる鉛直座標系(vertical CS)への関連役割とする。 

12.3.3.12 verticalDatum 

<element name="verticalDatum" type="gml:VerticalDatumPropertyType"/> 

gml:verticalDatumは,このCRSが用いる鉛直原子(vertical datum)への関連役割とする。 

12.3.3.13 VerticalCRSPropertyType 

<complexType name="VerticalCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:VerticalCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:VerticalCRSPropertyTypeは,鉛直座標参照系(vertical CRS)への関連役割のためのプロパティ型で

あり,座標参照系を参照するか,又は定義を含むかのいずれかとする。 

12.3.3.14 ProjectedCRS 

<element name="ProjectedCRS" type="gml:ProjectedCRSType" 
substitutionGroup="gml:AbstractGeneralDerivedCRS"/> 

 

<complexType name="ProjectedCRSType"> 

<complexContent> 

<extension base="gml:AbstractGeneralDerivedCRSType"> 

<sequence> 

<choice> 

<element ref="gml:baseGeodeticCRS"/> 

<element ref="gml:baseGeographicCRS"/> 

</choice> 
<element ref="gml:cartesianCS"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:ProjectedCRSは,地球の形状を平面に近似するために用いる2D座標参照系とする。近似によるゆが

(歪)みは注意深く制御されており,その量は把握されている。 

ゆが(歪)み補正は,一般に,実際のフィールドに近い値を作り出すために算出した方位及び距離によ


105 

X 7136:2012 (ISO 19136:2007) 

 

 

って行う。 

12.3.3.15 baseGeodeticCRS 

<element name="baseGeodeticCRS" type="gml:GeodeticCRSPropertyType"/> 

gml:baseGeodeticCRSは,この投影座標参照系(projected CRS)が用いる地理座標参照系への関連役割と

する。 

12.3.3.16 ProjectedCRSPropertyType 

<complexType name="ProjectedCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:ProjectedCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:ProjectedCRSPropertyTypeは,投影座標参照系(projected CRS)への関連役割のためのプロパティ型

であり,参照系を参照するか,又は定義を含むかのいずれかとする。 

12.3.3.17 DerivedCRS 

<element name="DerivedCRS" type="gml:DerivedCRSType" 
substitutionGroup="gml:AbstractGeneralDerivedCRS"/> 

 

<complexType name="DerivedCRSType"> 

<complexContent> 

<extension base="gml:AbstractGeneralDerivedCRSType"> 

<sequence> 

<element ref="gml:baseCRS"/> 
<element ref="gml:derivedCRSType"/> 
<element ref="gml:coordinateSystem"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:DerivedCRSは,基となるCRSとして,既知の他の単一座標参照系からの座標換算で定義する単一

座標参照系とする。このDerivedCRSを,ISO 19123:2005の箇条8で記述するような,地上への偏位修正

グリッド被覆のために用いる場合には,基となるCRSは,投影座標参照系でよい。 

12.3.3.18 baseCRS 

<element name="baseCRS" type="gml:SingleCRSPropertyType"/> 

gml:baseCRSは,この派生CRSが用いる座標参照系への関連役割とする。 

12.3.3.19 derivedCRSType 

<element name="derivedCRSType" type="gml:CodeWithAuthorityType"/> 

gml:derivedCRSTypeプロパティは,派生座標参照系(derived CRS)の型を記述する。必要となるcodeSpace

属性は,値を既定とする情報源及びこのプロパティのために許す全ての文字列値の意味を参照しなければ

ならない。 

12.3.3.20 coordinateSystem 

<element name="coordinateSystem" type="gml:CoordinateSystemPropertyType"/> 

gml:coordinateSystemは,このCRSが用いる座標系への関連役割とする。 


106 

X 7136:2012 (ISO 19136:2007)  

 

 

12.3.3.21 DerivedCRSPropertyType 

<complexType name="DerivedCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:DerivedCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:DerivedCRSPropertyTypeは,投影による座標参照系以外の派生座標参照系(derived CRS)への関連

役割のためのプロパティ型とし,参照系を参照するか,又は定義を含むかのいずれかとする。 

12.3.3.22 EngineeringCRS 

<element name="EngineeringCRS" type="gml:EngineeringCRSType" 
substitutionGroup="gml:AbstractSingleCRS"/> 

 

<complexType name="EngineeringCRSType"> 

<complexContent> 

<extension base="gml:AbstractCRSType"> 

<sequence> 

<choice> 

<element ref="gml:affineCS"/> 
<element ref="gml:cartesianCS"/> 
<element ref="gml:cylindricalCS"/> 
<element ref="gml:linearCS"/> 
<element ref="gml:polarCS"/> 
<element ref="gml:sphericalCS"/> 
<element ref="gml:userDefinedCS"/> 

<element ref="gml:coordinateSystem"/> 

</choice> 
<element ref="gml:engineeringDatum"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:EngineeringCRSは,大きく次の二つに分類することができる,周辺との関係に依存する局所的な座

標参照系とする。 

− 地球の表面付近又はその上で行われる土木的な活動に適用する,地球に固定された系 

− 道路車両,船舶,航空機,又は宇宙船のような,移動するプラットフォームにおけるCRS(ISO 

19111:2007の8.3参照)。 

12.3.3.23 cylindricalCS 

<element name="cylindricalCS" type="gml:CylindricalCSPropertyType"/> 

gml:cylindricalCSは,このCRSが用いる円筒座標系(cylindrical CS)への関連役割とする。 

12.3.3.24 linearCS 

<element name="linearCS" type="gml:LinearCSPropertyType"/> 

gml:linearCSは,このCRSが用いる線形座標系(linear CS)への関連役割とする。 

12.3.3.25 polarCS 

<element name="polarCS" type="gml:PolarCSPropertyType"/> 


107 

X 7136:2012 (ISO 19136:2007) 

 

 

gml:polarCSは,このCRSが用いる極座標系(polar CS)への関連役割とする。 

12.3.3.26 userDefinedCS 

<element name="userDefinedCS" type="gml:UserDefinedCSPropertyType"/> 

gml:userDefinedCSは,このCRSが用いる,使用者が定義する座標参照系への関連役割とする。 

12.3.3.27 engineeringDatum 

<element name="engineeringDatum" type="gml:EngineeringDatumPropertyType"/> 

gml:engineeringDatumは,このCRSが用いる施工基準原子(engineering datum)への関連役割とする。 

12.3.3.28 EngineeringCRSPropertyType 

<complexType name="EngineeringCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:EngineeringCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:EngineeringCRSPropertyTypeは,施工座標参照系(engineering CRS)への関連役割のためのプロパテ

ィ型であり,参照系を参照するか,又は定義を含むかのいずれかとする。 

12.3.3.29 ImageCRS 

<element name="ImageCRS" type="gml:ImageCRSType" substitutionGroup="gml:AbstractSingleCRS"/> 

 

<complexType name="ImageCRSType"> 

<complexContent> 

<extension base="gml:AbstractCRSType"> 

<sequence> 

<choice> 

<element ref="gml:cartesianCS"/> 
<element ref="gml:affineCS"/> 

<element ref="gml:usesObliqueCartesianCS"/> 

</choice> 
<element ref="gml:imageDatum"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:ImageCRSは,画像の中の位置に適用する施工座標参照系とする。画像座標参照系(image CRS)は,

他とは区別された下位型とみなす。なぜならば,関連する画像原子の定義は,他の施工基準原子に関係し

ない二つの属性を含むからである。 

12.3.3.30 affineCS 

<element name="affineCS" type="gml:AffineCSPropertyType"/> 

gml:affineCSは,このCRSが用いるアフィン座標系(affine CS)に対する関連役割とする。 

12.3.3.31 imageDatum 

<element name="imageDatum" type="gml:ImageDatumPropertyType"/> 

gml:imageDatumは,このCRSが用いる画像原子(image datum)への関連役割とする。 

12.3.3.32 ImageCRSPropertyType 

<complexType name="ImageCRSPropertyType"> 


108 

X 7136:2012 (ISO 19136:2007)  

 

 

<sequence minOccurs="0"> 

<element ref="gml:ImageCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:ImageCRSPropertyTypeは,画像座標系への関連役割のためのプロパティ型とし,座標系を参照する

か,又は定義を含むかのいずれかとする。 

12.3.3.33 TemporalCRS 

<element name="TemporalCRS" type="gml:TemporalCRSType" 
substitutionGroup="gml:AbstractSingleCRS"/> 

 

<complexType name="TemporalCRSType"> 

<complexContent> 

<extension base="gml:AbstractCRSType"> 

<sequence> 

<choice> 

<element ref="gml:timeCS"/> 

<element ref="gml:usesTemporalCS"/> 

</choice> 
<element ref="gml:temporalDatum"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:TemporalCRSは,時間の記録に用いる1D座標参照系とする。 

12.3.3.34 timeCS 

<element name="timeCS" type="gml:TimeCSPropertyType"/> 

gml:timeCSは,このCRSが用いる時間座標系(temporal CRS)への関連役割とする。 

12.3.3.35 temporalDatum 

<element name="temporalDatum" type="gml:TemporalDatumPropertyType"/> 

gml:temporalDatumは,このCRSが用いる時間原子(temoiral datum)への関連役割とする。 

12.3.3.36 TemporalCRSPropertyType 

<complexType name="TemporalCRSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TemporalCRS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:TemporalCRSPropertyTypeは,時間座標参照系への関連役割のためのプロパティ型とし,参照系を参

照するか,又は定義を含むかのいずれかとする。 

12.4 座標系 

12.4.1 概要 

座標系スキーマの構成部品は,論理的に三つの部分に分けることができる。これらは,次に示すXML

による符号化のための要素及び型を定義する。 


109 

X 7136:2012 (ISO 19136:2007) 

 

 

− 座標系の軸 

− 抽象座標系 

− 空間−時間座標系の複数の具象型 

これらのスキーマ構成部品は,ISO 19111:2007の箇条9及びこの規格のD.3.9に示すUMLモデルの座標

系パッケージを符号化する。 

注記 座標系スキーマ文書は,referenceSystems.xsdのGMLスキーマ文書を含む。このスキーマは,

次の(URN構文規則を用いた)位置独立名によって識別する。 

urn:x-ogc:specification:gml:schema-xsd:coordinateSystems:3.2.1 

12.4.2 座標系の軸 

12.4.2.1 CoordinateSystemAxis 

<element name="CoordinateSystemAxis" type="gml:CoordinateSystemAxisType" 
substitutionGroup="gml:Definition"/> 

 

<complexType name="CoordinateSystemAxisType"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:axisAbbrev"/> 
<element ref="gml:axisDirection"/> 
<element ref="gml:minimumValue" minOccurs="0"/> 
<element ref="gml:maximumValue" minOccurs="0"/> 
<element ref="gml:rangeMeaning" minOccurs="0"/> 

</sequence> 
<attribute name="uom" type="gml:UomIdentifier" use="required"/> 

</extension> 

</complexContent> 

</complexType> 

gml:CoordinateSystemAxisは,座標系の軸(axis)の定義とする。 

12.4.2.2 axisAbbrev 

<element name="axisAbbrev" type="gml:CodeType"/> 

gml:axisAbbrevは,この座標系の軸に用いる略称とする。この略称は,座標中の座標成分を識別するた

めにも用いる。codeSpace属性は,標準化された略称の集合又はこの略称に関するより多くの情報源を参

照してもよい。 

例 典型的な略称は,“X”及び“Y”である。 

12.4.2.3 axisDirection 

<element name="axisDirection" type="gml:CodeWithAuthorityType"/> 

gml:axisDirectionは,この座標系の軸の方向(direction)を示す(又は,直交投影座標の場合は,原点に

おけるこの座標系の軸の方向を示す。)。 

例 典型的な方向は,“南”若しくは“北”,“東”若しくは“西”,又は“上”若しくは“下”である。 

いかなる座標系の軸の組においても,それぞれの言葉の対の一方を用いる。地球上に固定されたCRSに

とって,この方向は大抵はおおよそであり,人間が理解しやすい意味を軸に与えることを目的とする。そ

れゆえ,測地原子を使用する場合は,このおおよその方向は,正確な軸の方向へと多少変化する可能性が

ある。 


110 

X 7136:2012 (ISO 19136:2007)  

 

 

注記 gml:engineeringCRSでは,大抵は座標系の軸の方向の詳細な説明が必要とされる。 

codeSpace属性は,値を示す情報源及びこのプロパティのために許される全ての文字列値の意味を参照

しなければならない。 

12.4.2.4 minimumValue,maximumValue及びrangeMeaning 

<element name="minimumValue" type="double"/> 
<element name="maximumValue" type="double"/> 

gml:minimumValue及びgml:maximumValueプロパティは,通常この軸に許す最小値(mimimum value)及

び最大値(maximum value)を,この軸の計測単位を使って示すために用いる。経度のような連続した角度

軸の場合,とり得る値は最大値と最小値との間に“巻きつけ”られる。また,この最小及び最大の限界値

は,境界直方体のような特定の目的に用いることができる。gml:minimumValue要素の値は,無限の負数で

もよいし,gml:maximumValue要素の値は,無限の正数でもよい。これらの要素が省略された場合,値は不

明となる。 

<element name="rangeMeaning" type="gml:CodeWithAuthorityType"/> 

gml:rangeMeaningは,gml:mimimumValue及びgml:maximumValueで指定する軸の値の範囲の意味を説明

する。この要素は,gml:mimimumValue及びgml:maximumValueが省略された場合には,省略しなければな

らない。この要素は,gml:mimimumValue及び/又はgml:maximumValueを含む場合は含まれることが望ま

しい。gml:mimimumValue及び/又はgml:maximumValueを含む場合に,この要素が省略されたとき,範囲

の意味は不明となる。codeSpace属性は,値を示す情報源及びこのプロパティのために許す,全ての文字

列値の意味を参照しなければならない。 

注記1 gml:engineeringCRSでは,大抵は座標系の軸の方向の詳細な説明が必要とされる。 

注記2 境界直方体は,本来局所的に分布しているものの検索を高速化するために作られるものであ

り,全球的に分布するものを対象にしてはいない。局所的に分布するものが,経度180°の

ような不連続線を含む地域にある場合は,全体を便宜的に,問題が起こらない座標系にシフ

トしてから,境界直方体を適用するとよい。 

注記3 境界直方体を定義する要素として,包被(10.1.4.6参照)がある。 

12.4.2.5 uom 

uom属性は,この座標系の軸に用いる計測単位(unit of measure)の識別子を示す。この軸を用いる座標

系を使った座標参照系を座標が用いる場合,座標中の座標成分は,この計測単位を用いて記録しなければ

ならない。 

12.4.2.6 CoordinateSystemAxisPropertyType 

<complexType name="CoordinateSystemAxisPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:CoordinateSystemAxis"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:CoordinateSystemAxisPropertyTypeは,座標系の軸への関連役割のためのプロパティ型である。軸を

参照するか又は軸の定義を含むかのいずれかとする。 

12.4.3 抽象座標系 

12.4.3.1 AbstractCoordinateSystem 

 


111 

X 7136:2012 (ISO 19136:2007) 

 

 

<element name="AbstractCoordinateSystem" type="gml:AbstractCoordinateSystemType" abstract="true" 
substitutionGroup="gml:Definition"/> 

 

<complexType name="AbstractCoordinateSystemType" abstract="true"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:axis" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

gml:AbstractCoordinateSystemは,与えられる座標空間における座標系の軸の列であり,この列の要素は

重複しない。CSは,与えられた空間の中でどのように座標を点に割り当てるかを指定するための数学規則

の集合から導かれる。座標中の座標成分の値は,座標系の軸への関連が記録された順序で記録しなければ

ならない。GML応用スキーマでは,この文書で示す具象の下位型と同等の意味をもつ具象の下位型を定義

するために,この抽象複合型を用いてはならず,拡張又は制限してはならない。 

12.4.3.2 axis 

<element name="axis" type="gml:CoordinateSystemAxisPropertyType"/> 

gml:axisプロパティは,この座標系で使用する座標系の軸への(順序をもつ列)関連役割とする。座標

中の座標成分の値は,この座標系を使用する座標参照系を用いる限り,座標系の軸への関連が記録された

順序で記録しなければならない。gml:AggregationAttributeGroupは,軸オブジェクトの順序付けを示すため

に用いなければならない。 

12.4.3.3 CoordinateSystemPropertyType 

<complexType name="CoordinateSystemPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractCoordinateSystem"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:CoordinateSystemPropertyTypeは,座標系への関連役割のためのプロパティ型であり,座標系を参照

するか,又は座標系の定義を含むかのいずれかとする。 

12.4.4 具象座標系 

12.4.4.1 EllipsoidalCS 

<element name="EllipsoidalCS" type="gml:EllipsoidalCSType" 
substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="EllipsoidalCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 
 


112 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:EllipsoidalCSは,測地経度,測地緯度,及び(三次元の場合は)だ(楕)円体高によって位置を特

定する二次元又は三次元座標系とする。EllipsoidalCSは,二つ又は三つのgml:axisプロパティ要素をもた

なければならない。関連の数は,そのCSの次元に等しい。 

12.4.4.2 EllipsoidalCSPropertyType 

<complexType name="EllipsoidalCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:EllipsoidalCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:EllipsoidalCSPropertyTypeは,だ(楕)円体座標系(Ellipsoidal CS)への関連役割のためのプロパテ

ィ型とし,だ(楕)円体座標系を参照するか又は座標系の定義を含むかのいずれかとする。 

12.4.4.3 CartesianCS 

<element name="CartesianCS" type="gml:CartesianCSType" 
substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="CartesianCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

gml:CartesianCSは,一次元,二次元又は三次元座標系とする。一次元の場合は,単一のまっすぐな座標

軸をもつ。二次元及び三次元の場合は,直交するまっすぐな軸に対して相対的に点の位置を定める。多次

元の場合,全ての軸は,同じ距離計測単位をもたなければならない。CartesianCSは,一つ,二つ又は三つ

のgml:axisプロパティ要素をもたなければならない。 

12.4.4.4 CartesianCSPropertyType 

<complexType name="CartesianCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:CartesianCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:CartesianCSPropertyTypeは,直交座標系(cartesian CS)への関連役割のためのプロパティ型とする。

座標系を参照するか又は座標系の定義を含むかのいずれかである。 

12.4.4.5 VerticalCS 

<element name="VerticalCS" type="gml:VerticalCSType" 
substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="VerticalCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

gml:VerticalCSは,点の高さ又は深さを記録するために用いる一次元の座標系とする。このような座標系


113 

X 7136:2012 (ISO 19136:2007) 

 

 

は通常,地球の重力場によって決まる。大まかに大気圧を鉛直座標系(vertical CS)の軸の基準とすること

がある。VerticalCSは,一つのgml:axisプロパティ要素をもたなければならない。 

12.4.4.6 VerticalCSPropertyType 

<complexType name="VerticalCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:VerticalCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:VerticalCSPropertyTypeは,鉛直座標系(vertical CS)への関連役割のためのプロパティ型とし,座標

系を参照するか,又は座標系の定義を含むかのいずれかである。 

12.4.4.7 TimeCS 

<element name="TimeCS" type="gml:TimeCSType" substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="TimeCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

gml:TimeCSは,時間の軸を含む一次元の座標系とし,特定の時間原点から特定の時間単位を使って,あ

る点の時間位置を記述するために用いる。TimeCSは,一つのgml:axisプロパティ要素をもたなければなら

ない。 

12.4.4.8 TimeCSPropertyType 

<complexType name="TimeCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:TimeCSPropertyTypeは,時間座標系(time CS)への関連役割のためのプロパティ型とし,座標系を

参照するか,又は座標系の定義を含むかのいずれかである。 

12.4.4.9 LinearCS 

<element name="LinearCS" type="gml:LinearCSType" substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="LinearCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

gml:LinearCSは,ここで示す単一の軸上に位置する点群からなる一次元の座標系とする。この座標系を

用いる座標は,指定する原子から軸に沿った点までの,オフセットを含むか又は含まない距離とする。

LinearCSは,一つのgml:axisプロパティ要素をもたなければならない。 

例 輸送管路を表す線状の地物がある場合,この管路上の点又はこれに沿った点を記述するために用

いる。 


114 

X 7136:2012 (ISO 19136:2007)  

 

 

注記 gml:LinearCSは,単純で連続な線形のシステムのためにだけ用いることができる。線形参照系

(LRS)は,特に運輸産業に適用され,ISO 19133:2005がこれを定めるが,この規格で実装す

るものではない。 

12.4.4.10 LinearCSPropertyType 

<complexType name="LinearCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:LinearCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:LinewrCSPropertyTypeは,線形座標系(linear CS)への関連役割のためのプロパティ型とする。座標

系を参照するか又は座標系の定義を含むかのいずれかとする。 

12.4.4.11 UserDefinedCS 

<element name="UserDefinedCS" type="gml:UserDefinedCSType" 
substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="UserDefinedCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

gml:UserDefinedCSは,他の座標系の型が網羅していない座標軸の組合せからなる二次元又は三次元の座

標系とする。UserDefinedCSは,二つ又は三つのgml:axisプロパティ要素をもたなければならない。プロ

パティ要素の数は,CSの次元と一致しなければならない。 

例 多重線形(multilinear)座標系は,自己交差のない,任意の一次元の形状をとることができる一本

の座標軸をもつ。二次元又は三次元の座標系となるために,このまっすぐでない軸を,一本又は

二本のまっすぐな軸によって補完する。まっすぐではない軸は一般的には,局所的に直線又は曲

線となる。 

12.4.4.12 UserDefinedCSPropertyType 

<complexType name="UserDefinedCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:UserDefinedCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:UserDefinedCSPropertyTypeは,使用者定義の座標系への関連役割のためのプロパティ型とする。座

標系を参照するか又は座標系の定義を含むかのいずれかとする。 

12.4.4.13 SphericalCS 

<element name="SphericalCS" type="gml:SphericalCSType" 
substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="SphericalCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 


115 

X 7136:2012 (ISO 19136:2007) 

 

 

</complexContent> 

</complexType> 

gml:SphericalCSは,原点からの距離と二つの角度座標とからなる三次元の座標系とする。 

注記 球に縮退した(degenerated)だ(楕)円体に基づくだ(楕)円体座標系と混同してはならない。 

SphericalCSは,三つのgml:axisプロパティ要素をもたなければならない。 

12.4.4.14 SphericalCSPropertyType 

<complexType name="SphericalCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:SphericalCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:SphericalCSPropertyTypeは,球面座標系(spherical CS)への関連役割のためのプロパティ型とする。

座標系を参照するか又は座標系の定義を含むかのいずれかとする。 

12.4.4.15 PolarCS 

<element name="PolarCS" type="gml:PolarCSType" substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="PolarCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

gml:PolarCSは,原点からの距離,並びに対象となる点と原点とを結ぶ線及び基準となる方向との角度に

よって位置を特定する二次元の座標系とする。PolarCSは,二つのgml:axisプロパティ要素をもたなけれ

ばならない。 

12.4.4.16 PolarCSPropertyType 

<complexType name="PolarCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:PolarCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:PolarCSPropertyTypeは,極座標系(polar CS)への関連役割のためのプロパティ型とする。座標系を

参照するか又は座標系の定義を含むかのいずれかとする。 

12.4.4.17 CylindricalCS 

<element name="CylindricalCS" type="gml:CylindricalCSType"  
substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="CylindricalCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

 

gml:CylindricalCSは,極座標系に,それと垂直な直線座標軸を追加してできる三次元座標系とする。

CylindricalCSは,三つのgml:axisプロパティ要素をもたなければならない。 


116 

X 7136:2012 (ISO 19136:2007)  

 

 

12.4.4.18 CylindricalCSPropertyType 

<complexType name="CylindricalCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:CylindricalCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:CylindricalCSPropertyTypeは,円筒座標系(cylindrical CS)への関連役割のためのプロパティ型とす

る。座標系を参照するか又は座標系の定義を含むかのいずれかとする。 

12.4.4.19 AffineCS 

<element name="AffineCS" type="gml:AffineCSType" substitutionGroup="gml:AbstractCoordinateSystem"/> 

 

<complexType name="AffineCSType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateSystemType"/> 

</complexContent> 

</complexType> 

gml:AffineCSは,必ずしも直交しない直線軸をもつ二次元又は三次元の座標系とする。AffineCSは,二

つ又は三つのgml:axisプロパティ要素をもたなければならない。プロパティ要素の数は,CSの次元数と一

致しなければならない。 

12.4.4.20 AffineCSPropertyType 

<complexType name="AffineCSPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AffineCS"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:AffineCSPropetyTypeは,アフィン座標系(affine CS)への関連役割のためのプロパティ型とする。

座標系を参照するか又は座標系の定義を含むかのいずれかとする。 

12.5 原子 

12.5.1 概要 

原子スキーマの構成部品は,三つの論理的な部分に分けることができる。XMLによる符号化に必要な要

素及び型の定義を次に示す。 

− 抽象原子 

− だ(楕)円体及び本初子午線を含む測地原子 

− その他複数の,空間又は時間の原子の具象型 

これらのスキーマ構成部品は,ISO 19111:2007の箇条10及びこの規格のD.3.9に示すGMLモデルの原

子パッケージを符号化する。 

注記 原子スキーマ文書は,GMLSchemaのreferenceSystems.xsdを含む。このスキーマは,次の(URN

構文を用いた)位置独立名によって識別される。 

urn:x-ogc:specification:gml:schema-xsd:coordinateSystems:3.2.1 

12.5.2 抽象原子 

12.5.2.1 AbstractDatum 


117 

X 7136:2012 (ISO 19136:2007) 

 

 

<element name="AbstractDatum" type="gml:AbstractDatumType" abstract="true" 
substitutionGroup="gml:Definition"/> 

 

<complexType name="AbstractDatumType" abstract="true"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:domainOfValidity" minOccurs="0"/> 
<element ref="gml:scope" maxOccurs="unbounded"/> 
<element ref="gml:anchorDefinition" minOccurs="0"/> 
<element ref="gml:realizationEpoch" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:AbstractDatumは,地球と座標系との関係を示し,したがって,座標参照系を生成する。原子(datum)

は,座標参照系の原点の位置を定めるパラメタ又はパラメタの集合を用いる。原子の下位型は,それぞれ

特定の座標系の型と関連付けることができる。GML応用スキーマでは,この文書で示す具象の下位型と同

等の意味をもつ具象の下位型を定義するために,この抽象複合型を使用,拡張又は制限してはならない。 

12.5.2.2 anchorDefinition 

<element name="anchorDefinition" type="gml:CodeType"/> 

gml:anchorDefinitionは,原子を地球に固定するために用いる定義の説明とし,座標を含んでもよい。特

に,施工原子及び画像原子では,“原点”としても知られている。codeSpace属性は,この点又は面,若し

くはそれらの記述の集合の詳細な情報源の参照に用いることができる。 

− 測地原子にとって,この点は基本点(fundamental point)として知られており,伝統的にはジオイドと

だ(楕)円体との関係を定義する点のことである。“基本点”は,複数の点から構成されることもあ  

る。また,ジオイドとだ(楕)円体との関係を定義するパラメタがそれらの点の平均となっている場

合もあり,その平均が原子の定義として採用されてきた。 

− 施工原子にとって,固定点の定義は,物理的な点でもよいし,他のCRSの座標で定義された点でもよ

い。 

− 画像原子にとって,固定点の定義は,通常は,画像の中心又は画像の隅のいずれかである。 

− 時間原子では,この属性を定義しない。固定点の定義の代わりに,時間原子は,DateTime型の時間原

点を別にもつ。 

12.5.2.3 realizationEpoch 

<element name="realizationEpoch" type="date"/> 

gml:realizationEpochは,この原子の定義が有効となった時点とする。詳細は,ISO 19111:2007の表33を

参照。 

12.5.2.4 DatumPropertyType 

<complexType name="DatumPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractDatum"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 


118 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexType> 

gml:DatumPropertyTypeは,原子への関連役割のためのプロパティ型とする。原子を参照するか,又は原

子の定義を記述するかのいずれかとする。 

12.5.3 測地原子 

12.5.3.1 GeodeticDatum 

<element name="GeodeticDatum" type="gml:GeodeticDatumType" 
substitutionGroup="gml:AbstractDatum"/> 

 

<complexType name="GeodeticDatumType"> 

<complexContent> 

<extension base="gml:AbstractDatumType"> 

<sequence> 

<element ref="gml:primeMeridian"/> 
<element ref="gml:ellipsoid"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:GeodeticDatumは,決められただ(楕)円体(又は球),又はこのだ(楕)円体(又は球)の中心を

通る直交座標系による三次元空間における正確な位置及び方向を定義する測地原子(geodetic darum)とす

る。 

12.5.3.2 primeMeridian 

<element name="primeMeridian" type="gml:PrimeMeridianPropertyType"/> 

gml:primeMeridianは,この測地原子が使用する本初子午線(prime meridian)への関連役割とする。 

12.5.3.3 ellipsoid 

<element name="ellipsoid" type="gml:EllipsoidPropertyType"/> 

gml:ellipsoidは,この測地原子が使用するだ(楕)円体(ellipsoid)への関連役割とする。 

12.5.3.4 GeodeticDatumPropertyType 

<complexType name="GeodeticDatumPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:GeodeticDatum"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:GeodeticDatumPropertyTypeは,測地原子(geodetic datum)への関連役割のためのプロパティ型とす

る。原子を参照するか,又は原子の定義を含むかのいずれかとする。 

12.5.3.5 Ellipsoid,semiMajorAxis及びsecondDefiningParameter 

<element name="Ellipsoid" type="gml:EllipsoidType" substitutionGroup="gml:Definition"/> 

 

<complexType name="EllipsoidType"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:semiMajorAxis"/> 


119 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:secondDefiningParameter"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:Ellipsoidは,地球の近似形状を記述するために用いることができる幾何図形とする。数学的に説明

すると,だ(楕)円体をその短軸を中心に回転させて形成される形の表面とする。 

<element name="semiMajorAxis" type="gml:MeasureType"/> 

gml:semiMajorAxisは,だ(楕)円体の長半径の長さを単位とともに指定する。これは,uomによって参

照される計測単位は長さに適するものに限るという制限の下,メートル又はフィートのような

MeasureTypeを用いる。 

<element name="secondDefiningParameter"> 

<complexType> 

<sequence> 

<element ref="gml:SecondDefiningParameter"/> 

</sequence> 

</complexType> 

</element> 

 

<element name="SecondDefiningParameter"> 

<complexType> 

<choice> 

<element name="inverseFlattening" type="gml:MeasureType"/> 
<element name="semiMinorAxis" type="gml:LengthType"/> 
<element name="isSphere" type="boolean" default="true"/> 

</choice> 

</complexType> 

</element> 

gml:secondDefiningParameterは,だ(楕)円体の形状を定める二つ目のパラメタの定義を含むプロパティ

とする。だ(楕)円体では,二つのパラメタを定義することが必要である。それは,長半径及び逆へん(扁)

平率又は長半径及び短半径である。参照体がだ(楕)円体ではなく球のときは,一つのパラメタの定義だ

けが必要となり,それを球の半径と呼ぶ。この場合,長半径が球の半径に“縮退”する。 

gml:inverseflattening要素は,だ(楕)円体の逆へん(扁)平率(inverse flattening)をもつ。この値は,

尺度係数(又は比率)である。uom属性が参照する計測単位は,尺度係数に適するものでなければならな

いという制限の下,例えば百分率,千分率又は百万分率のように,gml:MeasureTypeを使用する。 

gml:semiminorAxis要素は,だ(楕)円体の短半径長(semi minor axis)を含む。gml:isSphere要素を含む

場合,だ(楕)円体は縮退し,実質上球となる。球は,長半径によって完全に定義され,それは,球の半

径となる。 

12.5.3.6 EllipsoidPropertyType 

<complexType name="EllipsoidPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Ellipsoid"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 


120 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexType> 

gml:EllipsoidPropertyTypeは,だ(楕)円体への関連役割のためのプロパティ型とする。だ(楕)円体を

参照するか又はだ(楕)円体の定義を含むかのいずれかとする。 

12.5.3.7 PrimeMeridian及びgreenwichLongitude 

<element name="PrimeMeridian" type="gml:PrimeMeridianType" substitutionGroup="gml:Definition"/> 

 

<complexType name="PrimeMeridianType"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:greenwichLongitude"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:PrimeMeridianは,経度の値を決定する原点を定義する。本初子午線(prime meridian)gml:identifier

の省略時値は,“Greenwich”である。 

<element name="greenwichLongitude" type="gml:AngleType"/> 

gml:greenwichLongitudeは,グリニッジ子午線から東回りを正として測った本初子午線の経度とする。本

初子午線の“name”の値が“Greenwich”の場合,greenwichLongitudeの値は0°でなければならない。こ

のプロパティには,gml:AngleTypeを用いる。 

12.5.3.8 PrimemeridianPropertyType 

<complexType name="PrimeMeridianPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:PrimeMeridian"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:PrimeMeridianPropertyTypeは,本初子午線(prime meridian)への関連役割のためのプロパティ型と

する。子午線を参照するか又は子午線の定義を含むかのいずれかとする。 

12.5.4 その他の具象原子 

12.5.4.1 EngineeringDatum 

<element name="EngineeringDatum" type="gml:EngineeringDatumType" 
substitutionGroup="gml:AbstractDatum"/> 

 

<complexType name="EngineeringDatumType"> 

<complexContent> 

<extension base="gml:AbstractDatumType"/> 

</complexContent> 

</complexType> 

gml:EngineeringDatumは,施工座標参照系(Engineering CRS)の原点を定義し,その原点周辺の範囲で

使用する。この原点は,建設用地に定義した点のように,地球に対して固定してもよいし,船上又は衛星

上のように移動媒体上に定義した点でもよい。 

12.5.4.2 EngineeringDatumPropertyType 


121 

X 7136:2012 (ISO 19136:2007) 

 

 

<complexType name="EngineeringDatumPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:EngineeringDatum"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:EngineeringDatumPropertyTypeは,施工基準原子(engineering datum)への関連役割のためのプロパ

ティ型とする。原子を参照するか又は原子の定義を含むかのいずれかとする。 

12.5.4.3 ImageDatum 

<element name="ImageDatum" type="gml:ImageDatumType" substitutionGroup="gml:AbstractDatum"/> 

 

<complexType name="ImageDatumType"> 

<complexContent> 

<extension base="gml:AbstractDatumType"> 

<sequence> 

<element ref="gml:pixelInCell"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:ImageDatumは,画像座標参照系(image CRS)の原点を定義し,局所的な状況でだけ使用する。画

像原子において,固定原点の定義は通常,画像の中心又は画像の隅のいずれかである。より詳細な情報は,

ISO 19111:2007のB.3.5を参照。 

12.5.4.4 pixelInCell 

<element name="pixelInCell" type="gml:CodeWithAuthorityType"/> 

gml:pixelInCellは,画像グリッドを画像データ属性に関連付ける方法を示す。必要となるcodeSpace属性

は,値を示す情報源及びこのプロパティのために許される全ての文字列値の意味を参照しなければならな

い。 

12.5.4.5 ImageDatumPropertyType 

<complexType name="ImageDatumPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:ImageDatum"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 
 

gml:ImagedatumPropertyTypeは,画像原子(image datum)への関連役割のためのプロパティ型とする。

原子を参照するか又は原子の定義を含むかのいずれかとする。 

12.5.4.6 VerticalDatum 

<element name="VerticalDatum" type="gml:VerticalDatumType" substitutionGroup="gml:AbstractDatum"/> 

 

<complexType name="VerticalDatumType"> 

<complexContent> 

<extension base="gml:AbstractDatumType"/> 

</complexContent> 


122 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexType> 

gml:VerticalDatumは,文字による記述及び/又は高さ0の面として用いる特定の基準面を識別するパラ

メタの集合とする。この規格が認める高さの型に対して,地球と対応付けた位置を含む。 

12.5.4.7 VerticalDatumPropertyType 

<complexType name="VerticalDatumPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:VerticalDatum"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:VerticalDatumPropertyTypeは,鉛直原子(vertical datum)への関連役割のためのプロパティ型とする。

原子を参照するか又は原子の定義を含むかのいずれかとする。 

12.5.4.8 TemporalDatum及びorigin 

<element name="TemporalDatum" type="gml:TemporalDatumType" 
substitutionGroup="gml:AbstractDatum"/> 

 

<complexType name="TemporalDatumType"> 

<complexContent> 

<extension base="gml:TemporalDatumBaseType"> 

<sequence> 

<element ref="gml:origin"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<complexType name="TemporalDatumBaseType" abstract="true"> 

<complexContent> 

<restriction base="gml:AbstractDatumType"> 

<sequence> 

<element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 

<element ref="gml:description" minOccurs="0"/> 
<element ref="gml:descriptionReference" minOccurs="0"/> 
<element ref="gml:identifier"/> 
<element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:remarks" minOccurs="0"/> 
<element ref="gml:domainOfValidity" minOccurs="0"/> 
<element ref="gml:scope" maxOccurs="unbounded"/> 

</sequence> 
<attribute ref="gml:id" use="required"/> 

</restriction> 

</complexContent> 

</complexType> 

gml:TemporalDatumは,時間参照系(temporal CS)の原点を定義する。この型は,“anchorDefinition”及

び“realizationEpoch”要素を省略し,dateTime型の“origin”要素を追加する。 

TemporalDatumBaseTypeは,時間座標参照系(temporal CRS)の原点を部分的に定義する。この型は,


123 

X 7136:2012 (ISO 19136:2007) 

 

 

AbstractDatumTypeを制限し,“anchorDefinition”及び“realizationEphoch”要素を除く。 

<element name="origin" type="dateTime"/> 

gml:originは,時間原子(tempral datum)の原点となる日付及び時刻である。 

metaDataProperty要素は非推奨であり,gml:desctription要素は部分的に非推奨である。 

12.5.4.9 TemporalDatumPropertyType 

<complexType name="TemporalDatumPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TemporalDatum"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:TemporalDatumPropertyTypeは,時間原子(tempral datum)への関連役割のためのプロパティ型とす

る。時間原子を参照するか又は時間原子の定義を含むかのいずれかとする。 

12.6 座標演算 

12.6.1 概要 

空間又は時間の座標演算スキーマの構成要素は,次に示すように論理的に五つの部分に分けて,XML

符号化のための要素及び型を定義する。 

− 複数の抽象座標演算 

− 複数の座標演算の具象型。この座標演算は,変換及び換算を含む。 

− 抽象及び具象のパラメタ値,並びにそのグループ 

− 演算手法 

− 抽象及び具象の演算パラメタ,並びにそのグループ 

これらのスキーマの構成要素は,ISO 19111:2007の箇条11に対応したUMLモデルの座標演算パッケー

ジの符号化を行う。 

注記 座標演算(coordinate operation)スキーマは,GMLスキーマ文書であるcoordinateOperations.xsd

を含む。このスキーマ文書は,次の(URN構文を用いた)位置独立名によって識別される。 

urn:x-ogc:specification:gml:schema-xsd:coordinateOperations:3.2.1 

12.6.2 抽象座標演算 

12.6.2.1 AbstractCoordinateOperation 

<element name="AbstractCoordinateOperation" type="gml:AbstractCoordinateOperationType" abstract="true" 

substitutionGroup="gml:Definition"/> 

 

<complexType name="AbstractCoordinateOperationType" abstract="true"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:domainOfValidity" minOccurs="0"/> 

<element ref="gml:scope" maxOccurs="unbounded" /> 

<element ref="gml:operationVersion" minOccurs="0"/> 

<element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> 

<element ref="gml:sourceCRS" minOccurs="0"/> 


124 

X 7136:2012 (ISO 19136:2007)  

 

 

<element ref="gml:targetCRS" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:AbstractCoordinateOperationは,座標の数学的な演算とする。この演算は,座標を他の座標参照系に

変換又は換算する。全てではないが,多くの座標演算(CRS A から CRS Bへ)では,逆演算(CRS B か

ら CRS Aへ)も一意に定義する。ある演算では,逆演算のためのアルゴリズムは,元の演算手法のアル

ゴリズムと同じであるが,幾つかの演算パラメタ値の符号は,逆にならなければならない。他の演算では,

元の演算と逆演算とでは異なるアルゴリズムを使うが,同じ演算パラメタを使用する。全く異なるパラメ

タ値が(何がしか)必要ならば,別の座標演算を定義しなければならない。 

任意選択のgml:coordinateOperationAccuracyプロパティ要素は,点の位置正確度に及ぼす座標操作の影響

についての推定値を示す。 

12.6.2.2 operationVersion 

<element name="operationVersion" type="string"/> 

gml:operationVersionは,座標変換の版とする(すなわち,パラメタ群の確率論的な性質の変化に伴うイ

ンスタンス化。)。gml:operationVersionは,変換についての記述には必須とするが,換算については示さな

いほうがよい。 

12.6.2.3 coordinateOperationAccuracy 

<element name="coordinateOperationAccuracy"> 

<complexType> 

<sequence minOccurs="0"> 

<element ref="gmd:AbstractDQ̲PositionalAccuracy"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

</element> 

gml:coordinateOperationAccuracyは,ISO/TS 19139の符号化として,DQ̲PositionalAccuracyオブジェクト

に対する関連役割とし,位置正確度の定義を参照するか又は内包する。オブジェクトがもつ値は,座標操

作による点の位置正確度に及ぼす影響についての推定値とする。すなわち,演算元の座標には誤差がない

と仮定した,演算先の座標の位置誤差の推定値とする。 

12.6.2.4 sourceCRS 

<element name="sourceCRS" type="gml:CRSPropertyType"/> 

gml:sourceCRSは,この座標演算の演算元の座標参照系(source CRS)に対する関連役割とする。 

12.6.2.5 targetCRS 

<element name="targetCRS" type="gml:CRSPropertyType"/> 

gml:targetCRSは,演算先の座標参照系(target CRS)に対する関連役割とする。 

12.6.2.6 CoordinateOperationPropertyType 

<complexType name="CoordinateOperationPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractCoordinateOperation"/> 

</sequence> 


125 

X 7136:2012 (ISO 19136:2007) 

 

 

<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:CoordinateOperationPropertyTypeは,座標演算(coordinate operation)に対する関連役割のためのプロ

パティ型とし,座標演算の定義を参照するか又は内包する。 

12.6.2.7 AbstractSingleOperation 

<element name="AbstractSingleOperation" type="gml:AbstractCoordinateOperationType" abstract="true" 
substitutionGroup="gml:AbstractCoordinateOperation"/> 

gml:AbstractSingleOperationは,単一の(連結していない)座標演算とする。 

12.6.2.8 SingleOperationPropertyType 

<complexType name="SingleOperationPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractSingleOperation"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:SingleOperationPropertyTypeは,単一の演算に対する関連役割のためのプロパティ型とし,単一の演

算の定義を参照するか又は内包する。 

12.6.2.9 AbstractGeneralConversion 

<element name="AbstractGeneralConversion" type="gml:AbstractGeneralConversionType" abstract="true" 
substitutionGroup="gml:AbstractOperation"/> 

 

<complexType name="AbstractGeneralConversionType" abstract="true"> 

<complexContent> 

<restriction base="gml:AbstractCoordinateOperationType"> 

<sequence> 

<element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 

<element ref="gml:description" minOccurs="0"/> 
<element ref="gml:descriptionReference" minOccurs="0"/> 
<element ref="gml:identifier"/> 
<element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:remarks" minOccurs="0"/> 
<element ref="gml:domainOfValidity" minOccurs="0"/> 
<element ref="gml:scope" maxOccurs="unbounded"/> 
<element ref="gml:coordinateOperationAccuracy" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 
<attribute ref="gml:id" use="required"/> 

</restriction> 

</complexContent> 

</complexType> 

gml:AbstractGeneralConversionは,原子の変更を一切伴わない,座標の抽象演算とする。最もよく知られ

た座標換算の例は,地図投影法である。座標換算の内容を決めるパラメタは,経験的に導出したというよ

りは,定義したものである。換算の中には,パラメタをもたないものがあることに注意しなければならな

い。gml:operationVersion要素,gml:sourceCRS要素及びgml:targetCRS要素は,座標換算では省略する。 

 

 


126 

X 7136:2012 (ISO 19136:2007)  

 

 

この抽象複合型は,多くのConversionインスタンスによって,よく知られた演算手法用に拡張すること

を見込んでいるもので,GML応用スキーマの中で演算手法を特定した要素名及び内容を定義する。この換

算では,通常は,手法と関連するパラメタ値を使う演算手法を使用する。しかしながら,演算手法及びパ

ラメタ値は,下位の具象型によって直接に関連させることとし,抽象型によっては関連させない。この抽

象型から派生した全ての具象型には,抽象型を拡張して,“OperationMethod”を参照する“usesMethod”要

素がなければならない。同様に,この抽象型から派生した全ての具象型には,この抽象型を拡張し,それ

ぞれ“uses...Value”と表記した零個以上の要素をもたせて,それぞれの要素で

“AbstractGeneralParameterValue”要素を置換できる要素の型を使うようにする。 

metaDataProperty要素は,非推奨とする。また,gml:description要素は,部分的に非推奨となった。 

12.6.2.10 GeneralConversionPropertyType 

<complexType name="GeneralConversionPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractGeneralConversion"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:GeneralConversionPropertyTypeは,一般的な換算に対する関連役割のためのプロパティ型とし,換算

の定義を参照するか又は内包する。 

12.6.2.11 AbstractGeneralTransformation 

<element name="AbstractGeneralTransformation" type="gml:AbstractGeneralTransformationType" 
abstract="true" 
substitutionGroup="gml:AbstractOperation"/> 

 

<complexType name="AbstractGeneralTransformationType" abstract="true"> 

<complexContent> 

<restriction base="gml:AbstractCoordinateOperationType"> 

<sequence> 

<element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 

<element ref="gml:description" minOccurs="0"/> 
<element ref="gml:descriptionReference" minOccurs="0"/> 
<element ref="gml:identifier"/> 
<element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:remarks" minOccurs="0"/> 
<element ref="gml:domainOfValidity" minOccurs="0"/> 
<element ref="gml:scope" maxOccurs="unbounded"/> 
<element ref="gml:operationVersion"/> 
<element ref="gml:coordinateOperationAccuracy" minOccurs="0" 
maxOccurs="unbounded"/> 
<element ref="gml:sourceCRS"/> 
<element ref="gml:targetCRS"/> 

</sequence> 
<attribute ref="gml:id" use="required"/> 

</restriction> 

</complexContent> 

</complexType> 


127 

X 7136:2012 (ISO 19136:2007) 

 

 

gml:AbstractGeneralTransformationは,通常は原子の変更を伴う座標の抽象演算とする。座標変換

(transformation)のパラメタは,両方の座標参照系に属する点列の座標をもったデータから,経験的に導

出する。この計算処理では,通常,変換に対する誤差(又は正確度)の推定を可能とするために,解を求

める式の数は過剰になる。また,パラメタが確率論的な性質をもつことによって,結果として,同じ座標

変換で複数の(異なる)版をもたらす可能性がある。gml:operationVersionプロパティ要素,gml:sourceCRS

プロパティ要素及びgml:targetCRSプロパティ要素は,座標変換に必須な要素とする。 

この抽象複合型は,多数のTransformationインスタンスによって,よく知られた演算手法用に拡張する

ことを見込んでいるものであり,GML応用スキーマの中で演算手法を特定する値の要素名及び内容を定義

する。この変換は,手法と関連するパラメタ値とともに演算手法を使用する。しかしながら,演算手法及

びパラメタ値は,下位の具象型によって直接に関連させることとし,抽象型による関連はない。この抽象

型から派生した全ての具象型には,この抽象型を拡張して,“OperationMethod”を参照する“usesMethod”

要素がなければならない。同様に,この抽象型から派生した全ての具象型は,この抽象型を拡張しなけれ

ばならず,それぞれ“uses...Value”と表記した零個以上の要素をもたせて,それぞれの要素で

“AbstractGeneralParameterValue”要素を置換できる要素の型を使うようにする。 

metaDataProperty要素は,非推奨とする。また,gml:description要素は,部分的に非推奨となっている。 

12.6.2.12 GeneralTransformationPropertyType 

<complexType name="GeneralTransformationPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractGeneralTransformation"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:GeneralTransformationPropertyTypeは,一般的な変換に対する関連役割のためのプロパティ型とし,

変換の定義を参照するか又は内包する。 

12.6.3 具象座標演算 

12.6.3.1 ConcatenatedOperation 

<element name="ConcatenatedOperation" type="gml:ConcatenatedOperationType" 
substitutionGroup="gml:AbstractCoordinateOperation"/> 
<complexType name="ConcatenatedOperationType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateOperationType"> 

<sequence> 

<element ref="gml:coordOperation" minOccurs="2" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

gml:ConcatenatedOperationは,順序付けした一連の二つ以上の座標演算(coordinate operation)の列とす

る。この一連の演算は,一定の要件に従う。この要件とは,n+1番目のステップの演算の演算元の座標参

照系は,n番目のステップの演算から出力される座標参照系と同じものでなければならないというもので

ある。1番目の演算ステップである演算元の座標参照系及び最後の演算ステップの演算先の座標参照系は,

連結演算に関連付ける演算元及び演算先の座標参照系に等しい。逆演算が元のアルゴリズムの演算に対応


128 

X 7136:2012 (ISO 19136:2007)  

 

 

して一意に定まるときは,元のアルゴリズムの演算ばかりでなく,逆演算を上述の一つ以上の演算ステッ

プに使用することができる。 

gml:coordOperationプロパティ要素は,連結演算で使う二つ以上の演算への順序付けした一連の関連の列

である。gml:AggregationAttributeGroupは,gml:coordOperation関連が順序付けしてあることを明示するた

めに用いるとよい。 

12.6.3.2 coordOperation 

<element name="coordOperation" type="gml:CoordinateOperationPropertyType"/> 

gml:coordOperationは,座標演算への関連役割とする。 

12.6.3.3 ConcatenatedOperationPropertyType 

<complexType name="ConcatenatedOperationPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:ConcatenatedOperation"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:ConcatenatedOperationPropertyTypeは,連結演算への関連役割のためのプロパティ型とする。このプ

ロパティ型は,連結演算の定義を参照するか又は内包する。 

12.6.3.4 PassThroughOperation 

<element name="PassThroughOperation" type="gml:PassThroughOperationType" 
substitutionGroup="gml:AbstractSingleOperation"/> 
<complexType name="PassThroughOperationType"> 

<complexContent> 

<extension base="gml:AbstractCoordinateOperationType"> 

<sequence> 

<element ref="gml:modifiedCoordinate" maxOccurs="unbounded"/> 
<element ref="gml:coordOperation"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

gml:PassThroughOperationは,座標の一部(となる座標成分の組)が特定の座標演算の対象になることを

指定する。 

gml:modifiedCoordinateプロパティ要素は,順序付けした一連の正の整数の並びとし,この特定の通過演

算(pass-through operation)の対象となる座標成分が座標のどこに位置するかを定義する。

gml:AggregationAttributeGroupは,gml:modifiedCoordinate要素が順序付けしてあることを明示するために用

いるとよい。 

12.6.3.5 modifiedCoordinate 

<element name="modifiedCoordinate" type="positiveInteger"/> 

gml:modifiedCoordinateは,座標の中の成分の位置を定義する正の整数とする。 

12.6.3.6 PassThroughOperationPropertyType 

<complexType name="PassThroughOperationPropertyType"> 

<sequence minOccurs="0"> 


129 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:PassThroughOperation"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:PassThroughOperationPropertyTypeは,この特定の通過演算(pass-through operation)への関連役割の

ためのプロパティ型とし,この通過演算の定義を参照するか又は内包する。 

12.6.3.7 Conversion 

<element name="Conversion" type="gml:ConversionType" 
substitutionGroup="gml:AbstractGeneralConversion"/> 

 

<complexType name="ConversionType"> 

<complexContent> 

<extension base="gml:AbstractGeneralConversionType"> 

<sequence> 

<element ref="gml:method"/> 
<element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:Conversionは,原子の変更を一切含まない座標の具象演算とする。よく知られた座標換算(coordinate 

conversion)は,地図投影である。座標換算の内容を決めるパラメタは,定義であり経験的に導出したもの

ではない。換算の中には,パラメタをもたないものがあることに注意しなければならない。 

この具象複合型は,演算手法を特定した要素の名称及び内容を定義するGML応用スキーマを用いずに

使用できる。一つのConversionインスタンスだけをもつ手法に専ら用いる。 

12.6.3.8 method 

<element name="method" type="gml:OperationMethodPropertyType"/> 

gml:methodは,座標演算で用いる演算手法への関連役割とする。 

12.6.3.9 parameterValue 

<element name="parameterValue" type="gml:AbstractGeneralParameterValuePropertyType"/> 

gml:parameterValueは,座標演算で使用するパラメタ値又はパラメタ値のグループへの合成関連とする。 

12.6.3.10 ConversionPropertyType 

<complexType name="ConversionPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Conversion"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:ConversionPropertyTypeは,一般的な具象換算への関連役割のためのプロパティ型とし,換算の定義

を参照するか又は内包する。 

12.6.3.11 Transformation 

<element name="Transformation" type="gml:TransformationType" 
substitutionGroup="gml:AbstractGeneralTransformation"/> 

 

<complexType name="TransformationType"> 


130 

X 7136:2012 (ISO 19136:2007)  

 

 

<complexContent> 

<extension base="gml:AbstractGeneralTransformationType"> 

<sequence> 

<element ref="gml:method"/> 
<element ref="gml:parameterValue" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:Transformationは,gml:AbstractGeneralTransformation (12.6.2.11参照)から派生した具象オブジェク

ト要素とする。 

この具象オブジェクトは,演算手法を特定した要素の名称及び内容を定義するGML応用スキーマを用

いずに,全ての演算手法に使用することができる。一つのTransformationインスタンスだけをもつ手法に

専ら用いる。 

gml:parameterValue要素は,換算演算で使用するパラメタ値の集合への合成関連についての順序付けのな

いリストである。 

12.6.3.12 TransformationPropertyType 

<complexType name="TransformationPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Transformation"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:TransformationPropertyTypeは,変換(transformation)への関連役割のためのプロパティ型とし,変

換の定義を参照するか又は内包する。 

12.6.4 パラメタ値及びパラメタ値のグループ 

12.6.4.1 AbstractGeneralParameterValue 

<element name="AbstractGeneralParameterValue" type="gml:AbstractGeneralParameterValueType" 
abstract="true" substitutionGroup="gml:AbstractObject"/> 

 

<complexType name="AbstractGeneralParameterValueType" abstract="true"> 

<sequence/> 

</complexType> 

gml:AbstractGeneralParameterValueは,抽象パラメタ値又は抽象パラメタ値のグループである。 

この抽象複合型は,多くのインスタンスによってよく知られた演算手法用に拡張及び制限することを見

込んでいるものであり,GML応用スキーマの中で演算手法を特定した要素の名称及び内容を定義する。特

定のパラメタ値の要素は,下位の具象型に直にもたせるが,この抽象型にはもたせない。この抽象型から

派生した全ての具象型は,この抽象型を拡張して,ParameterValueTypeで許される要素型の一つとなる適

切な型を用いた“...Value”要素を一つ含まなければならない。さらに,この抽象型から派生した全ての具

象型は,この抽象型を拡張して,“operationParameter”プロパティ要素を含まなければならない。このプロ

パティ要素は,“OperationParameter”オブジェクト要素を代替できる一つの要素を参照する。 

12.6.4.2 AbstractGeneralParameterValuePropertyType 

<complexType name="AbstractGeneralParameterValuePropertyType"> 

<sequence> 


131 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:AbstractGeneralParameterValue" /> 

</sequence> 

</complexType> 

gml:AbstractGeneralParameterValuePropertyTypeは,パラメタ値又はパラメタ値のグループへの要素内の関

連役割のためのプロパティ型であり,常に値をもつ。 

12.6.4.3 ParameterValue 

<element name="ParameterValue" type="gml:ParameterValueType" 
substitutionGroup="gml:AbstractGeneralParameterValue"/> 

 

<complexType name="ParameterValueType"> 

<complexContent> 

<extension base="gml:AbstractGeneralParameterValueType"> 

<sequence> 

<choice> 

<element ref="gml:value"/> 

<element ref="gml:dmsAngleValue"/> 

<element ref="gml:stringValue"/> 
<element ref="gml:integerValue"/> 
<element ref="gml:booleanValue"/> 
<element ref="gml:valueList"/> 
<element ref="gml:integerValueList"/> 
<element ref="gml:valueFile"/> 

</choice> 
<element ref="gml:operationParameter"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:ParameterValueは,パラメタ値,順序付けした一連の値又はパラメタ値のファイルへの参照とする。

この具象複合型は,演算手法を特定した要素名及び内容を定義するGML応用スキーマを用いずに,演算

手法に使用できる。一つのインスタンスだけをもつ手法に専ら用いる。この(抽象)複合型を,よく知ら

れた演算手法のために,特に多くのインスタンスをもつ手法のために,使用し,拡張し又は制限してもよ

い。 

dmsAngleValue要素は,非推奨とする。 

12.6.4.4 value 

<element name="value" type="gml:MeasureType"/> 

gml:valueは,演算パラメタの数値であり,これに関連する計測単位をもつ。 

12.6.4.5 stringValue 

<element name="stringValue" type="string"/> 

gml:stringValueは,演算パラメタの文字列の値とする。文字列の値には,関連する計測単位はない。 

12.6.4.6 integerValue 

<element name="integerValue" type="positiveInteger"/> 

gml:integerValueは,演算パラメタの正の整数値とし,通常は計数に使用する。整数値には,関連する計

測単位はない。 


132 

X 7136:2012 (ISO 19136:2007)  

 

 

12.6.4.7 booleanValue 

<element name="booleanValue" type="boolean"/> 

gml:integerValueは,演算パラメタのブール値とする。ブール値には,関連する計測単位はない。 

12.6.4.8 valueList 

<element name="valueList" type="gml:MeasureListType"/> 

gml:valueListは,演算パラメタリストである順序付けした一連の二つ以上の数値とし,値それぞれに関

連する同じ計測単位をもつ。この型の要素は,スペースで区切った一連の倍精度浮動小数点数の値をもつ。 

12.6.4.9 integerValueList 

<element name="integerValueList" type="gml:integerList"/> 

gml:integerValueListは,演算パラメタリストである順序付けした二つ以上の整数値の列とし,通常は計

数に用いる。これらの整数値には,関連する計測単位はない。この型の要素は,スペースで区切った整数

値の列をもつ。 

12.6.4.10 valueFile 

<element name="valueFile" type="anyURI"/> 

gml:valueFileは,数値ごとに関連する計測単位が付いた,一つ以上のパラメタをもつファイルへの参照

又はファイルの一部への参照とする。ファイルの一部を参照するには,ファイルの中にXML符号化文書

のように,複数の識別できる部分がなければならない。さらに,参照先のファイル又はファイルの一部は,

XML文書で許されているように,同じ又は異なるファイルの他の部分を参照してもよい。 

12.6.4.11 operationParameter 

<element name="operationParameter" type="gml:OperationParameterPropertyType"/> 

gml:operationParameterは,これ自体が演算パラメタ値であり,その演算パラメタへの関連役割とする。 

12.6.4.12  ParameterValueGroup 

<element name="ParameterValueGroup" type="gml:ParameterValueGroupType" 
substitutionGroup="gml:AbstractGeneralParameterValue"/> 

 

<complexType name="ParameterValueGroupType"> 

<complexContent> 

<extension base="gml:AbstractGeneralParameterValueType"> 

<sequence> 

<element ref="gml:parameterValue" minOccurs="2" maxOccurs="unbounded"/> 
<element ref="gml:group"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:ParameterValueGroupは,相互に関係のあるパラメタ値からなるグループとする。同じ型のグループ

を,換算,変換又は上位のParameterValueGroupの中で,1回以上繰り返すことができる。ただし,これら

のグループのインスタンスは,グループの区別がうまくできるように,一つ以上のparameterValuesについ

て異なる値をもたなければならない。この具象複合型は,演算手法を特定した要素名及び内容を定義する

GML応用スキーマを用いずに,演算手法に使用できる。この(抽象)複合型は,よく知られた演算手法の

ために,使用し,拡張し又は制限してもよい。一つのインスタンスだけをもつ手法に専ら用いる。 

gml:parameterValue要素は,このグループに内包しているパラメタ値及びパラメタ値のグループに対する


133 

X 7136:2012 (ISO 19136:2007) 

 

 

合成役割についての,順序付けのない集合とする。 

12.6.4.13 group 

<element name="group" type="gml:OperationParameterGroupPropertyType"/> 

gml:groupは,この要素がパラメタ値を提供している演算パラメタグループに対する関連役割とする。 

12.6.5 演算手法 

12.6.5.1 OperationMethod 

<element name="OperationMethod" type="gml:OperationMethodType" substitutionGroup="gml:Definition"/> 

 

<complexType name="OperationMethodType"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<choice> 

<element ref="gml:formulaCitation"/> 
<element ref="gml:formula"/> 

</choice> 
<element ref="gml:sourceDimensions" minOccurs="0"/> 
<element ref="gml:targetDimensions" minOccurs="0"/> 
<element ref="gml:parameter" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:OperationMethodは,座標演算の実行に用いる手法(アルゴリズム又は手続)とする。幾つかの座標

換算ではパラメタを使わないが,演算手法のほとんどは,複数の演算パラメタを用いる。 

各座標変換では,ここに示す手法を使って,値をこれらの複数のパラメタに割り当てる。gml:parameter

要素は,この演算手法で使用するパラメタ及びパラメタグループに対する関連についての,順序付けのな

いリストとする。 

12.6.5.2 formula及びformulaCitation 

<element name="formula" type="gml:CodeType"/> 

gml:formulaは,演算手法で使用する式又は手続とする。 

codespace属性の使用は,非推奨とする。プロパティの値は,文字列でなければならない。 

<element name="formulaCitation"> 

<complexType> 

<sequence minOccurs="0"> 

<element ref="gmd:CI̲Citation"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

</element> 

gml:formulaCitationは,座標演算手法で用いる式又は手続を載せた発行物についての参照情報とする。 

12.6.5.3 sourceDimensions 

<element name="sourceDimensions" type="positiveInteger"/> 

gml:sourceDimensionsは,この演算手法の演算元のCRSの次元の数とする。 


134 

X 7136:2012 (ISO 19136:2007)  

 

 

12.6.5.4 targetDimensions 

<element name="targetDimensions" type="positiveInteger"/> 

gml: targetDimensionsは,この演算手法の座標変換先のCRSの次元の数とする。 

12.6.5.5 parameter 

<element name="parameter" type="gml:AbstractGeneralOperationParameterPropertyType"/> 

gml:parameterは,演算パラメタ又はパラメタグループに対する関連とする。 

12.6.5.6 OperationMethodPropertyType 

<complexType name="OperationMethodPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:OperationMethod"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:OperationMethodPropertyTypeは,具象一般演算手法に対する関連役割のためのプロパティ型とし,

その手法の定義を参照するか又は定義を内包する。 

12.6.6 演算パラメタ及びグループ 

12.6.6.1 AbstractGeneralOperationParameter 

<element name="AbstractGeneralOperationParameter" type="gml:AbstractGeneralOperationParameterType" 
abstract="true" substitutionGroup="gml:Definition"/> 

 

<complexType name="AbstractGeneralOperationParameterType" abstract="true"> 

<complexContent> 

<extension base="gml:IdentifiedObjectType"> 

<sequence> 

<element ref="gml:minimumOccurs" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:GeneralOperationParameterは,演算手法が用いるパラメタ又はパラメタグループの抽象定義とする。 

12.6.6.2 minimumOccurs 

<element name="minimumOccurs" type="nonNegativeInteger"/> 

gml:minimumOccursは,このパラメタグループの値又はパラメタ値が存在する回数の最小値とする。こ

の値が省略される場合,最小値は1とする。 

12.6.6.3 AbstractGeneralOperationParameterPropertyType 

<complexType name="AbstractGeneralOperationParameterPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractGeneralOperationParameter"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:AbstractGeneralOperationParameterPropertyTypeは,演算パラメタ又はグループに対する関連役割のた

めのプロパティ型とし,パラメタ又はグループの定義を参照するか又は定義を内包する。 

12.6.6.4 OperationParameter 


135 

X 7136:2012 (ISO 19136:2007) 

 

 

<element name="OperationParameter" type="gml:OperationParameterType" 
substitutionGroup="gml:AbstractGeneralOperationParameter"/> 

 

<complexType name="OperationParameterType"> 

<complexContent> 

<extension base="gml:AbstractGeneralOperationParameterType"> 

<sequence/> 

</extension> 

</complexContent> 

</complexType> 

gml:OperationParameterは,演算手法で用いるパラメタの定義とする。パラメタ値のほとんどは数値であ

るが,他の型のパラメタ値を用いることもできる。この複合型は,演算方法を特定した要素名を定義する

ことなしに,演算手法全てのために使用し,拡張することを見込んでいる。 

12.6.6.5 OperationParameterPropertyType 

<complexType name="OperationParameterPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:OperationParameter"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:OperationParameterPropertyTypeは,演算パラメタに対する関連役割のためのプロパティ型とし,そ

のパラメタの定義を参照するか又は定義を内包する。 

12.6.6.6 OperationParameterGroup 

<element name="OperationParameterGroup" type="gml:OperationParameterGroupType" 
substitutionGroup="gml:AbstractGeneralOperationParameter"/> 

 

<complexType name="OperationParameterGroupType"> 

<complexContent> 

<extension base="gml:AbstractGeneralOperationParameterType"> 

<sequence> 

<element ref="gml:maximumOccurs" minOccurs="0"/> 
<element ref="gml:parameter" minOccurs="2" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:OperationParameterGroupは,演算手法で用いるパラメタのグループの定義とする。 

この複合型は,演算方法を特定した要素名を定義することなしに,適用可能な演算手法全てのために,

使用し,拡張することを見込んでいる。 

gml:parameter要素は,この演算グループのメンバである演算パラメタの集合に対する関連についての,

順序付けのないリストとする。 

12.6.6.7 maximumOccurs 

<element name="maximumOccurs" type="positiveInteger"/> 

gml:maximumOccursは,このパラメタグループの値が存在してもよい回数の最大値とする。このパラメ

タが省略される場合,最大数は1とする。 


136 

X 7136:2012 (ISO 19136:2007)  

 

 

12.6.6.8 OperationParameterPropertyType 

<complexType name="OperationParameterGroupPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:OperationParameterGroup"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:OperationParameterPropertyTypeは,演算パラメタグループへの関連役割のためのプロパティ型とし,

パラメタグループの定義を参照するか又は定義を内包する。 

 

13 GMLスキーマ−位相 

13.1 一般概念 

13.1.1 概要 

位相とは,連続的な変形の下でも不変なオブジェクトの性質を記述する数学の分野とする。例えば,円

は,それを広げることによってだ(楕)円に変形するため,だ(楕)円と位相的には等しい。地理モデル

では,位相の主要な使い道は,計算幾何の高速化である。位相の構成は,単純な組合せアルゴリズム又は

代数アルゴリズムを使う,オブジェクト間の空間関係の特徴付けを可能にする。適切な幾何によって実現

した位相は,地物間で共有する幾何を表現するために簡潔で組合せ的なメカニズムも可能にする。 

注記1 GMLの位相モデルは,JIS X 7107:2005に適合する。基となるGML位相モデルの要素及び型

の概念は,より詳細にこの文書中で規定する。 

箇条13では,GMLで規定した位相スキーマ構成要素を示す。 

注記2 位相スキーマ文書に対応するtopology.xsd(附属書C参照)は,次の(URN構文を使った)

位置独立名によって識別する。 

urn:x-ogc:specification:gml:schema-xsd:topology:3.2.1 

基本的な位相オブジェクトにはインスタンス化可能な四つのクラスがあり,一つのクラスにつき,それ

ぞれ三次までの次元がある。さらに,位相複体が使用できる。 

隣接した次元の位相プリミティブ間の(位相境界及び双対境界)関係には,強い対称性がある。位相プ

リミティブは,一つ低い次元の有向プリミティブによって囲まれている。それぞれの位相プリミティブの

双対境界は,一つ高い次元の有向位相プリミティブから形成される。 

13.1.2 JIS X 7107との関係 

箇条13で規定するGMLスキーマの空間位相構成部品は,JIS X 7107空間スキーマ(位相)に適合する

部分的な実装を与える。この関係の詳細は,D.2.3で示す。 

GMLで実装しているJIS X 7107 位相型は,JIS X 7107で規定している。そして,幾つかの追加制限を,

これらの型に対してJIS X 7107で規定しており,GMLスキーマの空間位相構成部品においても,それら

の制限が存在する。 

さらに,GMLは,D.3.10で規定しているように,補足的空間位相スキーマ構成部品を規定する。 

13.2 抽象位相 

<complexType name="AbstractTopologyType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGMLType"/> 

</complexContent> 


137 

X 7136:2012 (ISO 19136:2007) 

 

 

</complexType> 

 

<element name="AbstractTopology" type="gml:AbstractTopologyType" abstract="true" 
substitutionGroup="gml:AbstractGML"/> 

この抽象型は,プリミティブ及び複合体を含む全ての位相要素の根底又は基本型を与える。 

gml:AbstractTopologyは,JIS X 7107のTP̲Object を実装する(D.2.4.2及びJIS X 7107:2005の7.2.2参照)。 

13.3 位相プリミティブ 

13.3.1 抽象位相プリミティブ 

13.3.1.1 AbstractTopoPrimitiveType及びAbstractTopoPrimitive 

<complexType name="AbstractTopoPrimitiveType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractTopologyType"> 

<sequence/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="AbstractTopoPrimitive" type="gml:AbstractTopoPrimitiveType" abstract="true" 
substitutionGroup="gml:AbstractTopology"/> 

gml:AbstractTopoPrimitiveは,JIS X 7107のTP̲Primitiveを実装する(D.2.4.3及びJIS X 7107:2005の7.3.10

参照)。 

この抽象型は,全ての位相プリミティブ(topological primitive)の基本型としての役割を担う。位相プリ

ミティブは,位相複体中の最小の不可分な要素とする。 

それぞれの位相プリミティブは,次元の差が2以上の(下位型で実装されているgml:isolated)他の位相

プリミティブへの参照を含むことができる。 

例 フェイスは,孤立ノードを含むことができ,立体は,孤立ノード及びエッジを含むことができる

が,ノードは,コンテナとしてフェイスをもつことができ,そして,ノード及びエッジは,コン

テナ(下位型で実装されているgml:container)として立体をもつことができる。 

13.3.2 位相プリミティブ(零次元) 

13.3.2.1 NodeType及びNode 

<complexType name="NodeType"> 

<complexContent> 

<extension base="gml:AbstractTopoPrimitiveType"> 

<sequence> 

<element name="container" type="gml:FaceOrTopoSolidPropertyType" minOccurs="0"/> 
<element ref="gml:directedEdge" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:pointProperty" minOccurs="0"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Node" type="gml:NodeType" substitutionGroup="gml:AbstractTopoPrimitive"/> 


138 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:Nodeは,零次元プリミティブを代表し,JIS X 7107のTP̲Nodeを実装する(D.2.4.3及びJIS X 

7107:2005の7.3.12参照)。 

gml:containerプロパティ要素は,JIS X 7107の“Isolated In”関連の同じ名前の役割を実装する(JIS X 

7107:2005の7.3.10.4及びこの規格のD.2.4.3参照)。 

<complexType name="FaceOrTopoSolidPropertyType"> 

<choice minOccurs="0"> 

<element ref="gml:Face"/> 
<element ref="gml:TopoSolid"/> 

</choice> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

ノード(node)の任意の双対境界(gml:directedEdge)は,このノードに出入りする有向エッジ(directed 

edge)の列とする。このノードから出るエッジは,負の向きを伴ってノード双対境界に現れる。 

平面位相の場合,gml:directedEdgesの列は,欠損のない位相表現を保障するために時計回りでなければ

ならない。 

その場合,aggregationType属性は,値“sequence”をもたなければならない。 

ノードは,任意に零次元幾何プリミティブ(gml:pointProperty)によって幾何実現することができる。 

13.3.2.2 DirectedNodePropertyType及びdirectedNode 

<element name="directedNode" type="gml:DirectedNodePropertyType"/> 

 

<complexType name="DirectedNodePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Node"/> 

</sequence> 
<attribute name="orientation" type="gml:SignType" default="+"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:directedNodeプロパティ要素は,位相エッジの境界を示し,後述するgml:TopoPoint表現を通して位

相点地物に使用する。gml:SignType型の方向(orientation)属性は,含まれたノードが,始点ノード(“-”)

又は終点ノード(“+”)として使われているという意味を表す。 

13.3.3 位相プリミティブ(一次元) 

13.3.3.1 EdgeType及びEdge 

<complexType name="EdgeType"> 

<complexContent> 

<extension base="gml:AbstractTopoPrimitiveType"> 

<sequence> 

<element name="container" type="gml:TopoSolidPropertyType" minOccurs="0"/> 
<element ref="gml:directedNode" minOccurs="2" maxOccurs="2"/> 
<element ref="gml:directedFace" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:curveProperty" minOccurs="0"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 


139 

X 7136:2012 (ISO 19136:2007) 

 

 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Edge" type="gml:EdgeType" substitutionGroup="gml:AbstractTopoPrimitive"/> 

gml:Edgeは,一次元プリミティブを表現し,JIS X 7107のTP̲Edgeを実装する(D.2.4.3及びJIS X 

7107:2005の7.3.14参照)。 

gml:containerプロパティ要素は,JIS X 7107の“Isolated In”関連における同じ名前の役割を実装してい

る(JIS X 7107:2005の7.3.10.4及びこの規格のD.2.4.3参照)。 

エッジの位相境界(gml:directed node)は,負の有向始点ノード(directed start Node)及び正の有向終点

ノード(directed end Node)からなる。 

エッジの任意選択の双対境界(gml:directedFace)は,出現順にこのエッジに出入りする有向フェイス

(directed face)の環状列とする。二次元の場合,エッジの左側のフェイスの向きは“+”で,エッジの右

側のフェイスの向きは“-”になる。 

その場合,aggregationType属性は,値“sequence”をもたなければならない。 

エッジは,一次元幾何プリミティブ(gml:curveProperty)によって任意選択で幾何実現することができる。 

13.3.3.2 DirectedEdgePropertyType及びdirectedEdge 

<element name="directedEdge" type="gml:DirectedEdgePropertyType"/> 

 

<complexType name="DirectedEdgePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Edge"/> 

</sequence> 
<attribute name="orientation" type="gml:SignType" default="+"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:directedEdgeプロパティ要素は,位相フェイスの境界及び位相ノードの双対境界を示し,後述する

gml:TopoCurve表示を通して位相線地物に使用する。gml:SignType型の方向(orientation)属性は,含まれ

ているエッジが,進行方向又は反対方向で使われているという意味を表す。 

13.3.4 位相プリミティブ(二次元) 

13.3.4.1 FaceType及びFace 

<complexType name="FaceType"> 

<complexContent> 

<extension base="gml:AbstractTopoPrimitiveType"> 

<sequence> 

<element name="isolated" type="gml:NodePropertyType" minOccurs="0" 

maxOccurs="unbounded"/> 

<element ref="gml:directedEdge" maxOccurs="unbounded"/> 
<element ref="gml:directedTopoSolid" minOccurs="0" maxOccurs="2"/> 
<element ref="gml:surfaceProperty" minOccurs="0"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 
<attribute name="universal" type="boolean" use="optional" default="false"/> 


140 

X 7136:2012 (ISO 19136:2007)  

 

 

</extension> 

</complexContent> 

</complexType> 

 

<element name="Face" type="gml:FaceType" substitutionGroup="gml:AbstractTopoPrimitive"/> 

gml:Faceは,二次元位相プリミティブを表し,JIS X 7107のTP̲Faceを実装する(D.2.4.3及びJIS X 

7107:2005の7.3.16参照)。 

gml:isolatedプロパティ要素は,JIS X 7107の“Isolated In”関連と同じ名前の役割を実装する(JIS X 

7107:2005の7.3.10.4及びこの規格のD.2.4.3参照)。 

フェイスの位相境界(gml:directedEdge)は,有向エッジの列からなる。その場合,aggregationType属性

は,値“sequence”をもたなければならない。 

注記1 ぶら下がりエッジを含め,フェイスに関連する全てのエッジは,境界に現れる。ぶら下がり

エッジは,両側に同じフェイスをもつ。結果的に,一つのぶら下がりエッジは,その境界に

二つの異なったノードをもつ。ぶら下がりエッジは,零か,一つ,又は二つの異なったノー

ドをフェイスの境界にある他のエッジと共有することができる。異なった向きをもった二つ

のdirectedEdge要素は,フェイスの境界にあるそれぞれのぶら下がりエッジを参照する。フ

ェイスの境界にあるぶら下がりのないエッジは,一つ以上の位相輪を構成する。それぞれの

輪は,輪体の中でつながった複数のdirectedEdgeからなり,その左側にフェイスがある。 

フェイス(gml:directedTopoSolid)の任意の双対境界は,このフェイスによって区切られた一対の有向立

体とする。正の有向立体は,いかなる幾何実現でも,フェイスから負の向きをもつ法線の向きにある一つ

の立体に対応している。 

フェイスは,二次元幾何プリミティブ(gml:surfaceProperty)によって任意に実現することができる。 

位相表現が非有界な多様体として存在する場合は(例 ユークリッド面),gml:Faceは,欠損のない位相

表現を保証するために,それが全域フェイスであるかそうではないかを示さなければならない。ブール型

の任意の大域属性は,これを示すために使う。 

注記2 全域フェイスは,通常,どんな地物の一部でもなく,非有界なデータ集合の一部分を表現す

るために使う。その内側境界(外部境界はもたない。)は,通常,データ集合によって表現さ

れた地図の外部境界と考えられる。 

13.3.4.2 DirectedFacePropertyType及びdirectedFace 

<element name="directedFace" type="gml:DirectedFacePropertyType"/> 

 

<complexType name="DirectedFacePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Face"/> 

</sequence> 
<attribute name="orientation" type="gml:SignType" default="+"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:directedFaceプロパティ要素は,位相エッジの双対境界に含まれ,位相立方体(topological solid)の

境界を記述し,後述するgml:TopoSurface表現を通して曲面地物に使用する。gml:SignType型の方向

(orientation)属性は,含まれたフェイスが,例えば,どんな幾何実現に対しても法線方向にある曲面に関


141 

X 7136:2012 (ISO 19136:2007) 

 

 

して,内向きか外向きかで使われるという意味で表現する。 

13.3.5 位相プリミティブ(三次元) 

13.3.5.1 TopoSolidType及びTopoSolid 

<complexType name="TopoSolidType"> 

<complexContent> 

<extension base="gml:AbstractTopoPrimitiveType"> 

<sequence> 

<element name="isolated" type="gml:NodeOrEdgePropertyType" minOccurs="0" 

maxOccurs="unbounded"/> 

<element ref="gml:directedFace" maxOccurs="unbounded"/> 
<element ref="gml:solidProperty" minOccurs="0"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 
<attribute name="universal" type="boolean" use="optional" default="false"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="TopoSolid" type="gml:TopoSolidType" substitutionGroup="gml:AbstractTopoPrimitive"/> 

gml:TopoSolidは,三次元位相プリミティブを表し,JIS X 7107のTP̲Solidを実装する(D.2.4.3及びJIS 

X 7107:2005の7.3.18参照)。 

gml:isolatedプロパティ要素は,JIS X 7107の“Isolated In”関連と同じ名前の役割を実装している(JIS X 

7107:2005の7.3.10.4及びこの規格のD.2.4.3参照)。 

<complexType name="NodeOrEdgePropertyType"> 

<choice minOccurs="0"> 

<element ref="gml:Node"/> 
<element ref="gml:Edge"/> 

</choice> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

一つの立体の位相境界(gml:directedFace)は,有向フェイス(directed face)の集合からなる。 

注記1 ぶら下がりフェイスを含む立体に関連する全てのフェイスは,境界に現れる。ぶら下がりフ

ェイスは,両側に同じ立体をもつ。反対の向きをもつ二つのdirectedFace要素は,位相立体

の境界にあるそれぞれのぶら下がりフェイスを参照する。 

立体は,三次元幾何プリミティブ(gml:solidProperty)によって任意に実現することができる。 

gml:TopoSolidは,欠損のない位相表現を保証するため,それが全域位相立体であるかどうかを示さなけ

ればならない。これを示すために,ブール型の任意の大域属性を使い,既定値はfalseとする。 

注記2 全域位相立体は,通常,どの地物の一部でもなく,データ集合の非有界な部分を代表するた

めに使う。その内部境界(外部境界はない。)は,通常,データ集合の外部境界と考えられて

いる。 

13.3.5.2 DirectedTopoSolidPropertyType及びdirectedTopoSolid 

<element name="directedTopoSolid" type="gml:DirectedTopoSolidPropertyType"/> 

 
 


142 

X 7136:2012 (ISO 19136:2007)  

 

 

<complexType name="DirectedTopoSolidPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TopoSolid"/> 

</sequence> 
<attribute name="orientation" type="gml:SignType" default="+"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:directedSolidプロパティ要素は,位相フェイスの双対境界を示し,gml:TopoVolume表現を通して立

体に使用する。gml:SignType型の方向(orientation)属性は,含まれた立体がフェイス双対境界に現れると

いう意味を表現している。gml:TopoVolumeでは,方向属性は何の意味ももたない。 

13.4 位相の集まり 

13.4.1 位相の集まり(零次元) 

13.4.1.1 TopoPointType及びTopoPoint 

<complexType name="TopoPointType"> 

<complexContent> 

<extension base="gml:AbstractTopologyType"> 

<sequence> 

<element ref="gml:directedNode"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="TopoPoint" type="gml:TopoPointType"/> 

gml:TopoPointの使用目的は,点地物の中で,共有のノード定義を通して他の地物へのこの地物の構造上

の関係及び可能な幾何の関係を表現する。 

注記 gml:directedNodeに割り当てられた向きは,この場合は,何の意味ももたない。それは,他次元

の対応する要素を伴った対称性のために保存されている。 

13.4.1.2 TopoPointPropertyType及びtopoPointProperty 

<complexType name="TopoPointPropertyType"> 

<sequence> 

<element ref="gml:TopoPoint"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

 

<element name="topoPointProperty" type="gml:TopoPointPropertyType"/> 

gml:topoPointPropertyプロパティ要素は,参照する位相ノードとの関係を表現するために,地物において

使用することができる。 

13.4.2 位相の集まり(一次元) 

13.4.2.1 TopoCurveType及びTopoCurve 

<complexType name="TopoCurveType"> 

<complexContent> 

<extension base="gml:AbstractTopologyType"> 

<sequence> 


143 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:directedEdge" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="TopoCurve" type="gml:TopoCurveType"/> 

gml:TopoCurveは,実現したものが幾何曲線プリミティブと同型である場合は,有向エッジの列として

単一の位相を表現する。gml:TopoCurveは,線地物の中で現れ,共有するエッジ定義を通して他の地物と

この地物との,構造上及び幾何的な関係を表現することをその使用目的とする。 

その場合,aggregationType属性は,値“sequence”としなければならない。 

13.4.2.2 TopoCurvePropertyType及びtopoCurveProperty 

<complexType name="TopoCurvePropertyType"> 

<sequence> 

<element ref="gml:TopoCurve"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

 

<element name="topoCurveProperty" type="gml:TopoCurvePropertyType"/> 

プロパティ要素gml:topoCurvePropertyは,参照する位相エッジとの関係を表現する地物の中で使用する

ことができる。 

13.4.3 位相の集まり(二次元) 

13.4.3.1 TopoSurfaceType及びTopoSurface 

<complexType name="TopoSurfaceType"> 

<complexContent> 

<extension base="gml:AbstractTopologyType"> 

<sequence> 

<element ref="gml:directedFace" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 
 

</complexType> 

 

<element name="TopoSurface" type="gml:TopoSurfaceType"/> 

gml:TopoSurfaceは,幾何実現したものが幾何曲面プリミティブと同型の場合は,有向フェイスの集合で

ある単一の位相を表現している。gml:TopoSurfaceは,曲面地物の中で現れ,共有するフェイス定義を通し

て他の地物とこの地物との,構造上及び幾何的な関係を表現することをその使用目的とする。 

13.4.3.2 TopoSurfacePropertyType及びtopoSurfaceProperty 

<complexType name="TopoSurfacePropertyType"> 

<sequence> 

<element ref="gml:TopoSurface"/> 

</sequence> 


144 

X 7136:2012 (ISO 19136:2007)  

 

 

<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

 

<element name="topoSurfaceProperty" type="gml:TopoSurfacePropertyType"/> 

gml:topoSurfacePropertyプロパティ要素は,参照した位相フェイスとの関係を表現するために,地物の中

で使うことができる。 

13.4.4 位相の集まり(三次元) 

13.4.4.1 TopoVolumeType及びTopoVolume 

<complexType name="TopoVolumeType"> 

<complexContent> 

<extension base="gml:AbstractTopologyType"> 

<sequence> 

<element ref="gml:directedTopoSolid" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="TopoVolume" type="gml:TopoVolumeType"/> 

gml:TopoVolumeは,実現したものが幾何立体プリミティブと同型の場合は,有向位相立体(directed 

topological solid)の集合である単一の位相を表現する。gml:TopoVolumeは,立体地物の中で現れ,共有す

るソリッド定義を通して他の地物とこの地物との,構造上及び幾何的な関係を表現することをその使用目

的とする。 

注記 gml:directedSolidに割り当てられた向きは,三次元では何の意味ももたない。それは,既に示し

た他次元の対応する要素を伴った対称性のために保存される。 

13.4.4.2 TopoVolumePropertyType及びtopoVolumeProperty 

<complexType name="TopoVolumePropertyType"> 

<sequence> 

<element ref="gml:TopoVolume"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

 

<element name="topoVolumeProperty" type="gml:TopoVolumePropertyType"/> 

gml:topoVolumeProperty要素は,参照した立体との関係を表現するために,地物に使うことができる。 

13.5 位相複体 

13.5.1 TopoComplexType及びTopoComplex 

<complexType name="TopoComplexType"> 

<complexContent> 

<extension base="gml:AbstractTopologyType"> 

<sequence> 

<element ref="gml:maximalComplex"/> 
<element ref="gml:superComplex" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:subComplex" minOccurs="0" maxOccurs="unbounded"/> 


145 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:topoPrimitiveMember" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:topoPrimitiveMembers" minOccurs="0"/> 

</sequence> 
<attribute name="isMaximal" type="boolean" default="false"/> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

 

<element name="TopoComplex" type="gml:TopoComplexType" 
substitutionGroup="gml:AbstractTopology"/> 

gml:TopoComplexは,位相プリミティブの集まりであり,JIS X 7107のTP̲Complexを実装する(D.2.4.4

及びJIS X 7107:2005の7.4.2参照)。 

それぞれの複体(complex)は,その最大複体(gml:maximalComplex)及び任意選択で部分複体又は上位

複体(gml:subComplex又はgml:superComplex)への参照を保持する。 

位相複体は,そのプリミティブ及び部分複体メンバを含む。 

注記 最大の複体は,上位複体をもたない複体である。一つの位相集合につき唯一,かつ,最大の複

体がある。 

13.5.2 最大複体,部分複体及び上位複体 

<element name="subComplex" type="gml:TopoComplexPropertyType"/> 
<element name="superComplex" type="gml:TopoComplexPropertyType"/> 
<element name="maximalComplex" type="gml:TopoComplexPropertyType"/> 

プロパティ要素gml:subComplex,gml:superComplex及びgml:maximalComplexは,上記のgml:TopoComplex

で示すように,位相複体の間の関係のための符号化法を与える。 

13.5.3 topoPrimitiveMember 

<element name="topoPrimitiveMember" type="gml:TopoPrimitivePropertyType"/> 

 

<complexType name="TopoPrimitivePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractTopoPrimitive" /> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:topoPrimitiveMemberプロパティ要素は,位相複体及び単一の位相プリミティブの間の関係を符号化

する。 

13.5.4 topoPrimitiveMembers 

<element name="topoPrimitiveMembers" type="gml:TopoPrimitiveArrayAssociationType"/> 

 

<complexType name="TopoPrimitiveArrayAssociationType"> 

<sequence minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:AbstractTopoPrimitive" /> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 


146 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:topoPrimitiveMembersプロパティ要素は,位相複体及び任意の数の位相プリミティブの間の関係を符

号化する。 

注記 このプロパティ値は,複数の位相プリミティブになることがあるので,位相プリミティブを表

す要素群は,常に要素内で符号化する。 

13.5.5 TopoComplexPropertyType及びtopoComplexProperty 

<complexType name="TopoComplexPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TopoComplex" /> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

 

<element name="topoComplexProperty" type="gml:TopoComplexPropertyType"/> 

プロパティ要素gml:topoComplexPropertyは,GMLオブジェクト及び位相複体の間の関係を符号化する。 

例 これは,地物の集まりのメンバが参照する位相オブジェクトを含む位相複体を含むか又は参照す

る地物の集まりを許す。 

 

14 GMLスキーマ−時間情報及び動的地物 

14.1 一般概念 

14.1.1 概要 

GML時間スキーマは,時間の幾何及び位相,時間参照系,並びに地理データの時間特性を示す構成部品

を含む。この表現の基となるモデルは,JIS X 7108:2004が規定する概念スキーマのプロファイルである。

この基となる時空間モデルは,地物の水準と属性の水準との両方で時刻の記録を可能とするように規定す

る。移動する物体を追跡するための基本的な機能も含んでいる。 

時間は,間隔及び順序の二種類の尺度で計測する。間隔の尺度は,期間を計測する基礎を与え,順序の

尺度は,時間における相対的な位置だけの情報を指定する。 

例 層位学的順序又は地質学的時間尺度は,順序尺度の例である。 

次の二つの規格が時間オブジェクトの記述に関係する。JIS X 0301は,瞬間及び期間に対する特定の構

造及び区切り記号をもつ文字列を用いた符号化を規定する。ISO/IEC 11404は,言語と独立なデータ型の

一般的な議論の中で,時間間隔の詳細な規則を示す。 

時間スキーマは,二つの密接に関連する事項を対象とし,その第一は,瞬間及び期間,時間位相,並び

に参照系を表現するための基本的なスキーマ構成部品の規定であり,その第二は,個別のスキーマ構成部

品において移動地物に対して用いる,構成部品の定義である。時間幾何型のインスタンスは,幾何地物の

時間プロパティの値として用いる。 

注記 主要な時間スキーマ文書は,(URN構文を用いた)次の位置独立名で識別する。 

urn:x-ogc:specification:gml:schema-xsd:temporal:3.2.1 

時間位相スキーマ文書は,(URN構文を用いた)次の位置独立名で識別する。 

urn:x-ogc:specification:gml:schema-xsd:temporalTopology:3.2.1 

時間参照系のためのスキーマ文書は,(URN構文を用いた)次の位置独立名で識別する。 

urn:x-ogc:specification:gml:schema-xsd:temporalReferenceSystems:3.2.1 

地物がもつ時間変化するプロパティを表現するための動的地物スキーマ文書は,(URN構文


147 

X 7136:2012 (ISO 19136:2007) 

 

 

を用いた)次の位置独立名で識別する。 

urn:x-ogc:specification:gml:schema-xsd:dynamicFeature:3.2.1 

全てのスキーマ文書の一覧を附属書Cに示す。 

14.1.2 JIS X 7108との関係 

この箇条14で規定するGMLスキーマの時間幾何及び時間位相の構成部品は,JIS X 7108の時間スキー

マに適合し,その部分的な実装を規定する。この関係の詳細は,D.2.5で規定する。 

GMLで実装するJIS X 7108の幾何及び位相型は,JIS X 7108で規定するが,JIS X 7108はこれらの型に

幾つかの追加の制約を規定しており,これは,GMLスキーマの時間幾何及び時間位相の構成部品も同様に

制約する。 

さらに,GMLはD.3.11に示す補足的な時間スキーマ構成部品を規定する。 

14.2 時間スキーマ 

14.2.1 抽象時間オブジェクト 

14.2.1.1 AbstractTimeObject 

gml:AbstractTimeObject要素は,JIS X 7108のTM̲Object型(D.2.5.2及びJIS X 7108:2004の5.2.2参照)

を実装し,全ての時間プリミティブ及び時間複体のための代替グループの代表として扱う。これは,次の

ように宣言する。 

<element name="AbstractTimeObject" type="gml:AbstractTimeObjectType" abstract="true" 
 substitutionGroup="gml:AbstractGML"/> 

gml:AbstractTimeObject要素は,gml:AbstractGML要素が有効な任意の場所で用いることができる。その

内容モデルは,次のように定義する。 

<complexType name="AbstractTimeObjectType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGMLType"/> 

</complexContent> 

</complexType> 

注記 gml:AbstractTimeObject要素の内容モデルは,AbstractGMLType型からの,変更を伴わない拡張

とする。これから派生した型は,使用可能な標準GMLオブジェクトプロパティとして

abstractMetadataProperty,description,descriptionReference及びnameをもつ。 

14.2.1.2 AbstractTimePrimitive 

gml:AbstractTimePrimitive要素は,JIS X 7108のTM̲Primitive型(D.2.5.2及びJIS X 7108:2004の5.2.3

参照)を実装し,時間幾何プリミティブ及び時間位相プリミティブのための代替グループの代表として扱

う。これは,次のように宣言する。 

<element name="AbstractTimePrimitive" type="gml:AbstractTimePrimitiveType" abstract="true" 
 substitutionGroup="gml:AbstractTimeObject"/> 

gml:AbstractTimePrimitive要素は,gml:AbstractTimeObject要素が有効な任意の場所で用いることができる。

その内容モデルは,次のように定義する。 

<complexType name="AbstractTimePrimitiveType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractTimeObjectType"> 

<sequence> 

<element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" 

maxOccurs="unbounded"/> 


148 

X 7136:2012 (ISO 19136:2007)  

 

 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

これは,この時間プリミティブ(time primitive)と他の時間プリミティブとの間の関係を示すプロパテ

ィを付加して,一般的な時間オブジェクトのモデルを拡張する。gml:RelatedTimeType型の定義は,14.2.1.4

で規定する。 

14.2.1.3 TimePrimitivePropertyType及びvalidTime 

gml:TimePrimitivePropertyType型は,gml:AbstractTimePrimitive要素を代表とする代替グループに属する

任意の要素と他のオブジェクトとの間の関連に対する標準内容モデルを与える。 

<complexType name="TimePrimitivePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractTimePrimitive"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:validTime要素は,便宜的なプロパティ要素であり,次のように宣言する。 

<element name="validTime" type="gml:TimePrimitivePropertyType"/> 

14.2.1.4 RelatedTimeType 

gml:RelatedTimeType型は,gml:AbstractTimePrimitive要素を代表とする代替グループに属す任意の要素の

相対的な位置を示すための内容モデルを指定する。これは,総称型であるgml:TimePrimitivePropertyType

型を拡張し,13種類の時間関係の集合から選択した値(JIS X 7108:2004の5.2.3.5参照)を保持するXML

属性であるrelativePosition属性を追加したものである。 

<complexType name="RelatedTimeType"> 

<complexContent> 

<extension base="gml:TimePrimitivePropertyType"> 

<attribute name="relativePosition"> 

<simpleType> 

<restriction base="string"> 

<enumeration value="Before"/> 
<enumeration value="After"/> 
<enumeration value="Begins"/> 
<enumeration value="Ends"/> 
<enumeration value="During"/> 
<enumeration value="Equals"/> 
<enumeration value="Contains"/> 
<enumeration value="Overlaps"/> 
<enumeration value="Meets"/> 
<enumeration value="OverlappedBy"/> 
<enumeration value="MetBy"/> 
<enumeration value="BegunBy"/> 
<enumeration value="EndedBy"/> 

</restriction> 

</simpleType> 


149 

X 7136:2012 (ISO 19136:2007) 

 

 

</attribute> 

</extension> 

</complexContent> 

</complexType> 

14.2.1.5 AbstractTimeComplex 

gml:AbstractTimeComplex要素は,時間プリミティブの集まりであり,JIS X 7108のTM̲Complex型

(D.2.5.2及びJIS X 7108:2004の5.2.2参照)を実装し,時間複体(time complex)のための代替グループ

の代表となる。これは,次のように宣言する。 

<element name="AbstractTimeComplex" type="gml:AbstractTimeComplexType" abstract="true" 
substitutionGroup="gml:AbstractTimeObject"/> 

gml:AbstractTimeComplex要素は,gml:AbstractTimeObject要素が有効な任意の場所で用いることができる。

その内容モデルを次のように定義する。 

<complexType name="AbstractTimeComplexType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractTimeObjectType"/> 

</complexContent> 

</complexType> 

注記1 この規格は,時間位相複体だけを規定する。時間幾何複体は,規定しない。 

注記2 この規格は,時間線形グラフと時間非線形グラフとを区別しない。 

14.2.2 時間幾何 

14.2.2.1 一般 

時間幾何は,時間の瞬間,期間,位置及び長さを示す。 

14.2.2.2 AbstractTimeGeometricPrimitive 

gml:AbstractTimeGeometricPrimitive要素は,JIS X 7108のTM̲GeometricPrimitive型(D.2.5.2及びJIS X 

7108:2004の5.2.3参照)を実装し,時間幾何プリミティブ(time geometric primitive)のための代替グルー

プの代表となる。要素は,次のように宣言する。 

<element name="AbstractTimeGeometricPrimitive" type="gml:AbstractTimeGeometricPrimitiveType" 
abstract="true" substitutionGroup="gml:AbstractTimePrimitive"/> 

gml:AbstractTimeGeometricPrimitive要素をgml:AbstractTimePrimitive要素が有効な任意の場所で用いるこ

とができる。その内容モデルは,次のように定義する。 

<complexType name="AbstractTimeGeometricPrimitiveType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractTimePrimitiveType"> 

<attribute name="frame" type="anyURI" default="#ISO-8601"/> 

</extension> 

</complexContent> 

</complexType> 

時間幾何要素は,座標参照系の規定を識別するURI参照を指定するframe属性を通じて,時間参照系に

関連付けなければならない。JIS X 7108に従って,グレゴリオ暦でのUTC(Universal Time Coordinated:協

定世界時)を規定の座標参照系とするが,他の参照系を用いることもできる。 

時間次元における幾何プリミティブは,瞬間及び期間の二つとする。以下(14.2.2.3〜14.2.2.8)の規定に

おいて,これらを使用できるように,GML構成部品を定義する。 

 


150 

X 7136:2012 (ISO 19136:2007)  

 

 

14.2.2.3 TimeInstant 

gml:TimeInstant要素は,JIS X 7108のTM̲Instant型(D.2.5.3及びJIS X 7108:2004の5.2.3.2参照)を実

装し,時間において識別可能な位置を表現する零次元幾何プリミティブとして扱う。要素は,次のように

宣言する。 

<element name="TimeInstant" type="gml:TimeInstantType" 
substitutionGroup="gml:AbstractTimeGeometricPrimitive"/> 

gml:TimeInstant要素をgml:AbstractTimeGeometricPrimitive要素が有効な任意の場所で用いることができ

る。その内容モデルは,次のように定義する。 

<complexType name="TimeInstantType" final="#all"> 

<complexContent> 

<extension base="gml:AbstractTimeGeometricPrimitiveType"> 

<sequence> 

<element ref="gml:timePosition"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

例 インスタンス文書において,gml:TimeInstant要素は,次のようにgml:timePosition要素を保持する。 
<gml:TimeInstant gml:id="t11"> 

<gml:description>千恵子の誕生日</gml:description> 
<gml:timePosition>1985-01-16</gml:timePosition> 

</gml:TimeInstant> 

14.2.2.4 TimeInstantPropertyType 

gml:TimeInstantPropertyType型は,gml:TimePrimitivePropertyType型の特化型とし,gml:TimeInstant要素と

オブジェクトとの関連を指定する。 

<complexType name="TimeInstantPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeInstant"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

14.2.2.5 TimePeriod 

gml:TimePeriod要素は,JIS X 7108のTM̲Period型(D.2.5.3及びJIS X 7108:2004の5.2.3.3参照)を実

装し,識別可能な時間範囲を表現する一次元の幾何プリミティブとして扱う。これは,次のように宣言す

る。 

<element name="TimePeriod" type="gml:TimePeriodType" 
substitutionGroup="gml:AbstractTimeGeometricPrimitive"/> 

gml:TimePeriod要素をgml:AbstractTimeGeometricPrimitive要素が有効な任意の場所で用いることができ

る。その内容モデルは,次のように定義する。 

 

<complexType name="TimePeriodType"> 

<complexContent> 

<extension base="gml:AbstractTimeGeometricPrimitiveType"> 

<sequence> 

<choice> 


151 

X 7136:2012 (ISO 19136:2007) 

 

 

<element name="beginPosition" type="gml:TimePositionType"/> 
<element name="begin" type="gml:TimeInstantPropertyType"/> 

</choice> 
<choice> 

<element name="endPosition" type="gml:TimePositionType"/> 
<element name="end" type="gml:TimeInstantPropertyType"/> 

</choice> 
<group ref="gml:timeLength" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:TimePeriod要素の時間位置は,その開始及び終了における瞬間(time instant)の時間位置によって記

述する。期間の長さは,二つの境界時間位置の間の時間距離に等しい。 

開始及び終了のいずれもXML Schema単純内容型のgml:TimePositionType型(14.2.2.7参照)を用いた直

接位置で示すことも,又はgml:TimeInstantPropertyType型(14.2.2.4参照)を用いた識別可能な瞬間への参

照で示すこともできる。 

例1 gml:TimePeriod要素内で,次のように,gml:TimeInstant要素をbegin及びendの値として直接記

述することができる。 

例2 
<gml:TimePeriod gml:id="p22"> 

<gml:begin> 

<gml:TimeInstant gml:id="t11"> 

<gml:timePosition>2001-05-23</gml:timePosition> 

</gml:TimeInstant> 

</gml:begin> 
<gml:end> 

<gml:TimeInstant gml:id="t12"> 

<gml:timePosition>2001-06-23</gml:timePosition> 

</gml:TimeInstant> 

</gml:end> 

</gml:TimePeriod> 

別の場所に示される瞬間を参照する共通のGMLプロパティモデルを用いるために,gml:TimePeriod要素

を制限することができるが,直接位置として示すよう制限することもできる。 

例3 次は,これらの二つの方法が混在する場合を示す例であり,さらに,任意選択のgml:duration

プロパティを含む。 

<gml:TimePeriod gml:id="p22"> 

<gml:begin xlink:href="#t11"/> 
<gml:endPosition>2002-05-23</gml:endPosition> 
<gml:duration>P1Y</gml:duration> 

</gml:TimePeriod> 

14.2.2.6 TimePeriodPropertyType 

gml:TimePeriodPropertyType型は,gml:TimePrimitivePropertyType型を特化しgml:TimePeriod要素とオブ

ジェクトとの関連を指定する。 

<complexType name="TimePeriodPropertyType"> 


152 

X 7136:2012 (ISO 19136:2007)  

 

 

<sequence minOccurs="0"> 

<element ref="gml:TimePeriod"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

14.2.2.7 TimePositionType及びtimePosition 

時間位置を識別する方法は,それぞれの時間参照系によって異なる。gml:TimePositionTypeは,JIS X 7108

に規定する下位型に対応する時間位置の記述を可能にする。それは,JIS X 7108のTM̲Position型(D.2.5.5

及びJIS X 7108:2004の5.4.2参照)を実装する。 

暦及び時計に基づく値は,XML Schema Part 2:2001が規定するとおり,JIS X 0301に基づく語彙形式を

用いる。GPS時間又はUNIX時間などの座標系を伴う十進数値を用いることもできる。順序参照系におけ

る年代(地質年代のような)への参照を指定するためのURIを用いることもできる。 

JIS X 7100シリーズ(ISO 19100シリーズ)の規格においてデータ型としてモデル化された構成部品の

多くに共通して,対応するGML構成部品は単純内容をもつ。しかし,gml:TimePositionType型の内容モデ

ルは,複数の段階で定義する(JIS X 7108:2004のTM̲Position型への対応の詳細はD.2.5.5で規定する。)。 

<complexType name="TimePositionType" final="#all"> 

<simpleContent> 

<extension base="gml:TimePositionUnion"> 

<attribute name="frame" type="anyURI" default="#ISO-8601"/> 
<attribute name="calendarEraName" type="string" /> 
<attribute name="indeterminatePosition" type="gml:TimeIndeterminateValueType"/> 

</extension> 

</simpleContent> 

</complexType> 

gml:TimePositionType型は,三つのXML属性を含む。 

時間の値は,参照系の記述を識別するURI参照を指定するframe属性を通じて,時間参照系と関連付け

なければならない。JIS X 7108に従って,UTCを伴うグレゴリオ暦を既定の参照系とするが,他の参照系

を用いることもできる。時間参照系を記述する構成要素は14.4で規定するが,URIで識別できる何らかの

資源を参照できる参照のとき,その方法で記述する参照系である必要はない。 

和暦のような複数の年代を含む暦を用いる時間の値に対しては,(任意選択の)calendarEraName属性が

暦年代の名前を指定する。 

厳密でない時間位置を,任意選択のindeterminatePosition属性で表現することができる。これは,次のよ

うに定義する列挙値の一つをとる。 

<simpleType name="TimeIndeterminateValueType"> 

<restriction base="string"> 

<enumeration value="after"/> 
<enumeration value="before"/> 
<enumeration value="now"/> 
<enumeration value="unknown"/> 

</restriction> 

</simpleType> 

これらの値は,次のように解釈する。 

− “unknown”は,時間位置に特定の値を指定しないことを示す。 


153 

X 7136:2012 (ISO 19136:2007) 

 

 

− “now”は,値がアクセスされた時点現在の時間位置で,指定値を置き換えなければならないことを

示す。 

− “before”は,実際の時間位置は不明だが,指定値よりも前であることが分かっていることを示す。 

− “after”は,実際の時間位置は不明だが,指定値よりも後であることが分かっていることを示す。 

indeterminatePositionの値は,次のいずれの形態でも用いることができる。 

− 単独で用いる。 

− 時間位置の特定の値を修飾する(例えば,2002-12以前,1019624400以降)。 

単純型であるgml:TimePositionUnion型は,JIS X 7108が規定する時間位置の下位型を実装するXML 

Schema単純型の共用型とする。 

<simpleType name="TimePositionUnion"> 

<union memberTypes="gml:CalDate time dateTime anyURI decimal"/> 

</simpleType> 

順序年代は,URIを通じて参照できる。十進数値を尺度基準からの距離を示すために用いることができ

る(例えば,UNIX時間,GPS暦)。time型は,日ごとに繰り返される位置に対して用いる(JIS X 7108:2004

の5.4.4.2参照)。 

最後に,JIS X 0301に従った,年,月,日,時,分及び秒の体系に従う時間の表現を可能にする暦及び

時計の形式は,次のように組み合わせる。 

<simpleType name="CalDate"> 

<union memberTypes="date gYearMonth gYear"/> 

</simpleType> 

注記1 XML Schema単純型であるdateTime型は,秒の小数部分を除き右側切捨てを許さないため,

date型,gYear型及びgYearMonth型が必要となる。 

注記2 JIS X 7108に従い,年月日に基づくグレゴリオ暦以外の暦を用いる場合であっても,同じ語

彙表現を用いることが望ましい。XML Schema Part 2に従って,年の値が4桁より小さい場合

には,先頭からの0の文字を追加することが望ましい。 

gml:timePosition要素は,次のように宣言する。 

<element name="timePosition" type="gml:TimePositionType"/> 

この要素は,gml:TimeInstant要素(14.2.2.3参照)のプロパティとして直接使用し,応用スキーマでも用

いることができる。 

例 次の例は,gml:timePosition要素又はこの型の他の要素がどのようにデータインスタンスに記載で

きるかを示す。 

<gml:timePosition>2002-11-25T13:20:20Z</gml:timePosition> 

 

<gml:timePosition indeterminatePosition="after">1994</gml:timePosition> 

 

<gml:timePosition indeterminatePosition="now">1994-07-10</gml:timePosition> 

 

<gml:timePosition frame=”http://my.big.org/TRS/GPS”>25876321.01</gml:timePosition> 

 

<gml:timePosition frame="http://my.big.org/TRS/archaeology"> http://my.history.org/eras/bronzeAge 
</gml:timePosition> 

 


154 

X 7136:2012 (ISO 19136:2007)  

 

 

<gml:timePosition frame="http://my.big.org/TRS/calendars/japanese" 
calendarEraName="Meiji">0025-03</gml:timePosition> 

14.2.2.8 timeLength,duration,timeInterval及びTimeUnitType 

期間の長さは,gml:timeLengthグループを用いて記述し,スキーマでは次のように宣言する。 

<group name="timeLength"> 

<choice> 

<element ref="gml:duration"/> 
<element ref="gml:timeInterval"/> 

</choice> 

</group> 

その内容モデルは,二つのプロパティ要素からの選択である。 

<element name="duration" type="duration"/> 

gml:duration要素は,JIS X 0301の時間の長さに対する構文に適合し,XML Schemaのduration型として

実装する。もう一つの選択肢は,浮動小数点数の値による時間の長さに基づくISO/IEC 11404に適合した

gml:timeInterval要素とする。 

<element name="timeInterval" type="gml:TimeIntervalLengthType"/> 

 

<complexType name="TimeIntervalLengthType" final="#all"> 

<simpleContent> 

<extension base="decimal"> 

<attribute name="unit" type="gml:TimeUnitType" use="required"/> 
<attribute name="radix" type="positiveInteger"/> 
<attribute name="factor" type="integer"/> 

</extension> 

</simpleContent> 

</complexType> 

ISO/IEC 11404構文は,基底(radix)及び乗数(factor)として適切な値を伴ったpositiveInteger型を用

いるよう規定している。時間間隔の解像度は,指定された時間単位でradixの(-factor)乗となる。 

例1 unit="second",radix="10",factor="3"は,解像度がミリ秒であることを示す。 

unitの値は,ISO 80000-3による時間の間隔のための単位から選択するか又はそれ以外の適切な単位とす

る。GMLでの符号化は,gml:TimeUnitTypeで示す。 

<simpleType name="TimeUnitType"> 

<union> 

<simpleType> 

<restriction base="string"> 

<enumeration value="year"/> 
<enumeration value="month"/> 
<enumeration value="day"/> 
<enumeration value="hour"/> 
<enumeration value="minute"/> 
<enumeration value="second"/> 

</restriction> 

</simpleType> 
<simpleType> 

<restriction base="string"> 

<pattern value="other:¥w{2,}"/> 


155 

X 7136:2012 (ISO 19136:2007) 

 

 

</restriction> 

</simpleType> 

</union> 

</simpleType> 

この共用型の二つ目の構成部品は,列挙値として規定する六つの標準単位以外の時間単位を示すための

方法を規定する。 

例2 5日と14時間30分という期間の長さを表現するために,次のうちのいずれのインスタンスで

も用いることができる。 

<duration>P5DT14H30M</duration> 
<timeInterval unit="hour" radix="10" factor="0">134.5</timeInterval> 
<timeInterval unit="other:week" radix="10" factor="0"> 0.800595</timeInterval> 

14.3 時間位相スキーマ 

14.3.1 一般 

時間位相は,時間複体,時間ノード及び時間エッジ並びにそれらの連結性によって記述される。時間位

相は,時間位置の情報を直接指定しない。それは,系譜又は履歴(例えば,種の進化を表す系図,生態系

のサイクル,土地若しくは建物の系譜,又は行政界の分離及び統合の歴史)を記述する場合に用いられる。

次の細分箇条(14.3.2)で,時間位相をJIS X 7108に適合した地物の時間特性として規定する。 

14.3.2 時間位相オブジェクト 

14.3.2.1 概要 

時間位相オブジェクトは,地物の時間特性として地物又は地物プロパティの順序を記述する時間要素と

する。プリミティブ及び複体の二つの時間位相オブジェクトがある。 

時間は一次元位相空間であるため,時間位相プリミティブは,瞬間に対応する時間ノード及び期間に対

応する時間エッジとする。時間ノードは,一つ以上の状態の開始又は終了として,特定の瞬間に発生した

イベントの抽象概念である。状態は,ある期間に持続する条件,すなわち,地物又はデータ集合の特性で

ある。この規格では,“持続的な地物”とは,その生存期間を通じて一貫した識別子を保持する地物を意味

する。時間エッジは,状態の抽象概念であり,その開始及び終了を表す時間ノードと関連する。しかし,

時間位相プリミティブは,“いつ”及び“どのくらいの期間”を直接には示さない。時間ノードは,状態に

関連付けられないイベントを記述する場合には,時間エッジの開始又は終了となる必要はない。そのよう

なノードは,孤立ノードと呼ぶ。 

位相複体は,位相プリミティブの集まりで,境界操作の下で閉じている。時間位相複体は,時間エッジ

及び時間ノードで構成する連結した非巡回の有向グラフでなければならない。最小の時間位相複体は,一

つの時間エッジ及びその両端の二つの時間ノードである。 

例 建物のライフサイクルは,計画,設計,建築,供用,廃止及び破壊の各段階の列として記述でき

る。各段階は,時間エッジとして表現できる。時間ノードとして記述した各段階の境界は,段階

を終了して次の段階を開始する意思決定のイベントを表現する。このように,建物のライフサイ

クルは,時間ノードで連結した時間エッジの列で構成される時間位相複体で記述される。 

14.3.2.2 AbstractTimeTopologyPrimitive 

時間位相プリミティブ(time topology primitive)は,地物又は地物プロパティの間の順序情報を示す。地

物の時間連結は,そのプロパティの値として時間位相プリミティブをもつかどうかで調べる。通常,瞬間

的な地物は,時間ノードに関連し,静的な地物は,時間エッジに関連する。両方の形態をもつ地物は,時

間ノード及び時間エッジの上位型である時間位相プリミティブに関連する。 


156 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:TimeTopologyPrimitive要素は,JIS X 7108のTM̲TopologicalPrimitive型(D.2.5.6及びJIS X 7108:2004

の5.2.4.2参照)を実装し,時間位相プリミティブの代替グループとして扱う。そのスキーマでは,次のよ

うに定義する。 

<element name="AbstractTimeTopologyPrimitive" type="gml:AbstractTimeTopologyPrimitiveType" 
abstract="true" substitutionGroup="gml:AbstractTimePrimitive"/> 

gml:AbstractTimeTopologyPrimitive要素は,gml:AbstractTimePrimitive要素が有効な任意の場所で用いるこ

とができる。その内容モデルは,次のように定義する。 

<complexType name="AbstractTimeTopologyPrimitiveType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractTimePrimitiveType"> 

<sequence> 

<element name="complex" type="gml:ReferenceType" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

位相プリミティブは,常に一つ以上の他の位相プリミティブと連結し,そのため,常に位相複体の一部

となる。GMLインスタンスでは,このことがしばしば複体を記述する要素の下位型の要素で記述するプリ

ミティブで示すことがある。しかし,時間位相プリミティブを他の文脈で記述することを可能にするため

に,親となる時間位相複体への参照を保持する,任意選択のgml:complexプロパティが規定されている。 

14.3.2.3 TimeTopologyPrimitivePropertyType 

gml:TimeTopologyPrimitivePropertyType型は,gml:AbstractTimeTopologyPrimitive要素と他のオブジェクト

との関連を示す。 

<complexType name="TimeTopologyPrimitivePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:AbstractTimeTopologyPrimitive"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

14.3.2.4 TimeTopologyComplex 

時間位相複体は,時間位相プリミティブ,すなわち,時間ノード及び時間エッジからなる連結した非巡

回の有向グラフとする。時間エッジは,その境界の二つのノードなしには存在できないため,静的地物は,

明示的な宣言にかかわらず,その時間プロパティの値として時間位相複体からの時間エッジをもつ。 

時間位相複体は,線形又は非線形グラフを表現する。時間線形グラフは,時間エッジの列からなり,地

物インスタンス又は地物要素値の“置換”だけによって記述する系譜を指定する。非線形グラフの開始又

は終了となる時間ノードは,一つ以上の時間エッジに連結する。開始及び終了以外の時間ノードは,二つ

以上の時間エッジに連結しなければならない。一つは,そのノードから開始し,もう一つは,そのノード

で終了する。 

gml:TimeTopologyComplexは,JIS X 7108のTM̲TopologicalComplex型(D.2.5.6及びJIS X 7108:2004の

5.2.4.5参照)を実装し,次のように宣言する。 

<element name="TimeTopologyComplex" type="gml:TimeTopologyComplexType" 
substitutionGroup="gml:AbstractTimeComplex"/> 


157 

X 7136:2012 (ISO 19136:2007) 

 

 

gml:TimeTopologyComplex要素は,gml:AbstractTimeComplex要素が有効な任意の場所で用いることがで

きる。その内容モデルは,次のように定義する。 

<complexType name="TimeTopologyComplexType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractTimeComplexType"> 

<sequence> 

<element name="primitive" type="gml:TimeTopologyPrimitivePropertyType" 

maxOccurs="unbounded"/> 
</sequence> 

</extension> 

</complexContent> 

</complexType> 

時間位相複体は,連結する時間位相プリミティブの集合とする。その一部となるプリミティブは,参照

及び値のいずれでも,gml:primitive プロパティを用いて示される。 

14.3.2.5 TimeTopologyComplexPropertyType 

gml:TimeTopologyComplexPropertyType型は,gml:TimeTopologyComplex要素とオブジェクトとの関連を

規定する。 

<complexType name="TimeTopologyComplexPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeTopologyComplex"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

14.3.2.6 TimeNode 

時間ノード(time node)は,時間中の識別可能なノードを表現する零次元位相プリミティブとする(そ

れは,空間における点に相当する。)。ノードは,任意の数の時間エッジの終了又は開始として扱うことが

できる。時間ノードは,その位置を瞬間(time instant)の値による幾何要素として実現することができる。 

gml:TimeNode要素は,JIS X 7108のTM̲Node型(D.2.5.6及びJIS X 7108:2004の5.2.4.3参照)を実装

し,次のように宣言する。 

<element name="TimeNode" type="gml:TimeNodeType" 
substitutionGroup="gml:AbstractTimeTopologyPrimitive"/> 

gml:TimeNode要素は,gml:AbstractTimeTopologyPrimitive要素が有効な任意の場所で用いることができる。

その内容モデルは,次のように定義する。 

<complexType name="TimeNodeType"> 

<complexContent> 

<extension base="gml:AbstractTimeTopologyPrimitiveType"> 

<sequence> 

<element name="previousEdge" type="gml:TimeEdgePropertyType" minOccurs="0" 

maxOccurs="unbounded"/> 

<element name="nextEdge" type="gml:TimeEdgePropertyType" minOccurs="0" 

maxOccurs="unbounded"/> 

<element name="position" type="gml:TimeInstantPropertyType" minOccurs="0"/> 

</sequence> 

</extension> 


158 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexContent> 

</complexType> 

14.3.2.7 TimeNodePropertyType 

gml:TimeNodePropertyType型は,gml:TimeNode要素とオブジェクトとの関係について規定する。 

<complexType name="TimeNodePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeNode"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

14.3.2.8 TimeEdge 

時間エッジ(time edge)は,一次元位相プリミティブとし,ノードで開始及び終了する開区間である。

エッジは,期間(time period)の値によって幾何要素として実現できる。 

gml:TimeEdge要素は,JIS X 7108のTM̲Edge型(D.2.5.6及びJIS X 7108:2004の5.2.4.4参照)を実装

し,次のように宣言する。 

<element name="TimeEdge" type="gml:TimeEdgeType" 
substitutionGroup="gml:AbstractTimeTopologyPrimitive"/> 

gml:TimeEdge要素は,gml:AbstractTimeTopologyPrimitive要素が有効な任意の場所で用いることができる。

その内容モデルは,次のように定義する。 

<complexType name="TimeEdgeType"> 

<complexContent> 

<extension base="gml:AbstractTimeTopologyPrimitiveType"> 

<sequence> 

<element name="start" type="gml:TimeNodePropertyType"/> 
<element name="end" type="gml:TimeNodePropertyType"/> 
<element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

14.3.2.9 TimeEdgePropertyType 

gml:TimeEdgePropertyType型は,gml:TimeEdge要素とオブジェクトとの関連を示す。 

<complexType name="TimeEdgePropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeEdge"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

14.4 時間参照系 

14.4.1 概要 

時間領域の値は,時間参照系に従って測定する値とする。参照系の共通な型は,暦,順序時間参照系及

び時間座標系(ある時期からの経過時間)を含む。地理情報で使用する主な時間参照系には,グレゴリオ

暦,及び24時間の地方時間又は協定世界時(UTC)があるが,特殊なシステムでは,代替的な参照系を使


159 

X 7136:2012 (ISO 19136:2007) 

 

 

用してもよい。ユリウス日数は,紀元前4713年1月1日のグリニッジ標準時正午という,どの暦よりも早

い原点をもつ時間座標系であり,異なる暦の日付の変換に有用である。 

GMLでは,時間参照系を記述するために,gml:TimeReferenceSystem要素,gml:TimeCoordinateSystem要

素,gml:TimeCalendar要素,gml:TimeCalendarEra要素,gml:TimeClock要素,gml:TimeOrdinalReferenceSystem

要素,及びgml:TimeOrdinalEra要素の七つの具体的な要素を使用する。 

14.4.2 基本時間参照系としてのTimeReferenceSystem 

参照系は,空間的及び時間的に適用可能な範囲の特性とする。時間参照系(time reference system)の基

本的なGML要素は,gml:TimeReferenceSystem要素とする。この内容モデルは,gml:DefinitionType 要素

(15.2.1参照)にgml:domainOfValidity属性という一つのプロパティを追加して拡張する。これは,次のよ

うに実装する。 

<element name="TimeReferenceSystem" type="gml:TimeReferenceSystemType" 
substitutionGroup="gml:Definition" /> 

gml:TimeReferenceSytem要素は,gml:Definition要素が妥当となる任意の場所で使用することができる。

その内容モデルは,次のように定義する。 

<complexType name="TimeReferenceSystemType"> 

<complexContent> 

<extension base="gml:DefinitionType"> 

<sequence> 

<element name="domainOfValidity" type="string"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

例 この要素は,インスタンスの文書内で次のように記載されることがある。 
<gml:TimeReferenceSystem gml:id="JulianCalendar"> 

<gml:description xlink:href="http://aa.usno.navy.mil/data/docs/JulianDate.html"/> 

<gml:name>ユリウス暦</gml:name> 

<gml:domainOfValidity>西ヨーロッパ</gml:domainOfValidity> 

</gml:TimeReferenceSystem> 

14.4.3 TimeCoordinateSystem 

時間参照系は,一つの時間間隔の項で定義する,連続的な間隔尺度に基づく。 

gml:TimeCoordinateSystem要素は,JIS X 7108におけるTM̲CoordinateSystem(D.2.5.9及びJIS X 7108:2004

の5.3.3参照)を,この細分箇条(14.4.3)の中で後述する例外を除いて実装し,次のように宣言する。 

<element name="TimeCoordinateSystem" type="gml:TimeCoordinateSystemType" 
substitutionGroup="gml:TimeReferenceSystem"/> 

gml:TimeCoordinateSystem要素は,gml:TimeReferenceSystem要素が有効となる任意の場所で使用するこ

とができる。その内容モデルは,次のように定義する。 

<complexType name="TimeCoordinateSystemType"> 

<complexContent> 

<extension base="gml:TimeReferenceSystemType"> 

<sequence> 

<choice> 

<element name="originPosition" type="gml:TimePositionType"/> 
<element name="origin" type="gml:TimeInstantPropertyType"/> 


160 

X 7136:2012 (ISO 19136:2007)  

 

 

</choice> 
<element name="interval" type="gml:TimeIntervalLengthType"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

JIS X 7108におけるTM̲CoordinateSystemとの違いは,次のとおりである。 

− 原点は,直接的な時間位置(14.2.2.7参照)を示すgml:originPositionプロパティ又は

gml:TimeInstantPropertyType(14.2.2.4参照)型をとるgml:originプロパティのいずれかで示す。これは,

より柔軟な表現を認め,他で指定された値の参照を使用可能とするためである。 

− 間隔は,14.2.2.8で定義するgml:TimeIntervalLengthType要素を使用する。 

例 座標系は,データインスタンスにおいて次のように記載されることがある。 
<gml:TimeCoordinateSystem gml:id="Laser36"> 

<gml:description>レーザー実験中に用いる時間尺度</gml:description> 
<gml:name>レーザー時間尺度 36</gml:name> 
<gml:domainOfValidity>レーザー研究所</gml:domainOfValidity> 
<gml:origin> 

<gml:TimeInstant> 

<gml:timePosition>2002-11-28T12:50:00+08:00</gml:timePosition> 

</gml:TimeInstant> 

</gml:origin> 
<gml:interval unit="second" radix="10" factor="12">1.0</gml:interval> 

</gml:TimeCoordinateSystem> 

 

<gml:TimeCoordinateSystem gml:id="geologyMa"> 

<gml:name>地質学的な時間座標系</gml:name> 
<gml:domainOfValidity>地球</gml:domainOfValidity> 
<gml:origin> 

<gml:TimeInstant> 

<gml:description xlink:href="http://www.c14dating.com/agecalc.html"> 

放射性炭素年代測定で用いられる標準的な原点。より正確度の低い他の放射性年代決定技術の
ための"現在" と等しい。</gml:description> 

<gml:timePosition>1950</gml:timePosition> 

</gml:TimeInstant> 

</gml:origin> 
<gml:interval unit="year" radix="10" factor="-6">1.0</gml:interval> 

</gml:TimeCoordinateSystem> 

14.4.4 暦及び時計 

14.4.4.1 概要 

暦(calendar)及び時計(clock)は,いずれも間隔尺度に基づく。暦は,1日を単位とする分解能で時間

位置を定義するための基準を与える,不連続な時間参照系とする。時計は,1日における時間的位置を決

めるための基準を与える。時計は,特定の日の中での時間的位置の完全な記述を与えるために,暦ととも

に使う。 

暦は様々であり,複雑な内部構造をもつ。このスキーマは,単純な外部暦インタフェースを定義する。

どの暦も,年,月及び日のような要素の集合から,暦日を構成する規則の集まりを与える。どの暦におい


161 

X 7136:2012 (ISO 19136:2007) 

 

 

ても,年は暦年代を定義する事象を参照する日に関連して番号付けする。一つの暦は,一つ以上の暦年代

を参照できる。 

14.4.4.2 TimeCalendar及びTimeCalendarEra 

暦(time calendar)は,離散的な時間参照系であり,一日の分解能で時間位置を定義するための基礎とな

る。gml:TimeCalendar要素は,JIS X 7108におけるTM̲Calendar(D.2.5.8及びJIS X 7108:2004の5.3.2.3

参照)を実装し,次のように宣言する。 

<element name="TimeCalendar" type="gml:TimeCalendarType" 

substitutionGroup="gml:TimeReferenceSystem"/> 

gml:TimeCalendarは,gml:TimeReferenceSystemが有効な,任意の位置で使用することができる。その内

容モデルは,次のように定義する。 

<complexType name="TimeCalendarType"> 

<complexContent> 

<extension base="gml:TimeReferenceSystemType"> 

<sequence> 

<element name="referenceFrame" type="gml:TimeCalendarEraPropertyType"  

maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:TimeCalendar要素は,gml:TimeReferenceSystem要素を継承し,一つのプロパティを追加する。

gml:referenceFrame属性は,ここで使用するgml:TimeCalendarEra要素へのリンクを与える。gml:TimeCalendar

要素は,一つ以上の暦年代(calendar era)を参照してもよい。 

referenceFrame要素は,標準GMLプロパティモデルの後に続き,要素内に記述したgml:TimeCalendarEra

要素,又は別の場所で明示的に示すgml:TimeCalendarEra要素へのリンクのいずれかを使用し,その関連を

具体化する。 

gml:TimeCalendarEra要素は,JIS X 7108のTM̲CalendarEra(D.2.5.8及びJIS X 7108:2004の5.3.2.1参照)

を実装し,次のように宣言する。 

<element name="TimeCalendarEra" type="gml:TimeCalendarEraType" /> 

その内容モデルは,次のように定義する。 

<complexType name="TimeCalendarEraType"> 

<complexContent> 

<extension base="gml:DefinitionType"> 

<sequence> 

<element name="referenceEvent" type="gml:StringOrRefType"/> 
<element name="referenceDate" type="gml:CalDate"/> 
<element name="julianReference" type="decimal"/> 
<element name="epochOfUse" type="gml:TimePeriodPropertyType"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

 
 


162 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:TimeCalendarEra要素は,gml:DefinitionType要素(15.2.1参照)から基本的なプロパティを継承し,

次の追加プロパティをもつ。 

− gml:referenceEvent属性は,暦年代の基準尺度の位置を決める神話的事象又は歴史的な事象の名前又は

説明とする。これは,テキストを使うことによって与えられる。referenceEventが遠隔の値を参照する

方法は非推奨であり,文字列型を使用することが望ましい。 

− gml:referenceDate属性は,referenceEventの与えられた暦における日を記述する。多くの暦では,この

日は尺度の原点(すなわち,最初の日)であるが,常にそうであるとは限らない。 

− gml:julianReference属性は,参照している日に対応するユリウス日(Julian date)を記述する。ユリウ

ス日数は整数であり,ユリウス日は,より細かい分解能を使用することができる小数値を含む。暦の

日からユリウス日への変換,及びユリウス日から暦の日への変換によって,ある暦から別の暦への変

換のための比較的簡単な基準が与えられる。 

− gml:epochOfUse属性は,暦の期限が日付を付けるための基準として使われる期間とする。 

14.4.4.3 TimeCalendarPropertyType及びTimeCalendarEraPropertyType 

gml:TimeCalendarPropertyType要素は,オブジェクトとgml:TimeCalendar要素との関連を与える。 

<complexType name="TimeCalendarPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeCalendar"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

gml:TimeCalendarEraPropertyType要素は,オブジェクトとgml:TimeCalendarEra要素との関連を与える。 

<complexType name="TimeCalendarEraPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeCalendarEra"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

14.4.4.4 TimeClock 

時計は,一日の中における時間位置決定のための基準を与える。時計は,特定の日における完全な時間

位置を記述するために暦とともに使う。gml:TimeClock要素は,JIS X 7108のTM̲Clock(D.2.5.8及びJIS 

X 7108:2004の5.3.2.4参照)を実装し,次のように宣言する。 

<element name="TimeClock" type="gml:TimeClockType" substitutionGroup="gml:TimeReferenceSystem"/> 

gml:TimeClockは,gml:TimeReferenceSystemが有効な任意の場所で使用することができる。この内容モ

デルは,次のように定義する。 

<complexType name="TimeClockType" final="#all"> 

<complexContent> 

<extension base="gml:TimeReferenceSystemType"> 

<sequence> 

<element name="referenceEvent" type="gml:StringOrRefType"/> 
<element name="referenceTime" type="time"/> 
<element name="utcReference" type="time"/> 
<element name="dateBasis" type="gml:TimeCalendarPropertyType"  


163 

X 7136:2012 (ISO 19136:2007) 

 

 

minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:TimeClock要素は,gml:TimeReferenceSystemType要素を継承するプロパティに次のプロパティを加

える。 

− gml:referenceEvent属性は,正午又は日の出のような,時計の基準尺度の位置を決める事象の名前,又

は説明とする。referenceEventが遠隔の値を参照する方法は,非推奨であるため,文字列型を使用する。 

− gml:referenceTime属性は,与えられた時計における時刻として表現し,参照する事象と関連付けられ

た時間を記述する。参照する時刻は通常,時間尺度の原点とする。 

− gml:utcReference属性は,参照する時刻に対応する24時間の地方時間又は協定世界時(UTC)を記述

する。 

− gml:dateBasis属性は,この時計を使用する暦を含むか又は参照する。 

14.4.4.5 TimeClockPropertyType 

gml:TimeClockPropertyType要素は,オブジェクトとgml:TimeClock要素との関連付けを与える。 

<complexType name="TimeClockPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeClock"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

14.4.5 順序時間参照系 

14.4.5.1 概要 

地質学及び考古学のような,幾つかの地理情報の応用分野では,時間における相対位置が,完全な時間

又は期間よりも正確に知られている。時間における事象の順序は正しく確立することができるが,事象の

間隔の大きさは,正確に決定することができないような場合には,順序時間参照系が適している。順序時

間参照系は,名前をもつ隣接する年代の列から構成され,それらの年代は,より詳細な尺度の年代の列か

ら構成される。これらは全体として,様々な分解能をもつ年代の階層構造を与える。 

順序時間参照系で,その要素となる各年代がより細分化することがないものについては,線形グラフで

あるという制約をもつ時間位相集合とすることが実際的である。また,順序時間参照系で,要素となる各

年代が細分化されるものについては,一つの要素年代だけの枝と,“group”の“members”と呼ばれる順序

時間年代の列からなる枝との対だけが並行を許される,という制約をもつ時間的位相集合とすることが実

際的である。 

与えられた年代の開始位置及び終了位置は,相対的時間尺度に合わせてもよい。 

14.4.5.2 TimeOrdinalReferenceSystem及びTimeOrdinalEra 

gml:TimeOrdinalReferenceSystem要素は,一般的な時間参照系モデルに一つ以上のgml:componentプロパ

ティを追加することで,JIS X 7108のTM̲OrdinalReferenceSystem(D.2.5.10及びJIS X 7108:2004の5.3.4

参照)を実装する。これは,次のように宣言する。 

<element name="TimeOrdinalReferenceSystem" type="gml:TimeOrdinalReferenceSystemType" 
substitutionGroup="gml:TimeReferenceSystem"/> 


164 

X 7136:2012 (ISO 19136:2007)  

 

 

gml:TimeOrdinalReferenceSystem要素は,gml:TimeReferenceSystem要素が妥当などの場所で使用してもよ

い。その内容モデルは,次のように宣言する。 

<complexType name="TimeOrdinalReferenceSystemType"> 

<complexContent> 

<extension base="gml:TimeReferenceSystemType"> 

<sequence> 

<element name="component" type="gml:TimeOrdinalEraPropertyType" 

maxOccurs="unbounded"/> 
</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:TimeOrdinalEra要素は,JIS X 7108のTM̲OrdinalEra(D.2.5.10及びJIS X 7108:2004の5.3.4参照)

を実装する。この内容モデルは,gml:TimeEdge(14.3.2.8参照)のパターンに従い,gml:DefinitionType要

素(15.2.1参照)から標準的なプロパティを継承し,gml:startプロパティ,gml:endプロパティ及びgml:extent

プロパティ,並びにgml:TimeOrdinalEra要素を示すgml:memberプロパティの集合及び親の年代を示す

gml:groupプロパティを追加する。これは,次のように宣言する。 

<element name="TimeOrdinalEra" type="gml:TimeOrdinalEraType"/> 

 

<complexType name="TimeOrdinalEraType"> 

<complexContent> 

<extension base="gml:DefinitionType"> 

<sequence> 

<element name="relatedTime" type="gml:RelatedTimeType" minOccurs="0" 

maxOccurs="unbounded"/> 

<element name="start" minOccurs="0" type="gml:TimeNodePropertyType"/> 
<element name="end" minOccurs="0" type="gml:TimeNodePropertyType"/> 
<element name="extent" type="gml:TimePeriodPropertyType" minOccurs="0"/> 
<element name="member" type="gml:TimeOrdinalEraPropertyType" minOccurs="0" 

maxOccurs="unbounded"/> 

<element name="group" type="gml:ReferenceType" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:TimeOrdinalEra要素の再帰的な包含は,与えられたレベルの順序年代がより短い互いに隣接する順

序年代を含む,任意の深さの階層的な順序参照系を可能にする。 

例 地質学の年代尺度の一部を順序参照系として表現したものを,表7の例で示す。 

表7−地質学の年代尺度を順序参照系として表現した例 

新生代(Cenozoic) 

第四紀(Quaternary) 

 

完新世(沖積世)(Holocene) 

 

 

 

更新世(洪積世)(Pleistocene) 

 

第三紀(Tertiary) 

新第三紀(Neogene) 

鮮新世(Pliocene) 

 

 

 

中新世(Miocene) 

 

 

古第三紀(Paleogene) 漸新世(Oligocene) 

 

 

 

始新世(Eocene) 

 

 

 

暁新世(Paleocene) 


165 

X 7136:2012 (ISO 19136:2007) 

 

 

<gml:TimeOrdinalReferenceSystem gml:id="GeologicalTimeScale"> 

<gml:description xlink:href="ftp://ftp.iugs.org/pub/iugs/iugs̲intstratchart.pdf"/> 
<gml:name>地質学的時間尺度</gml:name> 
<gml:domainOfValidity>地球</gml:domainOfValidity> 
<!-- より古い年代は省略 --> 
<gml:component> 

<gml:TimeOrdinalEra gml:id="Cenozoic"> 

<gml:name>新生代</gml:name> 
<gml:start xlink:href="#basePaleocene"/> 
<gml:end xlink:href="#now"/> 
<gml:member> 

<gml:TimeOrdinalEra gml:id="Tertiary"> 

<gml:name>第三紀</gml:name> 
<gml:start xlink:href="#basePaleogene"/> 
<gml:end xlink:href="#baseQuaternary"/> 
<gml:member> 

<gml:TimeOrdinalEra gml:id="Paleogene"> 

<gml:name>古第三紀</gml:name> 
<gml:start> 

<gml:TimeInstant gml:id="basePaleogene"> 

<gml:timePosition frame="#geologyMa">65.0</gml:timePosition> 

</gml:TimeInstant> 

</gml:start> 
<gml:end xlink:href="#baseNeogene"/> 
<gml:member> 

<gml:TimeOrdinalEra gml:id="Paleocene"> 

<gml:name>暁新世</gml:name> 
<gml:start xlink:href="#basePaleogene"/> 
<gml:end xlink:href="#baseEocene"/> 

</gml:TimeOrdinalEra> 

</gml:member> 
<gml:member> 

<gml:TimeOrdinalEra gml:id="Eocene"> 

<gml:name>始新世</gml:name> 
<gml:start > 

<gml:TimeInstant gml:id="baseEocene"> 

<gml:timePosition  
frame="#geologyMa">57.8</gml:timePosition> 

</gml:TimeInstant> 

</gml:start > 
<gml:end xlink:href="#baseOligocene"/> 

</gml:TimeOrdinalEra> 

</gml:member> 
<gml:member> 

<gml:TimeOrdinalEra gml:id="Oligocene"> 

<gml:name>漸新世</gml:name> 

<gml:start > 

<gml:TimeInstant gml:id="baseOligocene"> 


166 

X 7136:2012 (ISO 19136:2007)  

 

 

<gml:timePosition  

frame="#geologyMa">33.7</gml:timePosition> 

</gml:TimeInstant> 

</gml:start > 
<gml:end xlink:href="#baseNeogene"/> 

</gml:TimeOrdinalEra> 

</gml:member> 

</gml:TimeOrdinalEra> 

</gml:member> 
<!-- 新第三紀の細分と第四紀は省略 --> 

</gml:TimeOrdinalEra> 

</gml:member> 

</gml:TimeOrdinalEra> 

</gml:component> 

</gml:TimeOrdinalReferenceSystem> 

注記 色々なstart要素及びend要素で参照を使用できるということは,年代間の境界位置を一度記録

しておいて,非線形グラフのように再使用を必要とする場合,何度もそれを再使用することを

可能にすることである。 

14.4.5.3 TimeOrdinalEraPropertyType 

gml:TimeOrdinalEraPropertyType要素は,オブジェクトとgml:TimeOrdinalEra要素との関連を与える。 

<complexType name="TimeOrdinalEraPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:TimeOrdinalEra"/> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

14.5 動的地物の表現  

14.5.1 概要 

地物の,時間によって変化するプロパティを表現するため,幾つかの型及び関係を定義する。 

時空のモデリングの包括的な取扱いにおいて,Langran(参考文献[15]参照)は,三つの主要な時間実体

である,状態,事象,及び証拠を識別した。そのスキーマは,各々の要素を包含する次の細分箇条で特徴

付ける。その概念モデルをD.3.11に示す。 

14.5.2 dataSource 

GMLでは,情報源は時間データのソースを示す,単純なgml:dataSource要素又はgml:dataSourceReference

要素のプロパティで表現する。 

<element name="dataSource" type=" gml:StringOrRefType"/> 
<element name="dataSourceReference" type="gml:ReferenceType"/> 

gml:dataSource要素の遠隔リンク属性は,現在の型とともに非推奨とする。その代わりに,遠隔データ

ソースを参照するために,gml:dataSourceReference要素の遠隔リンク属性を使用する。gml:dataSourceの型

には,文字列型を使用する。 

例 人間の観察者又は現場に置かれたセンサ。 

14.5.3 動的プロパティ 

便宜的なgml:dynamicPropertiesグループを次のように定義する。 


167 

X 7136:2012 (ISO 19136:2007) 

 

 

<group name="dynamicProperties"> 

<sequence> 

<element ref="gml:validTime" minOccurs="0"/> 
<element ref="gml:history" minOccurs="0"/> 
<element ref="gml:dataSource" minOccurs="0"/> 
<element ref="gml:dataSourceReference" minOccurs="0"/> 

</sequence> 

</group> 

これは,応用スキーマの開発者が標準的な方法で内容モデルに動的プロパティ(dynamic property)を含

むことを許す。gml:validTimeプロパティは,14.2.1.3で明記されている。他のプロパティは14.5の別の場

所に示す。 

14.5.4 DynamicFeature 

状態は,地物のタイムスタンプを付けたインスタンスで表現する。gml:DynamicFeature要素は,D.3.11

に示すように動的地物(dynamic feature)を実装し,次のように宣言する。 

<element name="DynamicFeature" type="gml:DynamicFeatureType" 
substitutionGroup="gml:AbstractFeature"/> 

その内容モデルは,gml:dynamicPropertiesモデルグループとともに,標準的なgml:AbstractFeatureTypeを

拡張する。 

<complexType name="DynamicFeatureType"> 

<complexContent> 

<extension base="gml:AbstractFeatureType"> 

<group ref="gml:dynamicProperties"/> 

</extension> 

</complexContent> 

</complexType> 

各々のタイムスタンプされたインスタンスは,地物の“スナップショット”を表現する。動的地物クラ

スは,通常は固有の応用に合わせて拡張される。動的地物は,タイムスタンプ又は履歴をもつ。 

注記 履歴は,gml:AbstractTimeSliceの集合からなり,そのような時間断面は,幾つかの時間的に変

化するプロパティを含んでもよい。例えば,時間的に多様な一つのプロパティをもつ地物を記

述するために,そのような機構を用いてもよい。 

14.5.5 DynamicFeatureCollection 

gml:DynamicFeatureCollection要素は,D.3.11に示すように動的地物の集まり(dynamic feature collection)

を実装し,次のように宣言する。 

<element name="DynamicFeatureCollection" type="gml:DynamicFeatureCollectionType" 
substitutionGroup="gml:DynamicFeature"/> 

その内容モデルは,gml:dynamicMembersプロパティとともに,gml:DynamicFeatureTypeを拡張する。 

<complexType name="DynamicFeatureCollectionType"> 

<complexContent> 

<extension base="gml:DynamicFeatureType"> 

<sequence> 

<element ref="gml:dynamicMembers"/> 

</sequence> 

</extension> 

</complexContent> 


168 

X 7136:2012 (ISO 19136:2007)  

 

 

</complexType> 

 

<element name="dynamicMembers" type="gml:DynamicFeatureMemberType"/> 

 

<complexType name="DynamicFeatureMemberType"> 

<complexContent> 

<extension base="gml:AbstractFeatureMemberType"> 

<sequence> 

<element ref="gml:DynamicFeature" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

gml:DynamicFeatureCollection要素は,次のいずれかのプロパティをもつ地物コレクションの一つとする。 

− gml:validTimeプロパティ(すなわち,地物の集まりのスナップショット) 

− 地物の集まりの時間変化するプロパティの値を各々含む一つ以上のgml:AbstractTimeSlices要素を更

に含むgml:historyプロパティ。 

gml:DynamicFeatureCollection要素は,次の一つであってもよいことに留意する。 

1. 地物の集まりは,静的な地物メンバ(時間変化しないメンバ)で構成するが,全体として時間変化す

る集まりのオブジェクトのプロパティをもつ(例えば,historyで示す。)。 

例1 列車:列車は地物の集まりである。列車の位置及び速度は時間変化し,列車の履歴として捉

えることができる。列車のfeatureMembersは,機関車を含めた個々の車両である。車両のプ

ロパティは静的であり,例えば,列車内の車両の位置(この例では,列車のいかなる再編も

無視する。),貨物,車両の種類及びその型(例えば,穀物車両,石油車両等)である。 

2. 地物の集まりは,動的な地物メンバ(メンバはgml:DynamicFeatures要素)で構成するが,全体として

時間変化する集合のプロパティももつ。 

例2 ヨットレースの帆船の集まり。帆船は,レースから見えなくなったり,また現れるかもしれ

ない。レース(全日本外洋ヨット選手権大会のようなレースを考える。)において,参加して

いる船を囲む領域は,時間とともに変化するであろう。 

注記 動的地物メンバを伴う地物の集まりをもつことができるが,集まり全体としてのプロパティは,

静的である。これはまた,組織委員会並びに開始地点の位置及びゴールのラインのようなプロ

パティしかもたない帆船レースに適用されるかもしれない。 

14.5.6 AbstractTimeSlice 

ある事象を記述するために(すなわち,ある瞬間又はある時間間隔を超えて起こる活動),GMLは,

gml:AbstractTimeSlice要素を提供し,それは,次のように宣言する。 

<element name="AbstractTimeSlice" type="gml:AbstractTimeSliceType" abstract="true" 
substitutionGroup="gml:AbstractGML"/> 

 

<complexType name="AbstractTimeSliceType" abstract="true"> 

<complexContent> 

<extension base="gml:AbstractGMLType"> 

<sequence> 


169 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:validTime"/> 
<element ref="gml:dataSource" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

時間断面(time slice)は,動的地物の時間変化するプロパティを格納する。それは,特定の地物のタイ

ムスタンプ付きの射影を表現するための拡張とする。gml:dataSourceプロパティは,時間データがどのよ

うに取得されたかを記述する。 

gml:AbstractTimeSliceインスタンスは,何らかの変化があった事象を反映する,動的(又は不安定な)

プロパティの更新を格納するGMLオブジェクトとする。それゆえ,それは,何らかの処理のために実際

に変化した地物プロパティだけを含む。 

例1 ビルの所有者が変わり,名前が変更されることを想定する。もしビルの他のプロパティが変更

なければ,事象は,更新された名前だけを含むであろう。 

gml:AbstractTimeSliceは,動的地物のインスタンスがオブジェクトレベルのタイムスタンプであるのと

対照的に,基本的に属性レベルのタイムスタンプという仕掛けを与える。 

時間断面はそれゆえ,スナップショットがより状態的又は構造指向であるのに対して,事象又はプロセ

ス指向として見られる。 

例2 地物の集まりは,スナップショットの列によって表現される“ライフサイクル”をもってもよ

い(図3参照)。 

 

 

図3−地物の集まりのライフサイクル 

 

瞬間t1において,地物A,地物B,及び地物Cは,集まりの全メンバである。一方,瞬間t2において,

地物A及び地物Cだけがメンバである。地物Bの履歴を詳細に検討すれば,これが短命という本性をも

っていることが分かる(例えば,季節によってビルが解体されたり再建築される。)。 

14.5.7 history 

一般的な事象の列は,オブジェクトのgml:history要素を構成する。このプロパティ要素は,次のように

宣言する。 

<element name="history" type="gml:HistoryPropertyType"/> 

 

<complexType name="HistoryPropertyType"> 

<sequence> 

<element ref="gml:AbstractTimeSlice" maxOccurs="unbounded"/> 

地物A 

地物B 

地物B 

地物C 

時間 

t1 

t2 


170 

X 7136:2012 (ISO 19136:2007)  

 

 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:history要素は,興味の対象となる,時間変化するプロパティを表す抽象要素である

gml:AbstractTimeSlice要素によって代表される代替グループの中での要素の集まりを含む。動的地物の履

歴(history)プロパティは,地物インスタンスと地物の変遷を格納する時間断面の列とが関連する。 

注記 gml:historyプロパティは,識別子は時間モデルの生存期間を超えて不変であるが,地物の時間

変化のプロパティを捉えるという意図をもつ。このように,地物の詳細な変遷は,例えば,空

間における動作又は形状の変化を記述することができる。gml:historyプロパティは,14.3で明

示した時間位相オブジェクトに関連づけてもよい。異なる時間断面の妥当な時間位相を明示的

に表現しなければならない場合,動的地物のgml:historyにおける全てのgml:AbstractTimeSlice

要素は,時間位相モデルにおけるgml:TimeEdgeに一致してよい。時間位相では,地物の系譜又

は動的地物を含む時間地物の集まりを付加するための骨格を与える時間位相複体を構成する。 

例 gml:MovingObjectStatus(I.7.2参照)は,gml:AbstractTimeSlice要素が,ある時間内に移動するオ

ブジェクトの状態を捉えるためにどのように拡張できるかを示す一つの例である。この型は,ISO 

19141(移動地物のためのスキーマ)と整合するまで非推奨とする。 

地物が移動オブジェクト,例えば車両又は船を表現する場合,gml:historyプロパティは,

gml:MovingObjectStatus要素の列を含む。動的地物,例えばCyclone(サイクロン)は,gml:history

プロパティをもってもよく,例えば,次のような素片で示される。 

<app:Cyclone gml:id="c1"> 

<gml:history> 

<gml:MovingObjectStatus> 

<gml:validTime> 

<gml:TimeInstant> 

<gml:timePosition>2005-11-28T13:00:00Z</gml:timePosition> 

</gml:TimeInstant> 

</gml:validTime> 
<gml:location> 

<gml:Point gml:id="p1" srsName="urn:x-ogc:def:crs:EPSG:6.6:4326"> 

<gml:pos>-35 140</gml:pos> 

</gml:Point> 

</gml:location> 
<gml:speed uom="#kph">12</gml:speed> 
<gml:bearing> 

<gml:CompassPoint>SE</gmlCompassPoint> 

</gml:bearing> 

</gml:MovingObjectStatus> 
<gml:MovingObjectStatus> 

<gml:validTime> 

<gml:TimeInstant> 

<gml:timePosition>2005-11-28T14:00:00Z</gml:timePosition> 

</gml:TimeInstant> 

</gml:validTime> 
<gml:location> 

<gml:Point> 


171 

X 7136:2012 (ISO 19136:2007) 

 

 

<gml:pos>-34.9 140.1</gml:pos gml:id="p1" 

srsName="urn:x-ogc:def:crs:EPSG:6.6:4326"> 
</gml:Point> 

</gml:location> 
<gml:speed uom="#kph">23</gml:speed> 
<gml:bearing> 

<gml:CompassPoint>ESE</gml:CompassPoint> 

</gml:bearing> 

</gml:MovingObjectStatus> 

</gml:history> 

</app:Cyclone> 

 

15 GML スキーマ−定義及び辞書 

15.1 概要 

多くの応用システムでは,用語の定義が必要である。ここで,用語は,インスタンス文書内で,あるプ

ロパティの値として使われるか,又はプロパティを標準的な情報の値と何らかの方法で結び付ける参照情

報として使われる。 

多くの場合,外部の権威ある機関が提供する定義を使うのがよい。そのような定義は,オンライン及び

オフラインの様々な方法での配布用に,既にまとめられていることがある。GML文書から定義を参照する

ために必要なことは,個々の定義のそれぞれに対してURIが使用できることである。この条件が満たされ

ている場合,直接参照することが通常は望ましい。 

一方,参照ではなく,定義そのものをXMLで記述して,インスタンス文書内又は別の文書の形で保持

することが望ましいとき,又は必要なときがある。この場合,定義は,外部情報源からの写しであっても

よいし,文脈に特化した新しい定義であってもよい。この状況への対応として,GMLでは幾つかの単純な

構成部品を,次に示す形のいずれかによって規定する。 

− 汎用のgml:Definitionの形。これは,より特化した定義の基本として使える。 

− 汎用のgml:Dictionary の形。これは,定義の集合,又は定義への参照の集合として使える。 

これらの構成部品はそのまま使用してもよいが,GMLの中で特化した定義要素,特に,座標演算(箇条

12),座標参照系(箇条12),原子(箇条12),時間参照系(箇条14),及び計測単位(箇条16)の基本と

して使用することができる。 

注意してほしいのは,GML定義部品(gml:Definition)及びGML辞書構成部品(gml:Dictionary)が,識

別子付の定義の単純な入れ子の階層構造を実装することである。識別子は,より複雑な用語間の関係の記

述に用いることが可能な手段(handle)を提供する。しかし,GMLの辞書構成部品は,複雑な分類,オン

トロジ又は類語辞書を直接与えることは意図していない。より洗練された要求を満足する専門的なXML

ツールが入手可能である。 

注記 辞書スキーマ文書を,次の(URN構文を用いた)位置独立名で識別する。 

urn:x-ogc:specification:gml:schema-xsd:dictionary:3.2.1 

15.2 辞書スキーマ 

15.2.1 Definition,DefinitionType及びremarks 

基本的な gml:Definition 要素は,辞書(dictionary)への追加又は参照が可能な定義を示す。これは,次

のように宣言する。 

 


172 

X 7136:2012 (ISO 19136:2007)  

 

 

<element name="Definition" type="gml:DefinitionType" substitutionGroup="gml:AbstractGML"/> 
 
<complexType name="DefinitionBaseType"> 

<complexContent> 

<restriction base="gml:AbstractGMLType"> 

<sequence> 

<element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/> 

<element ref="gml:description" minOccurs="0"/> 
<element ref="gml:descriptionReference" minOccurs="0"/> 
<element ref="gml:identifier"/> 
<element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 
<attribute ref="gml:id" use="required"/> 

</restriction> 

</complexContent> 

</complexType> 
 
<complexType name="DefinitionType"> 

<complexContent> 

<extension base="gml:DefinitionBaseType"> 

<sequence> 

<element ref="gml:remarks" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 
 
<element name="remarks" type="string"/> 

一般的な定義(definition)のための内容モデルは,gml:AbstractGMLTypeからの派生とする。 

gml:descriptionプロパティ要素は,定義を単純なテキスト列で表現するときに,使用しなければならな

い。また,gml:descriptionReferenceプロパティ要素は,別の場所にある記述へのリンクをもつことを許す。 

gml:identifier要素は,この定義を識別する単一の識別子を示さなければならない。識別子は,この定義

を用いる辞書内で一意でなければならない。 

gml:name要素は,定義に対応する零個以上の用語及び同義語を示さなければならない。 

gml:remarks要素は,定義の概念部分ではないが,その定義の理解に役立つ補足的な文章情報を保持する

ために使用しなければならない。 

15.2.2 Dictionary及びDictionaryType 

定義(definition)の集合は,辞書(dictionary)又は集まり(collection)にまとめることができ,スキー

マ内で次のように宣言する。 

<element name="Dictionary" type="gml:DictionaryType" substitutionGroup="gml:Definition"/> 
 
<complexType name="DictionaryType"> 

<complexContent> 

<extension base="gml:DefinitionType"> 

<choice minOccurs="0" maxOccurs="unbounded"> 

<element ref="gml:dictionaryEntry"/> 


173 

X 7136:2012 (ISO 19136:2007) 

 

 

<element ref="gml:indirectEntry"/> 

</choice> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

gml:Dictionaryは,定義の非抽象的な集まりとする。 

gml:Dictionaryの内容モデルは,gml:Definitionオブジェクトを含むか又は参照するgml:dictionaryEntry及

び gml:indirectEntry(非推奨)プロパティのリストを加えたものとする。データベース処理(gml:id属性)

は,この集まりを参照可能とするために必要となる。基本的なgml:identifier,gml:description,

gml:descriptionReference及びgml:name プロパティが,この辞書に関するより多くの情報を参照又は含むた

めに使用可能である。 

gml:description及びgml:descriptionReferenceプロパティ要素は,この辞書の記述に用いることができる。

派生したgml:name要素は,この辞書の名称に使うことができる。 

15.2.3 dictionaryEntry及びDictionaryEntryType 

これらの要素は,辞書(dictionary)のメンバの定義(definition)を含むか又は参照する。gml:dictionaryEntry

要素は,次のように宣言する。 

<element name="dictionaryEntry" type="gml:DictionaryEntryType"/> 
 
<complexType name="DictionaryEntryType"> 

<complexContent> 

<extension base="gml:AbstractMemberType"> 

<sequence minOccurs="0"> 

<element ref="gml:Definition"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

この内容モデルは,標準的なGMLプロパティのパターンに従い,gml:dictionaryEntryは単一の

gml:Definitionを含むか又は参照できる。gml:Dictionaryは,gml:Definitionを代替できるため,見出しの内

容を下位レベルの辞書とすることができる。 

定義内容が参照によって得られる場合,その定義は,文脈内でのハンドル(gml:id)を伴っていないと

いうことに注意が必要である。したがって,この文脈特有の定義として外部からの参照をさせることは許

されない。この使用方法では,通常,参照する定義は同じXML文書内の辞書に存在する。 

15.2.4 定義及び辞書の使用 

辞書及び定義は,GMLオブジェクトである。したがって,別々のGMLデータのインスタンス文書にお

くことができる。 

応用スキーマでは,集まりのメンバのプロパティ内で使用する定義を記録するため,gml:Dictionary又は

gml:Definitionsを地物の集まりに付けるとよい。 

例 次の例は,二つの辞書インスタンスを示す。 
<gml:Dictionary gml:id="rockTypes"> 

<gml:description>gmlBaseのコンポーネントを使った簡単な岩石辞書</gml:description> 


174 

X 7136:2012 (ISO 19136:2007)  

 

 

<gml:identifier codeSpace="http://www.abc.org/terms">岩石の型</gml:identifier> 
<gml:dictionaryEntry> 

<gml:Definition gml:id=" granite"> 

<gml:description>主に石英,2種類の長石,及び雲も(母)からなる火成岩</gml:description> 

<gml:identifier codeSpace="http://www.abc.org/terms">花こう(崗)岩</gml:identifier> 

</gml:Definition> 
</gml:dictionaryEntry> 
<gml:dictionaryEntry> 

<gml:Definition gml:id="sst"> 

<gml:description>通常,けい(珪)酸を含む粒子からなる砕せつ(屑)岩</gml:description> 
<gml:identifier codeSpace="http://www.abc.org/terms">砂岩</gml:identifier> 

</gml:Definition> 

</gml:dictionaryEntry> 

<gml:dictionaryEntry xlink:href="http://my.big.org/definitions/geology/limestone"/> 
</gml:Dictionary> 

 

<gml:Dictionary gml:id="AbridgedGMLdictionary"> 

<gml:description>縮小版GML辞書</gml:description> 
<gml:identifier codeSpace="http://www.opengis.net/gml/3.2">GML辞書</gml:identifier> 
<gml:dictionaryEntry> 

<gml:Definition gml:id="term4.1"> 

<gml:description>一つ以上の応用システムで必要なデータのための概念スキーマ

</gml:description> 

<gml:identifier codeSpace="http://www.isotc211.org/19101">応用スキーマ</gml:identifier> 

</gml:Definition> 

</gml:dictionaryEntry> 
<gml:dictionaryEntry> 

<gml:Definition gml:id="term4.2"> 

<gml:description>JIS X 7136で指定される規則に従ってXML Schemaで記述する応用スキーマ

</gml:description> 

<gml:identifier codeSpace="http://www.opengis.net/gml/3.2">GML 応用スキーマ</gml:identifier> 

</gml:Definition> 

</gml:dictionaryEntry> 
<gml:dictionaryEntry> 

<gml:Definition gml:id="term4.3"> 

<gml:description>そのインスタンス間での接続を指定する,二つ以上の分類間での意味関係

</gml:description> 

<gml:identifer codeSpace="http://www.uml.org/1.3">関連</gml:identifier> 

</gml:Definition> 

</gml:dictionaryEntry> 
<gml:dictionaryEntry> 

<gml:Definition gml:id="term4.4"> 

<gml:description>要素に含まれる名称と値の組</gml:description> 
<gml:identifer codeSpace="http://www.w3.org/XML/1998/namespace">属性</gml:identifier> 

</gml:Definition> 

</gml:dictionaryEntry> 
<!-- … --> 

</gml:Dictionary> 

 


175 

X 7136:2012 (ISO 19136:2007) 

 

 

16 GMLスキーマ−単位,計測値,及び値 

16.1 一般 

GMLスキーマ構成部品の中には,参照尺度又は計測単位を用いた,量の値と関係があるか又はそれを必

要とするものがある。8.2において,gml:MeasureType型,gml:MeasureListType型及び

gml:MeasureOrNilReasonListType型を,GMLプロパティ及びオブジェクトが計測単位をもつことができる

ように,次のパターンに従って定義する。 

<abc:length uom="m">100</abc:length> 

uom属性は,“unit of measure”(計測単位)を意味し,gml:UomIdentifier(8.2.3.6参照)を保持する。こ

の箇条16では,三つの主題に関係するスキーマ構成部品を示す。 

− 計測単位を定義する構成部品の集合 

− 型付きの計測値の集合 

− 計測値の集成及びリストのための構造 

16.2 単位スキーマ 

16.2.1 概要 

GMLスキーマ構成部品の中には,参照尺度又は計測単位に関係する又は必要となるものがある。地物型

のプロパティの値,観測の結果,被覆の範囲パラメタ,及び座標参照系の定義で用いる計測値として現れ

る量には,単位が必要な場合がある。 

注記 スキーマ文書units.xsd は,計測単位の定義を利用可能にする構成部品を定義する。単位スキー

マ文書は,附属書Cに記載する。これは,次の(URN構文を用いた)位置独立名によって識

別する。 

urn:x-ogc:specification:gml:schema-xsd:units:3.2.1 

基本的な単位の定義は,15.2.1で定義した一般的なgml:Definition要素の拡張とする。さらに,単位の定

義に特化した三つの要素が,これから派生する。 

このモデルは国際単位系(SI)(JIS Z 8203:2000参照)に基づいており,基本単位と組立単位とを区別

している。 

− 基本単位は,個々の単位系を定義する,互いに直交する基本量の集合のために選択された単位とし,

他の基本単位の組合せから派生させることはできない。 

− 組立単位は,単位系の他の量のために選択された単位とし,基本単位の代数的組合せによって定義で

きる。 

幾つかの応用分野では,慣用的な単位を使用するが,倍率又はスケーリング及びオフセットを定義した

式を使い,選択された単位に換算してもよい。個々の単位系における全ての物理量の型のために選択され

た単位の集合は,その基本単位及び組立単位の組合せで構成する。 

16.2.2 単位の定義の使用 

単位の定義は,辞書モデルの部分として宣言するgml:Definition要素を代替可能とする。単位の定義及び

単位の定義への参照だけを含む辞書は,単位辞書である。 

16.2.3 unitOfMeasure及びUnitOfMeasureType 

gml:unitOfMeasure要素は,計測単位を参照するプロパティ要素とする。スキーマでは,次のように宣言

する。 

<element name="unitOfMeasure" type="gml:UnitOfMeasureType "/> 
 


176 

X 7136:2012 (ISO 19136:2007)  

 

 

<complexType name="UnitOfMeasureType"> 

<sequence/> 
<attribute name="uom" type="gml:UomIdentifier" use="required"/> 

</complexType> 

これは,計測単位の定義を参照する空白の要素とする(8.2.3.6参照)。 

例 この要素は,次のようなデータインスタンスとなる。 
<unitOfMeasure uom="m"/> 
<unitOfMeasure uom="http://my.standards.org/units/length/metre"/> 

16.2.4 UnitDefinition及びUnitDefinitionType 

gml:UnitDefinitionは,計測単位の一般的な定義とする。この一般的な要素は,他の単位又は単位系との

関係をもたない単位にだけ使用する。スキーマでは,次のように宣言する。 

<element name="UnitDefinition" type="gml:UnitDefinitionType" substitutionGroup="gml:Definition"/> 

 

<complexType name="UnitDefinitionType"> 

<complexContent> 

<extension base="gml:DefinitionType"> 

<sequence> 

<element ref="gml:quantityType" minOccurs="0"/> 
<element ref="gml:quantityTypeReference" minOccurs="0"/> 
<element ref="gml:catalogSymbol" minOccurs="0"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:UnitDefinitionの内容モデルは,gml:Definition(15.2.1参照)に更に三つのプロパティ,gml:quantityType,

gml:quantityTypeReference 及びgml:catalogSymbol を追加する。 

gml:catalogSymbolプロパティは,任意選択とし,その単位に使用する単位記号を与える。この要素は,

通常,他の単位又は単位系との関係が知られていない場合に使用する。 

16.2.5 quantityType及びquantityTypeReference 

gml:quantityType及びgml:quantityTypeReferenceプロパティは,その単位に適用する現象を示す。これは,

次のように宣言する。 

<element name="quantityType" type="gml:StringOrRefType"/> 
<element name="quantityTypeReference" type="gml:ReferenceType"/> 

この要素は,計測又は観測した物理量の型又は現象の,略式の記述を含む。 

例 “長さ”,“角度”,“時間”,“圧力”及び“温度”。 

その物理量が観測又は計測の結果である場合,この用語は,可観測型又は測定量として理解する。 

gml:quantityTypeで遠隔の値を参照する使用法は,非推奨である。代わりにgml:quantityTypeReferenceを

使用しなければならない。gml:quantityTypeで遠隔の値を参照する使用法は非推奨であるため,文字列型を

使用する。 

16.2.6 catalogSymbol 

catalogSymbolは,その計測単位で使用すべき文字記号とする。これは,次のように宣言する。 

<element name="catalogSymbol" type="gml:CodeType"/> 

 


177 

X 7136:2012 (ISO 19136:2007) 

 

 

gml:CodeTypeのcodeSpaceプロパティは,カタログ中の記号の値のための名前空間を指定する。外部カ

タログを参照することもある。gml:CodeTypeの中の文字列値は,カタログの名前空間内で一意となる記号

の値を含む。多くの場合,この記号はカタログ内にそのまま現れるが,決められた単位の式を使った記号

の組合せであってもよい。 

例 記号“cm”は,記号“m”に接頭辞“c”を組み合わせたものとみなすことができる。この場合は,

カタログの名前空間内で“c”及び“m”が一意となる記号の値として含まれる。 

16.2.7 BaseUnit,BaseUnitType及びunitsSystem 

基本単位(base unit)は,ある単位系(units system)内で他の基本単位の組合せとして派生することが

できない計測単位とする。例えば,国際単位系(SI)では,基本単位は,メートル,キログラム,秒,ア

ンペア,ケルビン,モル及びカンデラの七つで,それぞれ長さ,質量,時間,電流,熱力学温度,物質量

及び光度の物理量型である。 

基本単位は,gml:BaseUnit要素を使って次のように宣言する。 

<element name="BaseUnit" type="gml:BaseUnitType" substitutionGroup="gml:UnitDefinition"/> 

 

<complexType name="BaseUnitType"> 

<complexContent> 

<extension base="gml:UnitDefinitionType"> 

<sequence> 

<element name="unitsSystem" type="gml:ReferenceType"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:BaseUnitは,汎用のgml:UnitDefinitionの拡張とし,その基本単位が属する単位系の参照を示す

gml:unitsSystemプロパティをもつ。 

16.2.8 DerivedUnit及びDerivedUnitType 

組立単位は,他の単位の組合せで定義する。組立単位は,周波数にはヘルツ(s−1),力にはニュートン

(kg・m/s2)というように,基本単位以外の量に使用する。単位系の基本的な量以外の量には,通常,基

本単位だけで構成した組立単位の使用を推奨する。組立単位が選択された単位でない場合,

gml:ConventionalUnit要素(16.2.10参照)を使用しなければならない。gml:DerivedUnit要素は,次のよう

に宣言する。 

<element name="DerivedUnit" type="gml:DerivedUnitType" substitutionGroup="gml:UnitDefinition"/> 

 

<complexType name="DerivedUnitType"> 

<complexContent> 

<extension base="gml:UnitDefinitionType"> 

<sequence> 

<element ref="gml:derivationUnitTerm" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:DerivedUnitは,gml:UnitDefinitionの拡張で,gml:derivationUnitTermsプロパティをもつ。 

 


178 

X 7136:2012 (ISO 19136:2007)  

 

 

16.2.9 derivationUnitTerm及びDerivationUnitTermType 

gml:derivationUnitTerm要素の集合は,計測のための組立単位を示す。各単位項は整数指数をもつ。各要

素は,指数による参照単位の累乗及び積によって結合される。gml:derivationUnitTerm要素は,次のように

宣言する。 

<element name="derivationUnitTerm" type="gml:DerivationUnitTermType"/> 

 

<complexType name="DerivationUnitTermType"> 

<complexContent> 

<extension base="gml:UnitOfMeasureType"> 

<attribute name="exponent" type="integer"/> 

</extension> 

</complexContent> 

</complexType> 

この単位項は,他の計測単位(uom)の一つを参照し,合成した単位を定めるときに,その単位に適用

する整数指数を与える。指数は,正又は負を取ることができるが,零であってならない。 

16.2.10 ConventionalUnit及びConventionalUnitType 

基本単位でも,基本単位を直接組み合わせた単位でもない慣用的な単位が,多くの応用分野で使用され

ている。例えば,エネルギーのための電子ボルト,長さのためのフィート,海里などがある。ほとんどの

場合,基本単位,又は基本単位の直接の組合せによる派生となる,選択された単位への,既知の(通常線

形の)換算がある。gml:ConventionalUnit要素は,次のように宣言する。 

<element name="ConventionalUnit" type="gml:ConventionalUnitType" 
substitutionGroup="gml:UnitDefinition"/> 

 

<complexType name="ConventionalUnitType"> 

<complexContent> 

<extension base="gml:UnitDefinitionType"> 

<sequence> 

<choice> 

<element ref="gml:conversionToPreferredUnit"/> 
<element ref="gml:roughConversionToPreferredUnit"/> 

</choice> 
<element ref="gml:derivationUnitTerm" minOccurs="0" maxOccurs="unbounded"/> 

</sequence> 

</extension> 

</complexContent> 

</complexType> 

gml:ConventionalUnitは,gml:UnitDefinitionの拡張であり,その物理量の選択された単位への換算を記述

するプロパティをもつ。その換算が正確な場合,gml:conversionToPreferredUnit要素を使わなければならな

い。換算が正確ではない場合は,gml:roughConversionToPreferredUnit要素を使用可能とする。両者は,同

一の内容モデルをもつ。上の細分箇条(16.2.9)で定義したgml:derivationUnitTermプロパティは,どのよ

うにこの単位が他の(より基本的な)単位から派生したかを,任意選択で記録することを使用者に許すた

めにある。 

16.2.11 conversionToPreferredUnit,roughConversionToPreferredUnit,ConversionToPreferredUnitType及

びFormulaType 


179 

X 7136:2012 (ISO 19136:2007) 

 

 

gml:conversionToPreferredUnit 及び gml:roughConversionToPreferredUnit 要素は,慣用的な単位からこの

物理量型の選択された単位への換算に使用するパラメタを表す。選択された単位は,単一の物理量型の全

ての値のために選択した基本単位又は組立単位とする。これらの換算は,スキーマ文書内で次のように宣

言する。 

<element name="conversionToPreferredUnit" type="gml:ConversionToPreferredUnitType"/> 

 

<element name="roughConversionToPreferredUnit" type="gml:ConversionToPreferredUnitType"/> 

 

<complexType name="ConversionToPreferredUnitType"> 

<complexContent> 

<extension base="gml:UnitOfMeasureType"> 

<choice> 

<element name="factor" type="double"/> 
<element name="formula" type="gml:FormulaType"/> 

</choice> 

</extension> 

</complexContent> 

</complexType> 

gml:UnitOfMeasureTypeから継承したuom属性は,この換算を適用する選択された単位を参照する。こ

の物理量型にとっての選択された単位への換算は,算術換算(スケーリング及び/又はオフセット)で指

定する。この内容モデルは gml:UnitOfMeasureType の拡張であり,この換算を適用する物理量型にとって

の選択された単位を示す必須属性であるuomをもつ。換算は,慣用的な計測単位での値を,対応する選択

された計測単位での値に換算する要素 gml:factor (倍率を定義)又はgml:formula(式を定義)の二者択一

とする。次に式のモデルを示す。 

<complexType name="FormulaType"> 

<sequence> 

<element name="a" type="double" minOccurs="0"/> 
<element name="b" type="double"/> 
<element name="c" type="double"/> 
<element name="d" type="double" minOccurs="0"/> 

</sequence> 

</complexType> 

この式は,慣用的な計測単位での値を,対応する選択された計測単位での値に換算する単純な式のパラ

メタを定義する。式の要素は,XML Schemaのdouble型の値をもつ要素a,b,c及びdを含む。これらの

値は,式y =(a + bx) / (c + dx)で使う。xは,この単位での値,yは,対応する基本単位での値とする。要

素a及びdは任意選択であり,値が与えられない場合は零とみなす。a及びdが共に与えられない場合,

式は分子及び分母からなる分数と等しい。 

16.2.12 単位辞書の例(参考) 

この辞書には,国際単位系(SI)が定義する全ての基本単位及び組立単位に対応する定義と,それに加

え一部の慣用の単位とをその構成部品の使用例として含む。 

<gml:Dictionary gml:id="unitsDictionary"> 

<gml:description>計測単位辞書</gml:description> 
<gml:identifier codeSpace="http://www.opengeospatial.org/initiatives/?iid=79">OWS-1.2  

Units</gml:identifier> 


180 

X 7136:2012 (ISO 19136:2007)  

 

 

<gml:dictionaryEntry> 

<gml:Dictionary gml:id="SIBaseUnits"> 

<gml:description>国際単位系(SI)の基本単位。</gml:description> 
<gml:identifier codeSpace="http://www.opengeospatial.org/initiatives/?iid=79">OWS-1.2 SI Base 

Units</gml:identifier> 

<gml:dictionaryEntry> 

<gml:BaseUnit gml:id="m"> 

<gml:description>メートルは,1秒の299 792 458分の1の時間に光が真空中を伝わる距離で

ある。</gml:description> 

<gml:identifier 

codeSpace="http://www.bipm.fr/en/3̲SI/base̲units.html">metre</gml:identifier> 

<gml:name xml:lang="ja-JP ">メートル</gml:name> 
<gml:quantityType>長さ</gml:quantityType> 
<gml:catalogSymbol 

codeSpace="http://www.bipm.fr/en/3̲SI/base̲units.html">m</gml:catalogSymbol> 

<gml:unitsSystem xlink:href="http://www.bipm.fr/en/3̲SI"/> 

</gml:BaseUnit> 

</gml:dictionaryEntry> 
<!-- … --> 

</gml:Dictionary> 

</gml:dictionaryEntry> 
<gml:dictionaryEntry> 

<gml:Dictionary gml:id="SIDerivedUnits"> 

<gml:description>国際単位系(SI)の組立単位。全て国際単位系(SI)の基本単位の積として

表現される。例外として,セルシウス度は,国際単位系(SI)の基本単位(ケルビン)への換算
式がオフセットである。</gml:description> 

<gml:identifier codeSpace="http://www.opengeospatial.org/initiatives/?iid=79">OWS-1.2 SI Derived 

Units</gml:identifier> 

<gml:dictionaryEntry> 

<gml:DerivedUnit gml:id="rad"> 

<gml:identifier codeSpace="http://www.bipm.fr/en/3̲SI">radian</gml:identifier> 
<gml:quantityType>平面角</gml:quantityType> 
<gml:catalogSymbol codeSpace="http://www.bipm.fr/en/3̲SI">rad</gml:catalogSymbol> 
<gml:derivationUnitTerm uom="#m" exponent="1"/> 
<gml:derivationUnitTerm uom="#m" exponent="-1"/> 

</gml:DerivedUnit> 

</gml:dictionaryEntry> 
<!-- … --> 

</gml:Dictionary> 

</gml:dictionaryEntry> 
<gml:dictionaryEntry> 

<gml:Dictionary gml:id="ConventionalUnitsDictionary"> 

<gml:description>慣用の単位の集まり。特定の集団で広く使用されている重要な計測単位であ

る。これらのほとんどは,次のいずれかである。 

1. より基本的な単位[国際単位系(SI)の基本単位であってもそうでなくてもよい。]からのよく知

られている派生 

2. 選択された単位[国際単位系(SI)の基本単位及び組立単位であってもそうでなくてもよい。]へ

の,スケーリング,オフセット,又はその両方によるよく知られている換算</gml:description> 


181 

X 7136:2012 (ISO 19136:2007) 

 

 

<gml:identifier codeSpace="http://www.opengeospatial.org/initiatives/?iid=79">OWS-1.2 

Conventional units.</gml:identifier> 

<gml:dictionaryEntry> 

<gml:DerivedUnit gml:id="m3"> 

<gml:identifier codeSpace="http://www.opengeospatial.org/initiatives/?iid=79">cubic 

metre</gml:identifier> 

<gml:quantityType>体積</gml:quantityType> 
<gml:derivationUnitTerm uom="#m" exponent="3"/> 

</gml:DerivedUnit> 

</gml:dictionaryEntry> 
<gml:dictionaryEntry> 

<gml:ConventionalUnit gml:id="l"> 

<gml:identifier 

codeSpace="http://www.opengeospatial.org/initiatives/?iid=79">yard</gml:identifier> 

<gml:quantityType>長さ</gml:quantityType> 
<gml:conversionToPreferredUnit uom="#yd"> 

<gml:factor>0.9144</gml:factor> 

</gml:conversionToPreferredUnit> 

</gml:ConventionalUnit> 

</gml:dictionaryEntry> 
<!-- … --> 

</gml:Dictionary> 

</gml:dictionaryEntry> 

</gml:Dictionary> 

16.3 計測値スキーマ 

16.3.1 概要 

gml:MeasureTypeは,basicTypesスキーマの中で定義する。ここで定義する計測値型は,ISO/TS 19103

で示す便宜的な計測値型の集合と対応する。そのXMLでの実装は,十進表記及び浮動小数点表記を利用

可能とするXMLスキーマの単純型“double”を基本とし,値の計測単位を参照するXML属性“uom”を

含む。特定の書式で値を格納するという必要はなく,この型の要素を受け取る応用システムは,そのデー

タを便宜的に他の任意の型に強制することを選択できることに注意する。 

注記 特定の計測値型のスキーマ文書を,次の(URN構文を用いた)位置独立名によって識別する。 

urn:x-ogc:specification:gml:schema-xsd:measures:3.2.1 

16.3.2 measure 

これは,単位を伴う物理量の値である。これは,次のように宣言する。 

<element name="measure" type="gml:MeasureType"/> 

gml:MeasureType の定義は,8.2.3.6を参照。 

16.3.3 スカラ計測値型 

特定の計測値型の集合は,gml:MeasureTypeの空の拡張,つまり,別名として定義する。ひな形は,次

のように定義する。 

<complexType name="LengthType"> 

<simpleContent> 

<extension base="gml:MeasureType"/> 

</simpleContent> 

</complexType> 


182 

X 7136:2012 (ISO 19136:2007)  

 

 

この内容モデルは,長さ(又は距離)の量とその単位の記述とを可能にする。uom属性が参照する測定

単位は,メートル又はフィートのような,長さとして適切なものでなければならない。 

このパターンに従って定義する,その他の計測値型には,gml:ScaleType,gml:GridLengthType,

gml:AreaType,gml:VolumeType,gml:SpeedType,gml:TimeType 及び gml:AngleType がある。 

例 これらの内容モデルを用いる要素は,次のようなデータのインスタンスとなる。 
<my:length uom="m">1.76</my:length> 
<my:scale uom="#percent">20.</my:scale> 
<my:gridLength uom="#pixelSpacing">480</my:gridLength> 
<my:gridLength uom="#imageHeight">0.00208333333333</my:gridLength> 
<my:area uom="#ha">1.76</my:area> 
<my:volume uom="l">0.45</my:volume> 
<my:speed uom="#kmph">73.0</my:speed> 
<gml:angle uom="#gradians">95.</gml:angle> 
<my:time uom="#minutes">30.</my:time> 

注記 例の中の最後の要素は,箇条14で定義されたgml:timeLength代替グループ中の要素として,同

じ機能要件に対応することに留意する。 

16.3.4 angle 

gml:angleプロパティは,単一の数値としての角度の値を,その単位とともに記録することに用いる。こ

れは,次のように宣言する。 

<element name="angle" type="gml:AngleType"/> 

16.4 値オブジェクトスキーマ 

16.4.1 一般 

この細分箇条(16.4)で宣言する要素は,他のGMLスキーマの構成部品に基づく。具体的には,

gml:AbstractTimeObject及び gml:AbstractGeometry,並びに次の型,gml:MeasureType,gml:MeasureListType,

gml:CodeType

gml:CodeOrNilReasonListType

gml:BooleanOrNilReasonListType

び 

gml:IntegerOrNilReasonListである。 

特にここで対象となる要素は,代替グループの代表及び一つの名前付きの選択グループとする。これら

は,値オブジェクトスキーマの主要な根拠である。それは,観測のように,配列,幾何及び時間オブジェ

クトのような複雑な内容をもつことができるものを発生させるために代替値の型があることが望ましい場

合及び前もって実際の値を規定しないことが便利である場合に,内容モデルの定義において変数として働

くことができるからである。 

グループのメンバには,量,カテゴリ区分,ブーリアン,カウント,時間及び空間的な値並びにそれら

の集合を含む。 

注記1 一般的な値のための構成部品を示すスキーマ文書valueObjects.xsdは,附属書Cに示す。こ

れは,次の位置独立名によって識別(URN構文規則を使用)する。 

urn:x-ogc:specification:gml:schema-xsd:valueObjects:3.2.1 

注記2 このスキーマで宣言する要素は,値の直接的な表現に使用する。その内容モデルは一般的に

gml:AbstractGMLTypeから派生したものでなく,識別子をもたない。 

16.4.2 値要素の階層構造 

値オブジェクトは,階層構造で定義する。その概念モデルは,D.3.15で示す。 

次の関係を定義する。 


183 

X 7136:2012 (ISO 19136:2007) 

 

 

− 具象要素gml:Quantity,gml:Category,gml:Count及びgml:Booleanは,抽象要素gml:AbstractScalarValue

に代替できる。 

− 具象要素 gml:QuantityList,gml:CategoryList,gml:CountList及びgml:BooleanList は,抽象要素 

gml:AbstractScalarValueListに代替できる。 

− 具象要素 gml:ValueArrayは,具象要素gml:CompositeValueに代替できる。 

− 抽象要素gml:AbstractScalarValue及びgml:AbstractScalarValueList,並びに具象要素gml:CompositeValue,

gml:ValueExtent,gml:CategoryExtent,gml:CountExtent及びgml:QuantityExtentは,抽象要素

gml:AbstractValueに代替できる。 

− 抽象要素gml:AbstractValue,gml:AbstractTimeObject及びgml:AbstractGeometry,並びに具象要素gml:Null

(非推奨)は,gml:Valueという名前付きの選択グループに全て含み,gml:CompositeValue及び

gml:ValueExtentの合成のために使用する。 

− 値を必要とするスキーマは,インスタンス又は名前付きのグループgml:Valueの中で,

gml:AbstractScalarValue,gml:AbstractScalarValueList,gml:CompositeValue若しくはgml:ValueExtentのい

ずれかが発生することを許すために,又はgml:AbstractTimeObject,gml:AbstractGeometry及びgml:Null

(非推奨)を許すためにも,内容モデルの中で抽象要素gml:AbstractValueを使用することができる。 

16.4.3 Boolean及びBooleanList 

二値論理の値又は値の一覧の記録には,XML Schemaのブール型を使用する。その要素は,次のスキー

マ宣言を使用する。 

<element name="Boolean" substitutionGroup="gml:AbstractScalarValue" nillable="true"> 

<complexType> 

<simpleContent> 

<extension base="boolean"> 

<attribute name="nilReason" type="gml:NilReasonType"/> 

</extension> 

</simpleContent> 

</complexType> 

</element> 
<element name="BooleanList" type="gml:booleanOrNilReasonList" 
substitutionGroup="gml:AbstractScalarValueList"/> 

gml:booleanOrNilReasonListは,8.2.4.1に示す。 

例 次に,インスタンスの例を示す。 
<gml:Boolean>1</gml:Boolean> 
<gml:Boolean>false</gml:Boolean> 
<gml:Boolean xsi:nil="true" nilReason="missing"/> 
<gml:BooleanList>1 missing 0 1 1 http://my.big.org/explanationss/theDogAteIt 0 1 
</gml:BooleanList> 

注記 これらの例では,{1,0,true,false}といった様々なブール値,nilReason値の“missing”のよ

うな事例,また,URIをリストの内に埋め込むことができることなどについて説明している。 

16.4.4 Category及びCategoryList 

分類(category)を表す用語を記録する。これらの要素は,次のスキーマ宣言を使用する。 

<element name="Category" substitutionGroup="gml:AbstractScalarValue" nillable="true"> 

<complexType> 

<simpleContent> 


184 

X 7136:2012 (ISO 19136:2007)  

 

 

<extension base="gml:CodeType"> 

<attribute name="nilReason" type="gml:NilReasonType"/> 

</extension> 

</simpleContent> 

</complexType> 

</element> 
<element name="CategoryList" type="gml:CodeOrNilReasonListType 
substitutionGroup="gml:AbstractScalarValueList"/> 

gml:Categoryは,任意選択のXML属性codeSpaceをもち,その値は,用語辞書,符号リスト又は用語の

典拠のURIとする。 

例 次に,インスタンスの例を示す。 
<gml:Category>良好</gml:Category> 
<gml:Category xsi:nil="true" nilReason="missing"/> 
<gml:Category codeSpace="http://my.big.org/dictionaries/rocktypes">せん(閃)長岩</gml:Category> 
<gml:CategoryList codeSpace="http://my.big.org/dictionaries/rocktypes">せん(閃)長岩 花こう(崗)岩 
missing 凝灰岩</gml:CategoryList> 
<gml:CategoryList codeSpace="http://my.big.org/species">イヌ ネコ ウサギ ネズミ</gml:CategoryList> 

16.4.5 Count及びCountList 

発生の割合を示す整数を記録する。これらの要素は,次のスキーマ宣言を使用する。 

<element name="Count" substitutionGroup="gml:AbstractScalarValue" nillable="true"> 

<complexType> 

<simpleContent> 

<extension base="integer"> 

<attribute name="nilReason" type="gml:NilReasonType"/> 

</extension> 

</simpleContent> 

</complexType> 

</element> 
<element name="CountList" type="gml:integerOrNilReasonList" 
substitutionGroup="gml:AbstractScalarValueList"/> 

例 次に,インスタンスの例を示す。 
<gml:Count>513</gml:Count> 
<gml:Count xsi:nil="true" nilReason="missing"/> 
<gml:CountList>34 56 2 inapplicable 153</gml:CountList> 

16.4.6 Quantity及び QuantityList 

尺度付きの数値を記録する。要素の内容は,十進数,又は科学的な表記によって認められたXML Schema

の倍精度実数型を使用する量とする。これらの要素は,次のスキーマ宣言を使用する。 

<element name="Quantity" substitutionGroup="gml:AbstractScalarValue" nillable="true"> 

<complexType> 

<simpleContent> 

<extension base="gml:MeasureType"> 

<attribute name="nilReason" type="gml:NilReasonType"/> 

</extension> 

</simpleContent> 

</complexType> 

</element> 


185 

X 7136:2012 (ISO 19136:2007) 

 

 

<element name="QuantityList" type="gml:MeasureOrNilReasonListType" 
substitutionGroup="gml:AbstractScalarValueList"/> 

XML属性uom(計測単位)は必須とする。その値には,次の二つがある。 

− 比率尺度又は数値に対し乗算を行うときの単位のいずれかの定義を識別するURI 

− 値が発生する間隔又は位置の尺度 

例 次に,インスタンスの例を示す。 
<gml:Quantity uom= “m”>4.32e-4</gml:Quantity> 
<gml:Quantity xsi:nil= “true” nilReason= “withheld” /> 
<gml:QuantityList uom= “#C”>21. 37. withheld 25.</gml:QuantityList> 

16.4.7 AbstractValue,AbstractScalarValue及びAbstractScalarValueList 

gml:AbstractValue

は抽象要素とし,gml:AbstractScalarValue,gml:AbstractScalarValueList,

gml:CompositeValue及びgml:ValueExtent を含む代替グループの代表,並びに(推移的に)これらの代替グ

ループの要素の役割を果たす。 

gml:AbstractScalarValueは抽象要素とし,gml:Boolean,gml:Category,gml:Count及びgml:Quantityを含む

代替グループの代表,並びに(推移的に)代替グループの要素の役割を果たす。 

gml:AbstractScalarValueListは抽象要素とし,gml:BooleanList,gml:CategoryList,gml:CountList及び

gml:QuantityListを含む代替グループの代表,並びに(推移的に)代替グループの要素の役割を果たす。 

これらの要素は,次のスキーマ宣言を使用する。 

 

<element name="AbstractValue" type="anyType" abstract="true" substitutionGroup="gml:AbstractObject"/> 

 

<element name="AbstractScalarValue" type="anyType" abstract="true" 
substitutionGroup="gml:AbstractValue"/> 

 

<element name="AbstractScalarValueList" type="anyType" abstract="true" 
substitutionGroup="gml:AbstractValue"/> 

これらの要素は,変数として応用スキーマで使用することができ,XMLインスタンス文書の中で任意の

数の代替グループのどのメンバが発生してもよい。 

16.4.8 Value 

これは,空間及び時間オブジェクト及び上(16.4.7)に示した計測値とともに,この細分箇条(16.4.8)

で定義する一般的な値を統合する,便宜的な選択グループとし,これらのうちの任意のものを,集成値の

中で使用してもよい。この要素は,次のスキーマ宣言を使用する。 

<group name="Value"> 

<choice> 

<element ref="gml:AbstractValue"/> 
<element ref="gml:AbstractGeometry"/> 
<element ref="gml:AbstractTimeObject"/> 

<element ref="gml:Null"/> 

</choice> 

</group> 

16.4.9 valueProperty,valueComponent及びvalueComponents 

Value又はValuesを参照又は内包するGMLプロパティを継承する要素。これらの要素は,次のスキーマ

宣言を使用する。 


186 

X 7136:2012 (ISO 19136:2007)  

 

 

<element name="valueProperty" type="gml:ValuePropertyType"/> 
<element name="valueComponent" type="gml:ValuePropertyType"/> 

 

<complexType name="ValuePropertyType"> 

<sequence minOccurs="0"> 

<group ref="gml:Value"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

 

<element name="valueComponents" type="gml:ValueArrayPropertyType"/> 

 

<complexType name="ValueArrayPropertyType"> 

<sequence maxOccurs="unbounded"> 

<group ref="gml:Value" /> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 

</complexType> 

gml:ValuePropertyType及びgml:ValueArrayPropertyTypeの両者は,それらの内容として,gml:Valueと名

づけられたグループをもつことに留意する。これは,選択グループgml:Value又は選択グループのメンバ

の代替グループ中の任意の要素は,値プロパティの内容として発生することを許すことを意味する。 

gml:valueProperty要素は,一般的な用途で使える便利な要素である。gml:valueComponent及び

gml:valueComponents要素は,特に合成値の中で使用される。 

16.4.10 CompositeValue 

gml:CompositeValueは,他の値から作る集成値である。零個若しくは任意の数のgml:valueComponent要

素,又は零個若しくは一つのgml:valueComponents要素を含む。それは,強結合の集成(ベクタ及びテン

ソル)又は任意の値の集まりに使用することができる。この要素は,次のスキーマ宣言を使用する。 

<element name="CompositeValue" type="gml:CompositeValueType" 
substitutionGroup="gml:AbstractValue"/> 

 

<complexType name="CompositeValueType"> 

<complexContent> 

<extension base="gml:AbstractGMLType"> 

<sequence> 

<element ref="gml:valueComponent" minOccurs="0" maxOccurs="unbounded"/> 
<element ref="gml:valueComponents" minOccurs="0"/> 

</sequence> 
<attributeGroup ref="gml:AggregationAttributeGroup"/> 

</extension> 

</complexContent> 

</complexType> 

例 次の例の中に,gml:CompositeValueのインスタンスが現れる。 
<gml:CompositeValue> 

<gml:valueComponent> 

<gml:QuantityList uom="#C">21. 37. withheld 25.</gml:QuantityList> 


187 

X 7136:2012 (ISO 19136:2007) 

 

 

</gml:valueComponent> 
<gml:valueComponent> 

<gml:Category>良好</gml:Category> 

</gml:valueComponent> 
<gml:valueComponent> 

<gml:Count xsi:nil="true" nilReason="missing"/> 

</gml:valueComponent> 
<gml:valueComponents> 

<gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.6:4326"><gml:pos>71. -32.</gml:pos></gml:Point> 
<gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.6:4326"><gml:pos>70. -35.</gml:pos></gml:Point> 
<gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.6:4326"><gml:pos>74. -37.</gml:pos></gml:Point> 

</gml:valueComponents> 

</gml:CompositeValue> 
<gml:CompositeValue> 

<gml:valueComponents> 

<gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.6:4326"><gml:pos>-67.563 

-13.834</gml:pos></gml:Point> 

<gml:Quantity uom="#km">632.</gml:Quantity> 
<gml:TimeInstant><gml:timePosition>1994-06-09T00:33:16.4</gml:timePosition></gml:TimeInstant> 
<gml:Quantity uom="#mom">-1.00</gml:Quantity> 
<gml:Quantity uom="#mom">0.92</gml:Quantity> 
<gml:Quantity uom="#mom">0.09</gml:Quantity> 
<gml:Quantity uom="#mom">-1.69</gml:Quantity 
<gml:Quantity uom="#mom">-0.09</gml:Quantity> 
<gml:Quantity uom="#mom">-0.37</gml:Quantity> 

</gml:valueComponents> 

</gml:CompositeValue> 

16.4.11 ValueArray 

値の配列(value array)は,同種のプリミティブの配列及び集成値で使用される。 

要素の値は,スカラ,合成,配列又はリストになり得る。この要素は,次のスキーマ宣言を使用する。 

 

<element name="ValueArray" type="gml:ValueArrayType" substitutionGroup="gml:CompositeValue"/> 

 

<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" xmlns:gml=http://www.opengis.net/gml/3.2 
xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en"> 

<sch:title>Schematron constraints for GML / ISO 19136</sch:title> 
<sch:ns prefix="sch" uri="http://purl.oclc.org/dsdl/schematron"/> 
<sch:ns prefix="gml" uri="http://www.opengis.net/gml/3.2"/> 
<sch:pattern> 

<sch:rule context="gml:ValueArray"> 

<sch:assert test="not(@codeSpace and @uom)"> ValueArrayは,符号空間への参照及び単位への

参照の両方を保持することはできない</sch:assert> 

</sch:rule> 

</sch:pattern> 
<sch:pattern> 

<sch:rule context="gml:ValueArray"> 

<sch:assert test="count(gml:valueComponent/*) = count(gml:valueComponent/*[name() = 

name(../../gml:valueComponent[1]/*[1])])">全ての部品は,同じ型をとらなければならない


188 

X 7136:2012 (ISO 19136:2007)  

 

 

</sch:assert> 

<sch:assert test="count(gml:valueComponents/*) = count(gml:valueComponents/*[name() = 

name(../*[1])])"> 全ての部品は,同じ型をとらなければならない</sch:assert> 

</sch:rule> 

</sch:pattern> 

</sch:schema> 

 

<complexType name="ValueArrayType"> 

<complexContent> 

<extension base="gml:CompositeValueType"> 

<attributeGroup ref="gml:referenceSystem"/> 

</extension> 

</complexContent> 

</complexType> 

 

<attributeGroup name="referenceSystem"> 

<attribute name="codeSpace" type="anyURI" /> 
<attribute name="uom" type="gml:UomIdentifier" /> 

</attributeGroup> 

ValueArrayはCompositeValueと同じ内容モデルをもつが,メンバの値は同種のものでなければならない。

要素の宣言は,制限を精密に表すためにSchematron制約を含む。メンバが同種である限り,

gml:referenceSystem(uom及びcodeSpace)はgml:ValueArray自身の中で示されるが,必要であれば,全て

のメンバがこれを継承してもよい。 

例1 gml:ValueArray 要素は,次のインスタンスの中で現れる。最初の例の中では,点の集合は,そ

れぞれ,gml:valueComponentプロパティの値である。値の中の一つは,標準のxlink:href構文規

則による参照で与えられる。 

<gml:ValueArray> 

<gml:valueComponent> 

<gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.6:63266405"> 

<gml:pos>-32. 71.</gml:pos> 

</gml:Point> 

</gml:valueComponent> 
<gml:valueComponent> 

<gml:Point srsName="urn:x-ogc:def:crs:EPSG:6.6:63266405"> 

<gml:pos>-35. 70.</gml:pos> 

</gml:Point> 

</gml:valueComponent> 
<gml:valueComponent xlink:href="http://my.big.org/locations/points/point456"/> 

</gml:ValueArray> 

例2 2番目の例は,gml:valueComponentsプロパティの中に含まれる量の集合である。値の中の一つ

はnil値をもち,そこは値の欠損である。 

<gml:ValueArray> 

<gml:valueComponents> 

<gml:Quantity uom="#C">21.</gml:Quantity> 
<gml:Quantity uom="#C">37.</gml:Quantity> 
<gml:Quantity xsi:nil="true" nilReason="missing"/> 


189 

X 7136:2012 (ISO 19136:2007) 

 

 

</gml:valueComponents> 

</gml:ValueArray> 

例3 gml:AbstractScalarValueListは,より効果的な符号化を行うことができるので,スカラ値のため

の配列に使うことに留意する。上の例(例2)にある情報は,次のように表すことができる。 

<gml:QuantityList uom="#C">21. 37. missing</gml:QuantityList> 

しかしながら,構成部品の値がスカラ値でないときは,明確な書式が必要となる。 

16.4.12 Typed ValueExtents:CategoryExtent,CountExtent及びQuantityExtent 

これら三つの要素は,カテゴリ,計数値及び数量のための型付の値の範囲を与える。その内容モデルは,

次に示すように,厳密に二つの項目を含む,相互に関連するスカラリスト型を制限することによって定義

する。 

<element name="CategoryExtent" type="gml:CategoryExtentType" substitutionGroup="gml:AbstractValue"/> 
 
<complexType name="CategoryExtentType"> 

<simpleContent> 

<restriction base="gml:CodeOrNilReasonListType"> 

<length value="2"/> 

</restriction> 

</simpleContent> 

</complexType> 
 
<element name="CountExtent" type="gml:CountExtentType" substitutionGroup="gml:AbstractValue"/> 
 
<simpleType name="CountExtentType"> 

<restriction base="gml:integerOrNilReasonList"> 

<length value="2"/> 

</restriction> 

</simpleType> 
 
<element name="QuantityExtent" type="gml:QuantityExtentType" substitutionGroup="gml:AbstractValue"/> 
 
<complexType name="QuantityExtentType"> 

<simpleContent> 

<restriction base="gml:MeasureOrNilReasonListType"> 

<length value="2"/> 

</restriction> 

</simpleContent> 

</complexType> 

gml:QuantityExtent 要素又はこの型を使用する別の要素は,二つの値及び尺度をもつことになる。 

例1 <gml:QuantityExtent uom="#mm">0. 9.5</gml:QuantityExtent> 

codeSpaceが一組の順序付けられた用語を定義する場合は,gml:CategoryExtentType要素がよい。 

例2 <my:AgeRange codeSpace="http://iugg.org/geologicalPeriods">カンブリア紀 デボン紀

</my:AgeRange> 

どの値の範囲も境界の一つにNilReason値を使用することによって,一つの端しかもたない区間を示す

ことができる。 

例3 <gml:CountExtent>53 inapplicable</gml:CountExtent>。これは53で始まる整数を示す。 


190 

X 7136:2012 (ISO 19136:2007)  

 

 

16.4.13 BooleanPropertyType,CategoryPropertyType,CountPropertyType及びQuantityPropertyType 

便宜的な型の集合(gml:BooleanPropertyType,gml:CategoryPropertyType,gml:CountPropertyType及び

gml:QuantityPropertyType)の内容は,一定の数のgml:AbstractScalarValue代替グループとする。これらの定

義は,gml:BooleanPropertyTypeの定義で例示したものと同じパターンに従う。 

<complexType name="BooleanPropertyType"> 

<sequence minOccurs="0"> 

<element ref="gml:Boolean"/> 

</sequence> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

 

17 GML スキーマ−方向 

17.1 方向スキーマ 

方向スキーマ構成部品は,GML応用スキーマ開発者に対して,方向を示すための標準プロパティ要素,

及び関連するオブジェクトを提供する。ここで,このオブジェクトは,地物の測定方位,方向,機首方位,

方向角又はその他の方向関連特性を示すために使うことができる。 

注記 対応するスキーマ文書は,次の位置独立名で(URN構文規則を使用)識別する。 

urn:x-ogc:specification:gml:schema-xsd:direction:3.2.1 

17.2 direction及び DirectionPropertyType 

gml:directionプロパティは,GML応用スキーマで定義する地物に対応する方向(direction)を表す既定

義のプロパティとする。これは次のように宣言する。 

<element name="direction" type="gml:DirectionPropertyType"/> 
 
<complexType name="DirectionPropertyType"> 

<sequence minOccurs="0"> 

<choice> 

<element name="DirectionVector" type="gml:DirectionVectorType"/> 
<element name="DirectionDescription" type="gml:DirectionDescriptionType"/> 

<element name="CompassPoint" type="gml:CompassPointEnumeration"/> 
<element name="DirectionKeyword" type="gml:CodeType"/> 
<element name="DirectionString" type="gml:StringOrRefType"/> 

</choice> 

</sequence> 
<attributeGroup ref="gml:OwnershipAttributeGroup"/> 
<attributeGroup ref="gml:AssociationAttributeGroup"/> 

</complexType> 

代替的な方向を示す仕様としてのベクトル型又は記述型を,次に続く細分箇条(17.3及び17.4)に規定

する。 

17.3 DirectionVectorType 

方向ベクトル(direction vector)は,次のようにベクトルの構成部品を示すことによって規定する。 

<complexType name="DirectionVectorType"> 

<choice> 

<element ref="gml:vector"/> 

<sequence> 


191 

X 7136:2012 (ISO 19136:2007) 

 

 

<element name="horizontalAngle" type="gml:AngleType"/> 
<element name="verticalAngle" type="gml:AngleType"/> 

</sequence> 

</choice> 

</complexType> 

gml:vector 要素は,10.1.4.5で示す。 

例 この形式は,次のようにデータインスタンスの中に現れる。 
<gml:direction> 

<gml:DirectionVector> 

<gml:vector srsName="#wgs84">0.0 45.0</gml:vector> 

</gml:DirectionVector> 

</gml:direction> 

角度による代替表現は非推奨になっており,gml:vectorが代わりに使用される。 

17.4 DirectionDescriptionType 

方向の記述は,磁針点(compass point)符号,キーワード,テキスト記述又は記述への参照によって指

定する。gml:DirectionDescriptionType要素は,次のように宣言する。 

<complexType name="DirectionDescriptionType"> 

<choice> 

<element name="compassPoint" type="gml:CompassPointEnumeration"/> 
<element name="keyword" type="gml:CodeType"/> 
<element name="description" type="string"/> 
<element name="reference" type="gml:ReferenceType"/> 

</choice> 

</complexType> 

gml:compassPoint は,単純な列挙文字列の型で示し,次のように宣言する。 

<simpleType name="CompassPointEnumeration"> 

<restriction base="string"> 

<enumeration value="N"/> 
<enumeration value="NNE"/> 
<enumeration value="NE"/> 
<enumeration value="ENE"/> 
<enumeration value="E"/> 
<enumeration value="ESE"/> 
<enumeration value="SE"/> 
<enumeration value="SSE"/> 
<enumeration value="S"/> 
<enumeration value="SSW"/> 
<enumeration value="SW"/> 
<enumeration value="WSW"/> 
<enumeration value="W"/> 
<enumeration value="WNW"/> 
<enumeration value="NW"/> 
<enumeration value="NNW"/> 

</restriction> 

</simpleType> 

これらの方向は,おおむね22.5°の精度で与えられる。これは,GML応用言語の定義の中でその詳細を


192 

X 7136:2012 (ISO 19136:2007)  

 

 

示すことができるが,基準座標系での指定では,一般的には不要である。 

例1 この形式は,次のようにデータインスタンス中に現れる。 
<gml:direction> 

<gml:DirectionDescription> 

<gml:compassPoint>WNW</gml:compassPoint> 

</gml:DirectionDescription> 

</gml:direction> 

これに加えて,方向についてテキストベースの記述を含む要素を指定する。 

方向を,一覧からの用語を使用して指定する場合は,gml:keywordを使用することが望ましく,その一

覧は,codeSpace属性の値を用いて示される。 

例2 この形式は,次のようにデータインスタンス中に現れる。 
<gml:direction> 

<gml:DirectionDescription> 

<gml:keyword codeSpace="http://my.big.org/terms/direction">陸上</gml:keyword> 

</gml:DirectionDescription> 

</gml:direction> 

方向を文で記述する場合,gml:direction又はgml:referenceを使用することが望ましく,その値は,要素

内に含めるか又は参照になることを許す。 

例3 この形式は,次のようにデータインスタンス中に現れる。 
<gml:direction> 

<gml:DirectionDescription> 

<gml:direction>灯台の方向</gml:direction> 

</gml:DirectionDescription> 

</gml:direction> 

 

<gml:direction> 

<gml:DirectionDescription> 

<gml:reference xlink:href="http://my.big.org/logbook/20021127/paragraph6"/> 

</gml:DirectionDescription> 

</gml:direction> 

 

18 GMLスキーマ−観測地物 

18.1 観測地物 

GML観測地物は,カメラ,観測者,又は機器の形式を伴う観測行為をモデル化する。観測地物は,観測

結果を示す値とともに,情報の獲得に関連する“メタデータ”を示す。これは,旅行者による写真撮影(写

真ではなく,写真撮影の行為)など,広い範囲の様々な場合を対象とする。 

注記 このスキーマは,基本的に“単純な”観測に役立つことを意図している。特に,科学,技術及

び工学的な観測及び計測については,それらのためのGML応用スキーマの開発を必要とする。

例えば,OGCから出されている観測及び計測仕様を参考。 

18.2 観測地物スキーマ 

18.2.1 概要 

この細分箇条(18.2)では,二種類の観測地物,gml:Observation及びgml:DirectedObservationを示す。 

注記 観測地物(observation)は,スキーマ文書であるobservation.xsdで示す。このスキーマは,次に

示す(URN構文を使用して)位置独立名によって識別する。 


193 

X 7136:2012 (ISO 19136:2007) 

 

 

urn:x-ogc:specification:gml:schema-xsd:observation:3.2.1 

18.2.2 Observation 

gml:Observation要素は,スキーマにおいて次のように宣言する。 

<element name="Observation" type="gml:ObservationType" substitutionGroup="gml:AbstractFeature"/> 

 

<complexType name="ObservationType">  

<complexContent>  

<extension base="gml:AbstractFeatureType">  

<sequence>  

<element ref="gml:validTime"/>  
<element ref="gml:using" minOccurs="0"/>  
<element ref="gml:target" minOccurs="0"/>  
<element ref="gml:resultOf"/>  

</sequence>  

</extension>  

</complexContent>  

</complexType>  

その内容モデルは,gml:AbstractFeatureTypeの直接的な拡張であり,自動的にgml:identifier,gml:description,

gml:descriptionReference,gml:name,及びgml:boundedBy プロパティをもつ。 

gml:validTime要素は,14.2.1.3に示す。この文脈の中で,観測の時間を記述する。ここで,時間とは,

瞬間又は期間のこととする。 

例 単純な観測の例を次に示す。 
<gml:Observation>  

<gml:validTime>  

<gml:TimeInstant>  

<gml:timePosition>2002-11-12T09:12:00</gml:timePosition>  

</gml:TimeInstant>  

</gml:validTime>  
<gml:using xlink:href="http://www.my.org/sensors/温度計4"/>  
<gml:target xlink:href="http://www.environment.org/観測所/l456"/>  
<gml:resultOf>  

<gml:Quantity uom="#C">18.4</gml:Quantity>  

</gml:resultOf>  

</gml:Observation>  

 

<gml:Observation>  

<gml:validTime>  

<gml:TimeInstant>  

<gml:timePosition>2002-11-12T09:12:00</gml:timePosition>  

</gml:TimeInstant>  

</gml:validTime>  
<gml:using xlink:href="http://www.my.org/cameras/leica2"/>  
<gml:subject xlink:href="http://www.tourist.org/sights/mountain3"/>  
<gml:resultOf xlink:href="http://www.my.org/photos/landscape1.jpg"/>  

</gml:Observation>. 

 

<gml:Observation>  


194 

X 7136:2012 (ISO 19136:2007)  

 

 

<gml:validTime>  

<gml:TimeInstant>  

<gml:timePosition>2002-10-25T11:37:25</gml:timePosition>  

</gml:TimeInstant>  

</gml:validTime>  
<gml:subject xlink:href="http://www.people.org/kids/千恵子"/>  
<gml:resultOf xlink:href="娘の顔写真.jpg"/>  

</gml:Observation>  

18.2.3 using 

gml:usingプロパティは,観測に使用する(カメラのような)手段の記述を含むか又は参照する。これは,

次のように宣言する。 

<element name="using" type="gml:ProcedurePropertyType"/>  

  

<complexType name="ProcedurePropertyType">  

<sequence minOccurs="0">  

<element ref="gml:AbstractFeature"/>  

</sequence>  
<attributeGroup ref="gml:OwnershipAttributeGroup"/>  
<attributeGroup ref="gml:AssociationAttributeGroup"/>  

</complexType>  

18.2.4 target 

gml:targetプロパティは,観測対象の見本,観測地域又は観測所を含むか又は参照する。このプロパティ

要素は,次のように宣言する。 

<element name="target" type="gml:TargetPropertyType"/>  

 

<element name="subject" type="gml:TargetPropertyType" substitutionGroup="gml:target"/>  

 

<complexType name="TargetPropertyType">  

<choice minOccurs="0">  

<element ref="gml:AbstractFeature"/>  
<element ref="gml:AbstractGeometry"/>  

</choice>  
<attributeGroup ref="gml:OwnershipAttributeGroup"/>  
<attributeGroup ref="gml:AssociationAttributeGroup"/>  

</complexType>  

このプロパティは特に,写真撮影のような遠隔観測のために有用であり,一般的な場所プロパティは,

カメラの設置箇所又は視野を覆う場所といった漠然とした記述に適用してもよい。 

gml:subjectは,gml:targetと同義になる便利な要素である。これは,写真撮影に共通的に使用される用語

(被写体のこと)である。 

注記 gml:Observationは,既定義の場所プロパティを含まない。スキーマ開発者が観測地点(センサ

の設置場所)のための固定的な場所を示したいときは,例えば,値としての点をもつ場所プロ

パティを使用してよい。対象が,観測地点から既知の方向であるが未知の距離にあるとき(リ

モートセンシング)は,gml:DirectedObservationを使うことが望ましい。ここで,相対的な方向

及び距離が既知のときは,gml:DirectedObservationAtDistanceを使うことが望ましい。 


195 

X 7136:2012 (ISO 19136:2007) 

 

 

例 観測点の場所を伴う,観測地物の型を定義する応用スキーマは,次のように規定できる。 
<element name="ObservationWithSensorLocation" type="app:ObservationWithSensorLocationType" 
substitutionGroup="gml:Observation"/> 

 

<complexType name="ObservationWithSensorLocationType ">  

<complexContent>  

<extension base="gml:ObservationType">  

<sequence>  

<element name="positionOfSensor" type="gml:PointPropertyType"/>  

</sequence>  

</extension>  

</complexContent>  

</complexType>  

18.2.5 resultOf 

gml:resultOfプロパティは,観測結果を示す。その値は,要素内に示すか,又は別の箇所への参照にして

よい。これは,スキーマでは次のように宣言する。 

<element name="resultOf" type="gml:ResultType"/>  

 

<complexType name="ResultType">  

<sequence minOccurs="0">  

<any namespace="##any"/>  

</sequence>  
<attributeGroup ref="gml:OwnershipAttributeGroup"/>  
<attributeGroup ref="gml:AssociationAttributeGroup"/>  

</complexType>  

例 温度及び気圧の計測を行った観測記録をgml:DataBlockで記述する観測結果プロパティ 
<gml:DataBlock>  

<gml:rangeParameters>  

<gml:CompositeValue>  

<gml:valueComponents>  

<Temperature uom="urn:x-si:v1999:uom:degreesC">template</Temperature>  
<Pressure uom="urn:x-si:v1999:uom:kPa">template</Pressure>  

</gml:valueComponents>  

</gml:CompositeValue>  

</gml:rangeParameters>  
<gml:tupleList>3,101.2</gml:tupleList>  

</gml:DataBlock> 

18.2.6 DirectedObservation 

gml:DirectedObservationは,付加的なgml:directionプロパティが追加される以外は観測地物と同じとする。

gml:directionは,観測値を得る方向とする。これは,観測者による目視観測又は地上カメラで得られる観

測といった特別の観測に応用する。 

<element name="DirectedObservation" type="gml:DirectedObservationType" 
substitutionGroup="gml:Observation"/> 

  

<complexType name="DirectedObservationType">  

<complexContent>  


196 

X 7136:2012 (ISO 19136:2007)  

 

 

<extension base="gml:ObservationType">  

<sequence>  

<element ref="gml:direction"/>  

</sequence>  

</extension>  

</complexContent>  

</complexType>  

 

<gml:DirectedObservation>  

<gml:validTime>  

<gml:TimeInstant>  

<gml:timePosition>2002-11-12T09:12:00</gml:timePosition>  

</gml:TimeInstant>  

</gml:validTime>  
<gml:using xlink:href="http://www.my.org/cameras/leica2"/>  
<gml:target xlink:href="http://www.tourist.org/sights/mountain3"/>  
<gml:resultOf xlink:href="http://www.my.org/photos/landscape1.jpg"/>  
<gml:direction>  

<gml:DirectionVector>  

<gml:vector srsName="urn:x-ogc:def:crs:EPSG:6.3:4326">0.0 45.0</gml:vector>  

</gml:DirectionVector>  

</gml:direction>  

</gml:DirectedObservation>  

18.2.7 DirectedObservationAtDistance 

gml:DirectedObservationAtDistanceは,付加的な距離プロパティを追加している。これは,観測者から観

測対象までの距離である。これは,観測者による目視観測又は地上カメラで得られる観測といった特別の

観測に応用する。 

<element name="DirectedObservationAtDistance" type="gml:DirectedObservationAtDistanceType" 
substitutionGroup="gml:DirectedObservation "/>  

 

<complexType name="DirectedObservationAtDistanceType">  

<complexContent>  

<extension base="gml:DirectedObservationType">  

<sequence>  

<element name="distance" type="gml:MeasureType"/>  

</sequence>  

</extension>  

</complexContent>  

</complexType>  

例 
<gml:DirectedObservationAtDistance>  

<gml:validTime>  

<gml:TimeInstant>  

<gml:timePosition>2002-11-12T09:12:00</gml:timePosition>  

</gml:TimeInstant>  

</gml:validTime>  
<gml:using xlink:href="http://www.my.org/cameras/leica2"/>  


197 

X 7136:2012 (ISO 19136:2007) 

 

 

<gml:subject xlink:href="http://www.tourist.org/sights/mountain3"/>  
<gml:resultOf xlink:href="http://www.my.org/photos/llandscape1.jpg"/>  
<gml:direction>  

<gml:DirectionVector>  

<gml:vector srsName="urn:x-ogc:def:crs:EPSG:6.3:4326">0.0 45.0</gml:vector>  

</gml:DirectionVector>  

</gml:direction>  
<gml:distance uom="m">16500.</gml:distance>  

</gml:DirectedObservationAtDistance>  

 

19 GMLスキーマ−被覆 

19.1 被覆のモデル及び表現 

19.1.1 概要 

箇条19は,被覆のGML符号化方式を定義する。箇条19は,ISO 19123の中で示す概念モデルに従う。 

ISO 19123は,次の定義を示している。 

被覆は,時空間定義域から属性値への写像を可能とする。ここで,属性値は,時空間定義域の全ての地

理的な位置に対して共通の型をもつ。時空間定義域は,座標空間中の直接位置の集まりからなる。被覆の

例としては,ラスタ,不規則三角網,点被覆,及びポリゴン被覆がある。被覆は,リモートセンシング,

気象,水深図,標高図,土壌図,植生図などの地図作製のような,数々の応用分野の中で普及しつつある。 

被覆を記述する情報は,従来,次の二つの方法のいずれかである。