Geometry
は階層のルートクラスです。これはインスタンス化不可能なクラスですが、Geometry
の任意のサブクラスから作成されるすべての幾何値に共通するプロパティーを多数備えています。これらのプロパティーの説明を次に箇条書きにします。個々のサブクラスも独自のプロパティーを備えていますが、これについては後述します。
「幾何図形のプロパティー」
幾何値に含まれるプロパティーは次のとおりです。
「型」。各幾何図形は、階層内のインスタンス化可能クラスのいずれかに属します。
SRID、つまり空間参照識別子。この値は、幾何図形に関連付けられた、その幾何オブジェクトが定義されている座標空間を記述する空間参照システムを識別します。
MySQL の SRID 値は、幾何値に関連付けられた単なる整数です。すべての計算はユークリッド (平面) 幾何学を前提にして実行されます。
その空間参照システムにおける座標。倍精度 (8 バイト) の数値として表されます。空でない幾何図形には必ず、(X,Y) 座標ペアが少なくとも 1 つ含まれます。空の幾何図形には座標は含まれません。
座標は SRID に対する相対的なものです。たとえば、2 物体間の距離は、それらの物体の座標が同じでも座標系ごとに異なる可能性があります。というのも、「平面」座標系での距離と「地球」を中心とした系 (地球表面の座標) での距離はまったくの別物だからです。
「内部」、「境界」、および「外部」
幾何図形は必ず、ある位置の領域を占有します。幾何図形の外部とは、その幾何図形によって占有されていないすべての領域のことです。内部とは、その幾何図形によって占有されている領域のことです。境界とは、幾何図形の内部と外部が接する部分のことです。
「MBR」(最小外接矩形) つまりエンベロープ。これは範囲を規定する幾何図形であり、次のように最小および最大の (X,Y) 座標から形成されます。
((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
値が「単純である」、「単純でない」のいずれであるか。LineString
、MultiPoint
、MultiLineString
の型の幾何値は「単純である」、「単純でない」のいずれかになります。「単純である」、「単純でない」のいずれであるかの表明は、型ごとに決定されます。
値が「閉じている」、「閉じていない」のいずれであるか。LineString
、MultiString
の型の幾何値は「閉じている」「閉じていない」のいずれかになります。「閉じている」、「閉じていない」のいずれであるかの表明は、型ごとに決定されます。
値が「空である」、「空でない」のいずれであるか。点を
1
つも含まない幾何図形は空です。空の幾何図形の外部、内部、および境界は未定義となります
(つまり、それらの値は
NULL
で表される)。空の幾何図形は、常に単純で面積が
0 になるように定義されています。
「次元」。幾何図形の次元は次のように、–1、0、1、2 のいずれかになります。
空の幾何図形は –1。
長さも面積も持たない幾何図形は 0。
長さがゼロ以外で面積がゼロの幾何図形は 1。
面積がゼロ以外の幾何図形は 2。
Point
オブジェクトの次元は 0
です。LineString
オブジェクトの次元は 1
です。Polygon
オブジェクトの次元は 2
です。MultiPoint
、MultiLineString
、および
MultiPolygon
オブジェクトの次元は、構成要素の次元と同じになります。