Geometry
は階層のルートクラスです。 これはインスタンス化不可能なクラスですが、次のリストに説明しているように、Geometry
サブクラスのいずれかから作成したすべてのジオメトリ値に共通である多数のプロパティーがあります。 個々のサブクラスも独自のプロパティーを備えていますが、これについては後述します。
Geometry のプロパティー
ジオメトリ値に含まれるプロパティーは次のとおりです。
その型。 各ジオメトリは、階層内のインスタンス化可能クラスのいずれかに属します。
-
SRID または空間参照識別子。 この値は、ジオメトリオブジェクトが定義されている座標空間を記述する空間参照システムに関連付けられているジオメトリを識別します。
MySQL の SRID 値は、ジオメトリ値に関連付けられた整数です。 使用可能な SRID の最大値は 232−1 です。 より大きな値が指定されると、低位の 32 ビットだけが使用されます。
SRID 0 は、軸に単位が割り当てられていない無限平坦なデカルト平面を表します。 SRID 0 の動作を保証するには、SRID 0 を使用してジオメトリ値を作成します。 SRID 0 は、SRID が指定されていない場合の新しいジオメトリ値のデフォルトです。
複数のジオメトリ値の計算では、すべての値が同じ 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
オブジェクトの次元は、構成要素の次元と同じになります。