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

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

 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 符号化を規定する。規定された概念モデルは,次の規格文書

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


2

X 7136

:2012 (ISO 19136:2007)

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

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

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

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

−  ISO 19111JIS 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 文法である。


3

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 スキーマがもつ記述可能性を最大限使用することを要求する応用は,ほとんどない。箇条 は,そ

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

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

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

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

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

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

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

ればならない。

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

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

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

2.2 GML

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

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

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

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

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

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

適合性クラス

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

全ての 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 


4

X 7136

:2012 (ISO 19136:2007)

2.3 GML

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

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

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

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

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

表 は,こ

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

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

適合性クラス

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

全ての 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 プロファイルにおける曲面の実装には,

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

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


5

X 7136

:2012 (ISO 19136:2007)

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

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

注記 2  次の三つの適合性クラス,つまり,

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

“幾何プリミティ

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

“全ての GML

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

19137:2007

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

2.4 GML

文書に関係する適合性 

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

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

2.5 

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

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

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

実装の可能性に応じて,適合性クラスを 12 種類に分類する。

表 は,これらのクラス及び抽象試験項目

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

表 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


6

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)

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


7

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]

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


8

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]

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


9

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 を使用する。

注記  附属書 の 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 の表記を

図 に示す。


16

X 7136

:2012 (ISO 19136:2007)

図 1UML 表記法 

この規格は,次の 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..*

n

クラス間の集成

集成

クラス

……

部品

クラス#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 の正しい知識をもっ

ている必要がある。

6 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 への写像は,簡明なものだが,より複雑になる場合もある。両者の

場合の写像の方法は,

附属書 にその詳細を示す。

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

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

拡張に対応する追加的な概念クラスも,

附属書 に示す。

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 による応用スキーマ作成の規則を順守し,その制約と

附属書 で示す

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

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

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

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

7109

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

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

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

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

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

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

な機能が望める。

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

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

−  応用システムは,

附属書 で示す符号化規則の結果として作成する場合と比較して,より適切,かつ,

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

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

像規則を示す。

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

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

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

6.3 

JIS X 7100

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

この規格が採用する方法を

図 に示す。二つの主要な側面を次に示す。

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

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

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

7109

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

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

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

にする。

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

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


19

X 7136

:2012 (ISO 19136:2007)

図 2JIS 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 による表現を示す。データ型の大部分は,単

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

箇条 では,地物スキーマ構成部品を示し,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 

附属書 及び

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 交換形式を使用する。構

成部品の集合の記述はスキーマ文書に組込み,各スキーマ文書には,

図 で示す分類に広く対応する構成

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

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

附属書 は,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 オブジェクトの既定表現様式のための規則を扱う,試行的で規定扱いでないスキーマ構成部品を附

属書 に示す。

非推奨の大域的なスキーマ構成部品(要素,属性及び型)を

附属書 に示す。

7 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 プロフ

ァイルを用いた直接的な表現がある。詳細は,

附属書 及び附属書 で示すが,簡潔にはお

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

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

− 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 オブジェクトに関連するメタデータのための構成部品

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

注記  附属書 に示す,これらに対応するスキーマ文書を,次の(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 の妥当性検証では実行で

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

及び

附属書 の中で使われる。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>

8 GML

スキーマ−XLink 及び基本型 

8.1 Xlinks

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

XLink の仕様は,W3C の規定を用いる。

注記  スキーマ文書 xlinks.xsd は,GML スキーマ文書の一部として附属書 に示す。

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 スキーマの中で定義する。これらは,主に,例外又はヌル値を含め,量,計数値,フラグの値

及び語句を記録するために使う構成部品を基礎とする。

注記  基本型及び基本要素を,附属書 の 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.48.2.4.18.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

doubleListintegerListNameListNCNameListQNameListbooleanOrNilReasonList

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 値の理由を説明する値を入れている。

9 GML

スキーマ−地物 

9.1 

一般概念 

GML 地物は,GML を用いて符号化した地物とする。

例  道路,河川,人,乗り物,行政区画,事象など

地物スキーマは,GML 地物及び地物の集まりを作成するための枠組みを与える。

注記  地物スキーマ文書 feature.xsd(附属書 参照)は,次のように位置独立名によって識別する(URN

構文を使用)

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

9.2 

JIS X 7109

との関係 

GML 地物モデルは,JIS X 7109:2009 の箇条 で定める原理に従う。それは,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

BoundingShapeTypeEnvelopeWithTimePeriod

及び 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 スキーマは,幾何プロパティ要素の型として使用できる,既定義のプロパティ型を含む(表 参照)。 


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>

表 で示す型は,プロパティ要素を宣言するときに直接使用する。


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(附属書 参照)の識別には,次の(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.5D.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(附属書 参照)

は,次の位置独立名(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

MultiGeometrygeometryMember

及び 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

MultiPointpointMember

及び 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

MultiSurfacesurfaceMember

及び 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

MultiSolidsolidMember

及び 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 の箇条 及びこの規格の 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 の箇条 で記述するような,地上への偏位修正

グリッド被覆のために用いる場合には,基となる 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 の箇条 及びこの規格の 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(附属書 参照)は,次の(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

全てのスキーマ文書の一覧を

附属書 に示す。

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.314.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

durationtimeInterval

及び 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−地質学の年代尺度を順序参照系として表現した例

新生代(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−地物の集まりのライフサイクル 

瞬間 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  は,計測単位の定義を利用可能にする構成部品を定義する。単位スキー

マ文書は,

附属書 に記載する。これは,次の(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/s

2

)というように,基本単位以外の量に使用する。単位系の基本的な量以外の量には,通常,基

本 単 位 だ け で 構 成 し た 組 立 単 位 の 使 用 を 推 奨 す る 。 組 立 単 位 が 選 択 さ れ た 単 位 で な い 場 合 ,

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

roughConversionToPreferredUnitConversionToPreferredUnitType

び 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>