[10] 
[DFN[ISO 19108]]
は、
[[ISO 19100シリーズ]]の[[国際標準]]の1つであり、
[[日時]]の記述の方法を定めるものです。

* 仕様書

[REFS[
- [11] [DFN[ISO 19108:2002]]
([DFN[[CITE[Geographic information―Temporal schema]]]])
- [1] [DFN[JIS X 7108:2004]]
([DFN[[CITE[地理情報―時間スキーマ]]]]) ([[IDT]])
]REFS]

* データモデル

[12] [[ISO 19108]] は[[時間参照系]]、[[時間位置]]という形で[[暦法]]、
[[時刻系]]、時代区分のような時間的な記述の基礎となる系の記述の方法を定義しています。
これにより [[ISO 8601]] に基づく[[グレゴリオ暦]]と [[UTC]] を使った記述とは異なる方法での記述を可能としています。

[6] [[ISO 19108]] は[[時間][時間 (ISO 19108)]]オブジェクトを
[DFN[[CODE[TM_Object]]]] と呼び、
不可分な[[プリミティブ]]値 [DFN[[CODE[TM_Primitive]]]]
と [CODE[TM_Promitive]] の[[集成]]である [DFN[[CODE[TM_Complex]]]]
に分けています。 [SRC[>>1 5.2.2]]
他に [CODE[TM_Aggregate]] があります。

[7] [CODE[TM_Primitive]] には、絶対的な[[時間位置]]を表す
[CODE[TM_GeometricPrimitive]] ([[時間幾何プリミティブ]]) と、
相対的な時間関係を表す
[CODE[TM_TopologicalPrimitive]] ([[時間位相プリミティブ]])
があります。

[8] [CODE[TM_Complex]] には、[[時間位相プリミティブ]]の集合体である
[CODE[TM_TopologicalComplex]] ([[時間位相複体]]) と[[時間幾何プリミティブ]]の集合体である
[CODE[TM_GeometricComplex]] があります。
他に [CODE[TM_Grid]] があります。

[FIG(middle list)[ [4] [[ISO 19108]] の[[日時モデル]]
- [[時間][時間 (ISO 19108)]]
- [CODE[TM_ReferenceSystem]] ([[時間参照系]])
-- [CODE[TM_Calendar]] ([[暦][暦 (ISO 19108)]]) / [CODE[TM_Clock]] ([[時計][時計 (ISO 19108)]])
--- [[暦年代][暦年代 (ISO 19108)]] / [[月]] / [[日]]
--- [[グレゴリオ暦]] / [[UTC]]
-- [CODE[TM_CoordinateSystem]] ([[時間座標系]])
-- [CODE[TM_OrdinalReferenceSystem]] ([[順序時間参照系]])
- [CODE[TM_Position]] ([[時間位置]])
-- [CODE[TM_CalDate]] / [CODE[TM_ClockTime]]
--- [CODE[TM_DateAndTime]]
-- [CODE[Date][ISO 19103 Date]]
-- [CODE[Time][ISO 19103 Time]]
-- [CODE[DateTime][ISO 19103 DateTime]]
-- [CODE[TM_Coordinate]]
--- [CODE[JulianDate]]
-- [CODE[TM_OrdinalPosition]]
-- [CODE[TM_IndeterminateValue]]
- [CODE[TM_Object]]
-- [CODE[TM_Primitive]]
--- [CODE[TM_GeometricPrimitive]]
---- [CODE[TM_Instant]] ([[瞬間][瞬間 (ISO 19108)]])
---- [CODE[TM_Period]] ([[期間][期間 (ISO 19108)]])
--- [CODE[TM_TopologicalPrimitive]]
---- [CODE[TM_Node]]
---- [CODE[TM_Edge]]
-- [CODE[TM_Complex]]
--- [CODE[TM_TopologicalComplex]] ([[時間位相複体]])
- [CODE[TM_Duration]]
- [CODE[TM_RelativePosition]]
]FIG]

[14] 
[[SensorML]] は [[ISO 19108]] の拡張として
[CODE[TM_Aggregate]],
[CODE[TM_Grid]],
[CODE[TM_GridEnvelope]],
[CODE[TM_InstantGrid]],
[CODE[TM_IntervalGrid]],
[CODE[TM_GeometricComplex]]
を追加しています。

[13] 
[[When]] は [[ISO 19108]] の[[クラス]]を土台にし実際の各種[[暦法]]を実装しています。
[SRC[>>2]] 


[REFS[
- [2] [CITE@ja[suchowan's UniWiki Calendar/When/Ruby]] ([TIME[2019-05-25 21:47:45 +09:00]]) <http://www2u.biglobe.ne.jp/~suchowan/u/wiki.cgi?Calendar%2FWhen%2FRuby#i6>
]REFS]

* XML Schema 実装

[18] [[GML]] は [[XML Schema]] で[[符号化]]する方法を規定しています。
[SEE[ [[GMLの日時形式]] ]]

* 適合性

[9] [[ISO 19108]] は[[地理情報の記述][ISO 19100シリーズ]]で時間に関する内容を扱うときの方法と要件を定めています。
[SRC[>>1 5.5]]


[5] [[ISO 19108]]
は [[UML]] を [[ISO TS 19103]] に従い利用する形で[[規定]]しています。
[[規定]]は「抽象モデル」を「スキーマ」として記述していますが、
抽象モジュールの各要素を実現できればよく、
その具体的な実装方法は任意とされています。
[SRC[>>1 5.1]]


[3] 
「データ転送のための応用スキーマ」、
「操作を伴うデータのための応用スキーマ」、
「地物カタログ」、
「メタデータ要素の仕様」、
「データ集合のためのメタデータ」
の5種類の[[適合性クラス]]とその[[要件]]が[[規定]]されています [SRC[>>1 2.]]。



* メモ

[20] 
[CITE[編年時間参照系モデルによる曖昧な時間属性に対する問合せ方式の実装]],
[[村尾吉章]], [[森本晋]], [[藤本悠]], [[清野陽一]], [[玉置三紀夫]]
<https://www.gisa-japan.org/conferences/proceedings/2017/papers/C42.pdf>
