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

                                                                                             65
X 7107 : 2005 (ISO 19107 : 2003)
る。
c) 球面(spherical),だ(楕)円体面(elliptical)及び円すい面(conic) この曲面は,球面,だ(楕)円体
面又は円すい面の一部とする。
d) 不規則三角網(tin) 制御点は,隣接する複数の三角形を構成し,それぞれが小平面分を形成する。
e) パラメタ曲線(parametricCurve) 制御点は,二次元格子を構成し,格子の各ますは曲線の族で定義
される曲面で補間される。
f) 多項式スプライン(polynomialSpline) 制御点は,不規則な二次元格子を構成し,格子の各ますは多
項式スプライン関数で補間される。
g) 有理スプライン(rationalSpline) 制御点は,不規則な二次元格子を構成し,格子の各ますは有理(多
項式商)スプライン関数で補間される。
h) 三角形スプライン(triangulatedSpline) 制御点は,隣接した複数の三角形を構成し,それぞれが多
項式スプライン関数で補間される。
使用されている内挿法に複数の表現が適合する場合,最も制限の厳しいものを使用する。
GMSurfaceInterpolation::
none
planar
spherical
elliptical
conic
tin
parametricCurve
polynomial
polynomialSpline
rationalSpline
triangualtedSpline
6.4.33 GMGenericSurface
6.4.33.1 意味 GMSurface及びGMSurfacePatchは,いずれも区切った幾何曲面を表し,そのため幾つか
の操作を共有する。これらは,GMGenericSurface(一般曲面)インタフェース(図20参照)で定義する。

――――― [JIS X 7107 pdf 71] ―――――

66
X 7107 : 2005 (ISO 19107 : 2003)
Interface Type
GMGenericSurface GMSurface
(from Geometric primitive)
+ upNormal(point : DirectPosition) : Vector
+ perimeter() : Length
+ area() : Area
Type
GMPolyhedralSurface
Abstract
GMSurfacePatch
Type
+ interpolation : GMSurfaceInterpolation = "planar"
GMTriangulatedSurface
+ numDerivativesOnBoundary[0, 1] : Integer = 0
+ boundary() : GMSurfaceBoundary
Type CodeList
GMTin GMSurfaceInterpolation
+ none
+ planar
Type Type + spherical
GMParametricCurveSurface GMPolygon + elliptical
+ conic
+ tin
+ parametricCurve
+ polynomialSpline
Type Type + rationalSpline
GMGriddedSurface GMTriangle + triangulatedSpline
Type Type Type
GMCone GMCylinder GMSphere
Type Type Type
GMBicubicGrid GMBilinearGrid GMBSplineSurface
図 20 曲面分(Surface patches)
6.4.33.2 upNormal “upNormal”(上方法線取得)操作は,GMGenericSurface上にあるDirectPositionを
とり,その点においてGMGenericSurfaceと直交するベクトルを返す。
GMGenericSurface::upNormal(point : DirectPosition) : Vector
上向きの法線は,常に境界と矛盾しない方法で上を指す。これは,曲面のupNormalが示す側から見た
場合に曲面の外側境界が反時計周りであることを意味する。内部境界は時計回りとする。曲面のupNormal
が示す側は“top”として参照する。“upNormal”操作は連続で,法線の長さは常に1.0となる。
備考 立体の境界に沿ったupNormalは,常に立体から離れる方向を指す。これには,立体内の空白
を扱う上で意味論的な小さな問題があり,upNormalは(数学的一貫性のため)言語的には空白
の内部となる空白領域の中心を指すことになる。ここでの混乱は, “立体の内部”及び“コン
テナの内部”の表現でほとんどの言語が使用する基本的な言語上の比喩が,位相の視点とは矛
盾して“内部”という語を用いることである。岩石の“内部”の空洞は,岩石の実体を構成す
る固体素材と同じように岩石の中にあるわけではない。また,カップの“内部”のコーヒーは,

――――― [JIS X 7107 pdf 72] ―――――

                                                                                             67
