11.5.2.2 Geometry クラス

Geometry は階層のルートクラスです。これはインスタンス化不可能なクラスですが、次のリストに説明しているように、Geometry サブクラスのいずれかから作成したすべての幾何値に共通である多数のプロパティーがあります。個々のサブクラスも独自のプロパティーを備えていますが、これについては後述します。

Geometry のプロパティー

幾何値に含まれるプロパティーは次のとおりです。

  • その。各幾何図形は、階層内のインスタンス化可能クラスのいずれかに属します。

  • その SRID、つまり空間参照識別子。この値は、幾何図形に関連付けられた、その幾何オブジェクトが定義されている座標空間を記述する空間参照システムを識別します。

    MySQL の SRID 値は、幾何値に関連付けられた整数です。すべての計算はユークリッド (平面) 幾何学を前提にして実行されます。使用可能な SRID の最大値は 232−1 です。より大きな値が指定されると、低位の 32 ビットだけが使用されます。

  • 空間参照システムでの座標は、倍精度 (8 バイト) 数として表現されます。空でない幾何図形には必ず、(X,Y) 座標ペアが少なくとも 1 つ含まれます。空の幾何図形には座標は含まれません。

    座標は SRID に対する相対的なものです。たとえば、異なる座標系では、オブジェクトの座標が同じ場合でも、2 つのオブジェクト間の距離が異なることがあります。これは、平面座標系での距離と地球を中心とした系 (地球表面の座標) の距離は異なるためです。

  • 内部境界外部

    幾何図形は必ず、ある位置の領域を占有します。幾何図形の外部とは、その幾何図形によって占有されていないすべての領域のことです。内部とは、その幾何図形によって占有されている領域のことです。境界とは、幾何図形の内部と外部が接する部分のことです。

  • その MBR (最小外接矩形)、または包絡線。これは範囲を規定する幾何図形であり、次のように最小および最大の (X,Y) 座標から形成されます。

    ((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
    
  • 値が単純である単純でないのいずれであるか。LineStringMultiPointMultiLineString の型の幾何値は「単純である」、「単純でない」のいずれかになります。「単純である」、「単純でない」のいずれであるかの表明は、型ごとに決定されます。

  • 値が閉じている閉じていないのいずれであるか。LineStringMultiString の型の幾何値は「閉じている」「閉じていない」のいずれかになります。「閉じている」、「閉じていない」のいずれであるかの表明は、型ごとに決定されます。

  • 値が空である空でないのいずれであるか。点を 1 つも含まない幾何図形は空です。空の幾何図形の外部、内部、および境界は定義されていません (つまり、それらは NULL 値で表されます)。空の幾何図形は、常に単純で面積が 0 になるように定義されています。

  • その次元。幾何図形には −1、0、1、または 2 の次元があります。

    • −1 は、空の幾何図形を表します。

    • 0 は長さも面積も持たない幾何図形を表します。

    • 1 は、長さがゼロ以外で面積がゼロの幾何図形を表します。

    • 2 は、面積がゼロ以外の幾何図形を表します。

    Point オブジェクトの次元は 0 です。LineString オブジェクトの次元は 1 です。Polygon オブジェクトの次元は 2 です。MultiPointMultiLineString、および MultiPolygon オブジェクトの次元は、構成要素の次元と同じになります。


User Comments
  Posted by ALEXANDER SKAKUNOV on March 21, 2013
If you are looking for a SQL function to count distance between 2 points, try this article — http://i1t2b3.com/2010/11/04/sql-function-to-count-distance-between-two-points/

Example of usage:

> SELECT DISTANCE(city1.lat, city1.lng, city2.lat, city2.lng);
Sign Up Login You must be logged in to post a comment.