X 7107 : 2005 (ISO 19107 : 2003)
カップの“内部”の陶磁ガラス質と同じように内部にあるわけではない。文化に由来するこの
ような比ゆ(喩)の使用は,すべての言語に渡って一貫してはいないであろうし,そのうち幾
つかはこれらの二つの異なる概念に異なった表現を使用するかもしれない。この規格では(位
相)数学に由来し言語上中立な概念である“内部”を使用する。
6.4.33.3 perimeter “perimeter”(周囲長取得)操作は,このGMGenericSurfaceのすべての境界要素の長
さの合計を返す。perimeterはlengthと同様に距離の累積(積分)であるため,その戻り値は距離の測定に
適した参照系のものとする。
GMGenericSurface::perimeter() : Length
備考 perimeter は,すべての境界要素の長さの合計として定義する。曲線又は曲線の集まりの長さは
常に正であり,異常な曲線を除いて零とはならない。これは曲面の穴も総周囲長を増すように
加えることを意味する。
6.4.33.4 area 二次元幾何オブジェクトの面積は,その曲面面積の(距離の平方単位の)数値計測結果と
する。面積は二つの距離の積の累積(積分)であるため,その戻り値は,平方メートル(m2)のような平
方距離の測定に適切した計測単位によらなければならない。“area”(面積取得)操作は,この
GMGenericSurfaceの面積を返す。
GMGenericSurface::area() : Area
戻り値には,座標参照系と曲面の形状との両方を考慮しなければならない。
備考 曲面の定義はDirectPositionの集合と一致し,曲面の穴は総面積には影響しない。通常のグリー
ンの定理(又はより一般的なストークスの定理)による積分を使用する場合,曲面の穴の周囲
の積分は,曲面分の外側に対する積分から差し引かれている。
6.4.34 GMSurfacePatch
6.4.34.1 意味 GMSurfacePatch(曲面分)(図20参照)はGMSurfaceの共通の性質をもった部分を定義
する。“Segmentation”関連の多重度(図12参照)はそれぞれのGMSurfacePatchは最大でも一つの
GMSurfaceにだけ含まれることを規定している。
6.4.34.2 interpolation “interpolation”(内挿法)属性はこのGMSurfacePatchに使用する曲面内挿法を決
定する。この方法は,このGMSurfacePatchの位置を決定するために様々な下位クラスで定義される制御
点と制御パラメタを使用する。
GMSurfacePatch::Interpolation : GMSurfaceInterpolation
6.4.34.3 numDerivativesOnBoundary “numDerivativesOnBoundary”(境界連続性)属性列は,境界曲線
を共有する隣接曲面分とこの曲面分との間の連続性の型を規定する。この値の列は,曲面分の
GMGenericCurve::boundaryが返すGMSurfaceBoundaryのGMRingに対応する。既定値の“0”は,必す
(須)な最小限の水準の連続性である単純な連続性を意味する。この水準は,数学の表現では“C0級”と
呼ばれる。“1”の値は,適切な端点で連続で微分可能な関数を意味する“C1級”連続を表す。任意の整数
“n”の値はn回微分可能を意味する“Cn級”連続を表す。
GMSurfacePatch::numDerivativesOnBoundary[0..n] : Integer
6.4.34.4 boundary “boundary”(境界取得)操作は,GMSurfaceBoundaryとしてのGMRingを構成する
GMOrientableCurveで表現したこのGMSurfacePatchの境界を返す。
GMSurfacePatch::boundary() : GMSurfaceBoundary
備考 この操作の意味は,ここで使用する曲線が必ずしも永続的に存在するGMOrientableCurveのイ
ンスタンスではないことを除いて,GMSurface::boundaryと同じものである。このGMCurve

――――― [JIS X 7107 pdf 73] ―――――

68
X 7107 : 2005 (ISO 19107 : 2003)
のデータ型の値は,一時的に存在するものも有効とする。通常の場合,GMSurfacePatchはそ
の集成(aggregate)であるGMSurfaceと境界の一部を共有し,それ以外の部分の境界は,(必ず
しも異ならない。)GMSurfacePatchと共有する。附属書Cでは,立体の例(C.1.3.1参照)は,
それ自身が折りたたまれて位相柱を形成している単独の曲面分を,立体境界を形成する二つの
正方形端片とともに使用している。この場合,最初の曲面分は,両端の蓋のそれぞれと一つの
境界曲線分を共有し,他の境界曲線分を自分自身と共有する。
6.4.35 GMPolyhedralSurface
6.4.35.1 意味 GMPolyhedralSurface(多面体面)(図21参照)は,共通な境界曲線に沿って結合したポ
リゴン曲面(GMPolygon)で構成されるGMSurfaceとする。これは,もちうる曲面分の型を制約する点
だけがGMSurfaceと異なる。
6.4.35.2 GMPolyhedralSurface(コンストラクタ) “GMPolyhedralSurface”のコンストラクタは,面
となるGMPolygonをとり,必要な集成を生成する。
GMPolyhedralSurface::GMPolyhedralSurace(tiles[1..n]: GMPolygon ) : GMPolyhedralSurface
6.4.35.3 patch “patch”(曲面分)関連役割は,この曲面とその個々の面とからなるポリゴンとを関連さ
せる。それは,空であってはならない。
GMPolyhedralSurface::patch[0..n] : Reference<GMPolygon>
GMPolyhedralSurface::patch[0,n] : Reference<GMPolygon>
6.4.36 GMPolygon
6.4.36.1 意味 GMPolygon(ポリゴン)(図21参照)は,境界曲線の集合で定義された曲面分で,それ
らの曲線に接する基本的な曲面とする。特に定めない場合,曲線は同一平面上にあり,ポリゴンはその内
部に平面内挿法を使用するものとする。
6.4.36.2 boundary “boundary”(境界)属性は,このGMPolygonの境界となるGMSurfaceBoundaryを
保持する。
GMPolygon::boundary : GMSurfaceBoundary
備考 曲面分の境界は,それを含んでいるGMSurfaceと同じGMComplexである必要はない。
GMSurfaceの内部に含まれる(二つの曲面分の共通境界として振る舞う。)曲線は,GMSurface
を含むいずれのGMComplexの一部でもない。それらは,純粋にデータの構成によるものであ
り,GMComplexの接続性を定義するGMCurveとGMSurfaceとの間のどのような位相関係
も表すものではない。

――――― [JIS X 7107 pdf 74] ―――――

                                                                                             69
X 7107 : 2005 (ISO 19107 : 2003)
Type Segmentation Abstract
GMSurface GMSurfacePatch
(from Geometric primitive)
0..1 1..n
+ interpolation : GM SurfaceInterpolation = "planar"
+ GMSurface(patch[1..n] : GMSurfacePatch) + numDerivativesOnBoundary[0, 1] : Integer = 0
+ surface + patch
: GMSurface
+ GMSurface(bdy : GMSurfaceBoundary) + boundary() : GMSurfaceBoundary
: GMSurface
subset
Type
GMPolygon
Type 0..1 1..n+ boundary : GMSurfaceBoundary
GMPolyhedralSurface + spanningSurface[0, 1] : GMSurface
+ surface + patch
+ GMPolyhedralSurface(tiles[1..n] : GMPolygon) + GMPolygon(boundary : GMSurfaceBondary)
: GMPolyhedralSurface : GMPolygon
+ GMPolygon(boundary : GMSurfaceBondary,
spanSurf : GMSurface) : GMPolygon
subset
Type 0..1 1..n Type
GMTriangulatedSurface GMTriangle
+ surface + patch
+ corners[3] : GMPosition
Type -- 補間曲面は,曲線を含まなければならない
GMTin [{spanningSurface.NotEmpty implies
spanningSurface.contains(boundary)}]
+ stopLines : Set<GMLineString>
+ breakLines : Set<GMLineString>
+ maxLength : Distance
+ controlPoint[3..n] : GMPosition
+ GMTin(post : Set<GMPosition>, stopLines : Set<GMLineString>,
breakLines : Set<GMLineString>, maxLength : Number) : GMTin
図 21 ポリゴン曲面(Polygonal surface)
6.4.36.3 spanningSurface 任意で設定される補間曲面(spanning surface)は,ポリゴンの内部を補間する
方法を提供する。
GMPolygon::spanningSurface[0,1] : GMSurface
備考 補間曲面はポリゴン境界と交わる境界要素をもたず,曲面の一部分のポリゴンの境界曲線によ
って明確に指定すべきである。最も一般的な補間曲面は,標高モデルである。これは,この規
格で直接表現できないが,その役割にしばしば不規則三角網又は格子曲面を用いる。
6.4.36.4 GMPolygon(コンストラクタ) GMPolygonの最初の形式のコンストラクタは,同一平面上の
GMPositionをcontrolPointとして使用して定義した(GMSurfaceBoundaryで構成される)境界曲線の集合
から直接GMPolygonを生成する。
GMPolygon::GMPolygon(boundary : GMSurfaceBondary) : GMPolygon
備考 GMSurfaceBoundaryの外側の意味は,生成した平面ポリゴンの平面での外側と一致する。
GMPolygonの第2の形式のコンストラクタは,補間曲面上のGMPolygonを生成する。
GMSurfaceBoundaryで使用している合成曲線が使用する内挿法の型については制約しないが,正しく処理
するためには,それらすべてが“spanningSurface”上になければならない。
GMPolygon(boundary : GMSurfaceBondary, spanSurf : GMSurface) : GMPolygon
備考 この作業では境界要素が適切に方向付けられていることが重要となる。球のような有界多様体

――――― [JIS X 7107 pdf 75] ―――――

次のページ PDF 76

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

  • ISO 19107:2003(IDT)

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

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

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