このトピックでは、地理空間関数の構文について説明します。 Thisトピックも提供例使用する方法について地理空間機能。

概要

Geospatial機能でST_プレフィックスに準拠しSQL/MM標準とOpenGIS Abstract SpecificationのOpen Geospatial Consortium (OGC) 。 地理空間関数は、よく知られたテキスト (WKT) 表現を使用して、点、線列、ポリゴンなどのジオメトリを記述します。 次の表は、ジオメトリと、ジオメトリを記述するために使用されるWKT表現を示しています。

ジオメトリWKT表現
PointPOINT (0 0)
Line stringLINESTRING (0 0,1 1,1 2)
PolygonPOLYGON((0 0,4 0,4 4,0 4,0 0) 、(1 1,2 1,2 2,1 2,1 1))
MultipointMULTIPOINT(0 0,1 2)
MultilinestringMULTILINESTRING((0 0,1 1,1 2) 、(2 3,3 2,5 4))
マルチポリゴンMULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0) 、(1 1,2 1,2 2,1 2,1 1)) 、((-1 -1、-1 -2、-2 -2、-2 -1、-1 -1)))
Geometry collectionGEOMETRYCOLLECTION(POINT(2 3) 、LINESTRING(2 3,3 4))

関数

データ型機能構文説明
コンストラクタST_AsText関数ST_AsText(x) ReturnsをWKTの表現。
ST_GeometryFromText関数ST_GeometryFromText(x) をReturns幾何学から指定されたWKT表現。
ST_LineFromText関数ST_LineFromText(x) 指定されたWKT表現から行文字列を返します。
ST_Polygon関数ST_Polygon(x)Returnsからポリゴンを指定されたWKT表現。
ST_Point機能ST_Point( xy) 指定されたWKT表現から点を返します。
演算子ST_Boundary関数ST_Boundary(x) ジオメトリの組み合わせ境界のクロージャを返します。
ST_Buffer関数ST_Buffer( x距離)指定したジオメトリからの距離が指定した距離以下であるすべての点を表すジオメトリを返します。
ST_Difference関数ST_Difference( xy) 指定した2つのジオメトリのポイントセットの差を表すジオメトリを返します。
ST_Envelope関数ST_Envelope(x) ジオメトリの境界のある四角形ポリゴンを返します。
ST_ExteriorRing関数ST_ExteriorRing(x) ジオメトリの外部リングを表す行文字列を返します。
ST_Intersection関数ST_Intersection( xy) 指定した2つのジオメトリのポイントセットの交点を表すジオメトリを返します。
ST_SymDifference関数ST_SymDifference( xy) 指定した2つのジオメトリの点集合対称差を表すジオメトリを返します。
空間関係テストST_Contains関数ST_Contains( xy) 第2のジオメトリの点が第1のジオメトリの外部になく、第1のジオメトリの内部の少なくとも1つの点が第2のジオメトリの内部にある場合、trueを返します。
ST_Crosses関数ST_Crosses( xy) 指定した2つのジオメトリに複数の内部点が共通する場合はtrueを返します。
ST_Disjoint関数ST_Disjoint( xy) 指定した2つのジオメトリが2次元空間の一部を共有しない場合はtrueを返します。
ST_Equals関数ST_Equals( xy) 指定された2つのジオメトリが同じジオメトリを表す場合はtrueを返します。
ST_Intersects関数ST_Intersects( xy) 指定した2つのジオメトリが2次元空間の一部を共有する場合はtrueを返します。
ST_Overlaps機能ST_Overlaps( xy) 指定した2つのジオメトリがスペースを共有し、同じ寸法を持つが、互いに完全には含まれていない場合はtrueを返します。
ST_Relate関数ST_Relate( xypatternMatrix文字列)指定した2つのジオメトリに空間関係がある場合はtrueを返します。
ST_Touches関数ST_Touches( xy) 指定された2つのジオメトリに少なくとも1つの共通点があるが、それらの内部が交差しない場合はtrueを返します。
ST_Within関数ST_Within( xy) 最初のジオメトリが完全に2番目のジオメトリの内側にある場合はtrueを返します。
アクセサリーST_Area関数ST_Area(x) ユークリッド距離法を使用して、2次元平面上のジオメトリの投影面積を計算します。
ST_Centroid関数ST_Centroid(x) ジオメトリの数学的重心を表すポイント値を返します。
ST_CoordDim関数ST_CoordDim(x)ジオメトリの座標次元を返します。
ST_Dimension関数ST_Dimension(x)ジオメトリの固有の寸法を返します。 固有の寸法は、座標寸法以下でなければなりません。
ST_Distance関数ST_Distance( xy) 2 つのジオメトリ間の最小距離を返します。
ST_EndPoint関数ST_EndPoint(x)行文字列の最後の点を返します。
ST_IsClosed関数ST_IsClosed(x)行文字列の始点が終点と一致する場合はtrueを返します。
ST_IsEmpty関数ST_IsEmpty(x)ジオメトリが空の場合はtrueを返します。
ST_IsRing関数ST_IsRing(x)行文字列が閉じて単純な場合はtrueを返します。
ST_Length関数ST_Length(x)ユークリッド距離法を使用して、2次元平面上の線列の投影長を計算します。 複数の行文字列が存在する場合、関数は複数の行文字列の長さの合計を返します。
ST_NumPoints関数ST_NumPoints(x)ジオメトリ内の点の数を返します。
ST_NumInteriorRing関数ST_NumInteriorRing(x)ジオメトリ内の内部リングの数を返します。
ST_StartPoint関数ST_StartPoint(x)行文字列の最初の点を返します。
ST_X関数ST_X(x)指定した点のX座標を返します。
ST_XMax関数ST_XMax(x)ジオメトリの最大の最初のX座標を返します。
ST_XMin関数ST_XMin(x)ジオメトリの最小の最初のX座標を返します。
ST_Y関数ST_Y(x)指定した点のY座標を返します。
ST_YMax関数ST_YMax(x)ジオメトリの最大の最初のY座標を返します。
ST_YMin関数ST_YMin(x)ジオメトリの最小の最初のY座標を返します。
Bingタイルbing_tile関数bing_tile( xyzoom_level)X座標、Y座標、およびズームレベルに基づいてBingタイルを返します。
bing_tile( quadKey)4分木キーに基づいてBingタイルを返します。
bing_tile_at関数bing_tile_at( xyzoom_level)緯度、経度、およびズームレベルに基づいてBingタイルを返します。
bing_tile_coordinates関数bing_tile_coordinates(x)BingタイルのX座標とY座標を返します。
bing_tile_polygon関数bing_tile_polygon(x)Bingタイルのポリゴン形式を返します。
bing_tile_quadkey関数bing_tile_quadkey(x)Bingタイルの4分木キーを返します。
bing_tile_zoom_level関数bing_tile_zoom_level(x)Bingタイルのズームレベルを返します。

ST_AsText関数

ST_AsText関数は、ジオメトリのWKT表現を返します。

構文

ST_AsText(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

varcharタイプ。

点のWKT表現を取得します。

  • クエリ文
    * | SELECT ST_AsText(ST_Point(1,1))
  • クエリおよび分析の結果ST_AsText

ST_GeometryFromText関数

ST_GeometryFromText関数は、指定したWKT表現からジオメトリを返します。

構文

ST_GeometryFromText(x)

パラメーター

項目説明
xこのパラメーターの値はvarchar型です。

戻り値のデータ型

ジオメトリタイプ。

複数のポリゴンを構築します。

  • クエリ文
    * | SELECT ST_GeometryFromText('マルチポリゴン (((10 10,10 20,20 15,10 10)), (50 40,50 50,60 20,20 40,50 40)))')
  • クエリおよび分析の結果ST_GeometryFromText

ST_LineFromText関数

ST_LineFromText関数は、指定したWKT表現から行文字列を返します。

構文

ST_LineFromText(x)

パラメーター

項目説明
xこのパラメーターの値はvarchar型です。

戻り値のデータ型

linestring型。

行文字列を作成します。

  • クエリ文
    * | SELECT ST_LineFromText('linestring(10 10,20 20)')
  • クエリおよび分析の結果ST_LineFromText

ST_Polygon関数

ST_Polygon関数は、指定したWKT表現からポリゴンを返します。

構文

ST_Polygon(x)

パラメーター

項目説明
xTheこのパラメータの値はvarcharタイプ。

戻り値のデータ型

ポリゴンタイプ。

ポリゴンを作成します。

  • クエリ文
    * | SELECT ST_Polygon('polygon ((10 10,10 20,20 20,20 15,10 10))')
  • クエリおよび分析の結果ST_Polygon

ST_Point機能

ST_Point関数は、指定したWKT表現からポイントを返します。

構文

ST_Point( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ポイントタイプ。

ポイントを作成します。

  • クエリ文
    * | SELECT ST_Point(0,0)
  • クエリおよび分析の結果ST_Point

ST_Boundary関数

ST_Boundary関数は、ジオメトリの組み合わせ境界のクロージャを返します。
  • 点の組み合わせ境界のクロージャは空である。 指定したジオメトリがポイントの場合、関数はpoint EMPTYを返します。
  • 線列の組み合わせ境界の閉包は、線列の端点から構成される。
  • 多角形の組み合わせ境界の閉包は、多角形の外部および内部リングを含む線列で構成される。

構文

ST_Boundary(x)

パラメーター

項目説明
xこのパラメーターの値は、geography型です。

戻り値のデータ型

地理タイプ。

ST_Polygon関数を使用してポリゴンを返します。 次に、ST_Boundary関数を使用して、ポリゴンの組み合わせ境界のクロージャを返します。

  • クエリ文
    * | SELECT ST_Boundary(ST_Polygon('polygon ((10 10,10 20,20 20,20 15,10 10))'))
  • クエリおよび分析の結果ST_Boundary

ST_Buffer関数

ST_Buffer関数は、指定されたジオメトリからの距離が指定された距離以下であるすべての点を表すジオメトリを返します。

構文

ST_Buffer( x距離)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
距離距離だ

戻り値のデータ型

ジオメトリタイプ。

ST_Point関数を使用してポイントを返します。 次に、ST_Buffer関数を使用して、ポイントからの距離が指定された距離以下であるすべてのポイントを表すポリゴンを返します。

  • クエリ文
    * | SELECT ST_Buffer(ST_Point(1,1),1)
  • クエリおよび分析の結果ST_Buffer

ST_Difference関数

ST_Difference関数は、指定した2つのジオメトリのポイントセットの差分を表すジオメトリを返します。

構文

ST_Difference( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Difference関数を使用して、2つのジオメトリのポイントセットの差を表すジオメトリを返します。

  • クエリ文
    * |
    選択
      ST_Difference (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,0 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      ) 「違い」として
  • クエリおよび分析の結果ST_Difference

ST_Envelope関数

ST_Envelope関数は、ジオメトリの境界矩形ポリゴンを返します。

構文

ST_Envelope(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_Envelope関数を使用して、ジオメトリの境界長方形ポリゴンを返します。

  • クエリ文
    * |
    選択
      ST_Envelope (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      ) 
  • クエリおよび分析の結果ST_Envelope

ST_ExteriorRing関数

ST_ExteriorRing関数は、ジオメトリの外部リングを表す行文字列を返します。

構文

ST_ExteriorRing(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_ExteriorRing関数を使用して、ジオメトリの外部リングを表す行文字列を返します。

  • クエリ文
    * |
    選択
      ST_ExteriorRing (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_ExteriorRing

ST_Intersection関数

ST_Intersection関数は、指定した2つのジオメトリのポイントセットの交点を表すジオメトリを返します。

構文

ST_Intersection( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 Then、ST_Intersection使用機能にリターンジオメトリを表す点セット交差点の2形状。

  • クエリ文
    * |
    選択
      ST_Intersection (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      ) 
  • クエリおよび分析の結果ST_Intersection

ST_SymDifference関数

ST_SymDifference関数は、指定した2つのジオメトリの点集合対称差を表すジオメトリを返します。

構文

ST_SymDifference( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_SymDifference関数を使用して、2つのジオメトリの点集合対称差を表すジオメトリを返します。

  • クエリ文
    * |
    選択
      ST_SymDifference (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      )
  • クエリおよび分析の結果ST_SymDifference

ST_Contains関数

ST_Contains関数は、第2のジオメトリの点が第1のジオメトリの外部に存在せず、第1のジオメトリの内部の少なくとも1つの点が第2のジオメトリの内部に存在するかどうかをチェックする。 はいの場合、関数はtrueを返します。

構文

ST_Contains( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Contains関数を使用して、第2のジオメトリの点が第1のジオメトリの外部になく、第1のジオメトリの内部の少なくとも1つの点が第2のジオメトリの内部にあるかどうかを確認します。

  • クエリ文
    * |
    選択
      ST_Contains (
        ST_GeometryFromText (
          'polygon((10 10,10 20,20 20,20 15,10 10))'
        ),
        ST_GeometryFromText (
          'point(11 11)'
        )
      )
  • クエリおよび分析の結果 ST_Contains

ST_Crosses関数

ST_Crosses関数は、指定した2つのジオメトリに複数の内部ポイントがあるかどうかを確認します。 はいの場合、関数はtrueを返します。

構文

ST_Crosses( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Crosses関数を使用して、2つのジオメトリに共通の複数の内部ポイントがあるかどうかを確認します。

  • クエリ文
    * |
    選択
      ST_Crosses (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10、10 20、20 20、20 15、10 10)) 、(50 40、50 50、60 50、60 40、50))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン ((10 10、10 20、20 20、20 15、10 10) 、(50 40、50 50、60 50、60 40、50 50)) 」
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_Disjoint関数

ST_Disjoint関数は、指定された2つのジオメトリが2次元空間の一部を共有しないかどうかをチェックします。 はいの場合、関数はtrueを返します。

構文

ST_Disjoint( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 Then、ST_Disjoint使用機能にかどうかを確認2ジオメトリない任意の2次元空間の部分。

  • クエリ文
    * |
    選択
       ST_Disjoint (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_Equals関数

ST_Equals関数は、指定した2つのジオメトリが同じジオメトリを表すかどうかを確認します。 はいの場合、関数はtrueを返します。

構文

ST_Equals( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Equals関数を使用して、2つのジオメトリが同じジオメトリを表すかどうかを確認します。

  • クエリ文
    * |
    選択
       ST_Equals (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_Intersects関数

ST_Intersects関数は、2つの指定されたジオメトリが2次元空間の一部を共有するかどうかをチェックします。 はいの場合、関数はtrueを返します。

構文

ST_Intersects( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Intersects関数を使用して、2つのジオメトリが2次元空間の一部を共有しているかどうかを確認します。

  • クエリ文
    * |
    選択
       ST_Intersects (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      )
  • クエリおよび分析の結果 ST_Contains

ST_Overlaps機能

ST_Overlaps関数は、指定された2つのジオメトリがスペースを共有し、同じディメンションを持ちますが、互いに完全には含まれていないかどうかを確認します。 はいの場合、関数はtrueを返します。

構文

ST_Overlaps( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Overlaps関数を使用して、2つのジオメトリがスペースを共有し、同じ寸法を持つが、互いに完全には含まれていないかどうかを確認します。

  • クエリ文
    * |
    選択
      ST_Overlaps (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_Relate関数

ST_Relate関数は、指定された2つのジオメトリに空間関係があるかどうかを確認します。 はいの場合、関数はtrueを返します。

構文

ST_Relate( xypatternMatrix文字列)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。
patternMatrix文字列DE-9IMパターン行列文字列。 Theこのパラメータの値はvarcharタイプ。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Relate関数を使用して、2つのジオメトリに空間関係があるかどうかを確認します。

  • クエリ文
    * |
    選択
      ST_Relate (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        ) 、'**** T ****'
      )
  • クエリおよび分析の結果 ST_Contains

ST_Touches関数

ST_Touches関数は、指定された2つのジオメトリに少なくとも1つの共通点があるが、内部が交差しないかどうかを確認します。 はいの場合、関数はtrueを返します。

構文

ST_Touches( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Touches関数を使用して、2つのジオメトリに少なくとも1つの共通点があるが、内部が交差しないかどうかを確認します。

  • クエリ文
    * |
    選択
       ST_Touches (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_Within関数

ST_Within関数は、最初のジオメトリが完全に2番目のジオメトリの内側にあるかどうかを確認します。 はいの場合、関数はtrueを返します。

構文

ST_Within( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_GeometryFromText関数を使用して、2つのジオメトリを返します。 次に、ST_Within関数を使用して、最初のジオメトリが完全に2番目のジオメトリの内側にあるかどうかを確認します。

  • クエリ文
    * |
    選択
      ST_Within (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_Area関数

ST_Area関数は、ユークリッド距離法を使用して、2次元平面上のジオメトリの投影面積を計算します。

構文

ST_Area(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_Area関数を使用して、2次元平面上のジオメトリの投影面積を計算します。

  • クエリ文
    * |
    選択
      ST_Area (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_Area

ST_Centroid関数

ST_Centroid関数は、ジオメトリの数学的重心を表すポイント値を返します。

構文

ST_Centroid(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_Centroid関数を使用して、ジオメトリの数学的重心を表すポイント値を返します。

  • クエリ文
    * |
    選択
      ST_Centroid (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_Centroid

ST_CoordDim関数

The ST_CoordDim機能リターン座標の寸法。

構文

ST_CoordDim(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

bigint型。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_CoordDim関数を使用してジオメトリの座標寸法を返します。

  • クエリ文
    * |
    選択
      ST_CoordDim (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_CoordDim

ST_Dimension関数

ST_Dimension関数は、ジオメトリの固有の寸法を返します。 固有の寸法は、座標寸法以下でなければなりません。

構文

ST_Dimension(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
  • x が点または空のジオメトリの場合、関数は0を返します。
  • x が行文字列の場合、関数は1を返します。
  • x がポリゴンの場合、関数は2を返します。
  • x がジオメトリの場合、関数はコレクションの最大次元を返します。

戻り値のデータ型

bigint型。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_Dimension関数を使用して、ジオメトリの固有の寸法を返します。

  • クエリ文
    * |
    選択
      ST_Dimension (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_Dimension

ST_Distance関数

ST_Distance関数は、2つのジオメトリ間の最小距離を返します。

構文

ST_Distance( xy)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。
yこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

ST_GeometryFromText関数を使用して2つのジオメトリを返します。次に、ST_Distance関数を使用して2つのジオメトリ間の最小距離を返します。

  • クエリ文
    * |
    選択
      ST_Distance (
        ST_GeometryFromText (
          「マルチポリゴン (((10 10,10 20,20 15,10 10)) 、(50 40,50 50,60 50,60 20,20 40,50 50)) 」
        ),
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_Distance

ST_EndPoint関数

The ST_EndPoint機能リターン最後のポイントライン文字列。

構文

ST_EndPoint(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ポイントタイプ。

ST_LineFromText関数を使用して、行文字列を返します。 次に、ST_EndPoint関数を使用して、行文字列の最後の点を返します。

  • クエリ文
    * |
    選択
      ST_EndPoint (
        ST_LineFromText (
          'linestring (10 10,20 20)'
        )
      )
  • クエリおよび分析の結果ST_EndPoint

ST_IsClosed関数

ST_IsClosed関数は、行文字列の始点と終点が一致するかどうかをチェックします。 はいの場合、関数はtrueを返します。

構文

ST_IsClosed(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_LineFromText関数を使用して、行文字列を返します。 次に、ST_IsClosed関数を使用して、行文字列の始点と終点が一致するかどうかを確認します。

  • クエリ文
    * |
    選択
      ST_IsClosed (
        ST_LineFromText (
          'linestring (10.05 10.28、20.95 20.89 )'
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_IsEmpty関数

ST_IsEmpty関数は、ジオメトリが空かどうかをチェックします。 はいの場合、関数はtrueを返します。

構文

ST_IsEmpty(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_Point関数を使用してポイントを返します。 次に、ST_IsEmpty関数を使用して、ポイントが空かどうかを確認します。

  • クエリ文
    * | SELECT ST_IsEmpty(ST_Point(1,1))
  • クエリおよび分析の結果ST_Crosses

ST_IsRing関数

ST_IsRing関数は、行文字列が閉じて単純かどうかをチェックします。 はいの場合、関数はtrueを返します。

構文

ST_IsRing(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

ST_LineFromText関数を使用して、行文字列を返します。 次に、ST_IsRing関数を使用して、行文字列が閉じて単純かどうかを確認します。

  • クエリ文
    * |
    選択
      ST_IsRing (
        ST_LineFromText (
          'linestring (10.05 10.28、20.95 20.89 )'
        )
      )
  • クエリおよび分析の結果ST_Crosses

ST_Length関数

ST_Length関数は、ユークリッド距離法を用いて、二次元平面上の線列の投影長を算出する。 複数の行文字列が存在する場合、関数は複数の行文字列の長さの合計を返します。

構文

ST_Length(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

ST_LineFromText関数を使用して、行文字列を返します。 次に、ST_Length関数を使用して、ライン文字列の投影長を計算します。

  • クエリ文
    * |
    選択
      ST_Length (
        ST_LineFromText (
          'linestring (10.05 10.28、20.95 20.89)'
        )
      )
  • クエリおよび分析の結果ST_Length

ST_NumPoints関数

ST_NumPoints関数は、ジオメトリ内の点の数を返します。

構文

ST_NumPoints(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

bigint型。

ST_LineFromText関数を使用して、行文字列を返します。 次に、ST_NumPoints関数を使用して、行文字列のポイント数を返します。

  • クエリ文
    * |
    選択
      ST_NumPoints (
        ST_LineFromText('linestring (10 10,20 20)')
      )
  • クエリおよび分析の結果ST_NumPoints

ST_NumInteriorRing関数

ST_NumInteriorRing関数は、ジオメトリ内の内部リングの数を返します。

構文

ST_NumInteriorRing(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

bigint型。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_NumInteriorRing関数を使用して、ジオメトリ内の内部リングの数を返します。

  • クエリ文
    * |
    選択
      ST_NumInteriorRing (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_NumInteriorRing

ST_StartPoint関数

ST_StartPoint関数は、行文字列の最初の点を返します。

構文

ST_StartPoint(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ポイントタイプ。

ST_LineFromText関数を使用して、行文字列を返します。 次に、ST_StartPoint関数を使用して、行文字列の最初の点を返します。

  • クエリ文
    * |
    選択
      ST_StartPoint (
        ST_LineFromText (
          'linestring (10 10,20 20)'
        )
      )
  • クエリおよび分析の結果ST_StartPoint

ST_X関数

ST_X関数は、指定された点のX座標を返します。

構文

ST_X(x)

パラメーター

項目説明
xこのパラメーターの値はポイント型です。

戻り値のデータ型

ダブルタイプ。

ST_Point関数を使用してポイントを返します。 次に、ST_X関数を使用して、ポイントのX座標を返します。

  • クエリ文
    * | SELEST_X (ST_Point(1,3))
  • クエリおよび分析の結果ST_X

ST_XMax関数

ST_XMax関数は、ジオメトリの最大の最初のX座標を返します。

構文

ST_XMax(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_XMax関数を使用して、ジオメトリの最大の最初のX座標を返します。

  • クエリ文
    * |
    選択
      ST_XMax (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_XMax

ST_XMin関数

ST_XMin関数は、ジオメトリの最小の最初のX座標を返します。

構文

ST_XMin(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_XMin関数を使用して、ジオメトリの最小の最初のX座標を返します。

  • クエリ文
    * |
    選択
      ST_XMin (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_XMin

ST_Y関数

ST_Y関数は、指定された点のY座標を返します。

構文

ST_Y(x)

パラメーター

項目説明
xこのパラメーターの値はポイント型です。

戻り値のデータ型

ダブルタイプ。

ST_Point関数を使用してポイントを返します。 次に、ST_Y関数を使用して、ポイントのY座標を返します。

  • クエリ文
    * | SELECT ST_Y(ST_Point(1,3))
  • クエリおよび分析の結果ST_Y

ST_YMax関数

ST_YMax関数は、ジオメトリの最大の最初のY座標を返します。

構文

ST_YMax(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_YMax関数を使用して、ジオメトリの最大の最初のY座標を返します。

  • クエリ文
    * |
    選択
      ST_YMax (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_YMax

ST_YMin関数

ST_YMin関数は、ジオメトリの最小の最初のY座標を返します。

構文

ST_YMin(x)

パラメーター

項目説明
xこのパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

ST_GeometryFromText関数を使用してジオメトリを返します。 次に、ST_YMin関数を使用して、ジオメトリの最小の最初のY座標を返します。

  • クエリ文
    * |
    選択
      ST_YMin (
        ST_GeometryFromText (
          'マルチポリゴン (((10 10,10 20,20 15,10 10) 、(50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリおよび分析の結果ST_YMin

bing_tile関数

bing_tile関数はBingタイルを返します。

構文

  • 次の関数は、X座標、Y座標、およびズームレベルに基づいてBingタイルを返します。
    bing_tile( xyzoom_level)
  • 次の関数は、4分木キーに基づいてBingタイルを返します。
    bing_tile( quadKey)

パラメーター

項目説明
xX座標。 このパラメーターの値は整数型です。
yY座標。 このパラメーターの値は整数型です。
zoom_levelズームレベル。 有効な値: [1,23] 。 このパラメーターの値は整数型です。
quadKey4分木キー。

戻り値のデータ型

BingTileタイプ。

  • 例1: X座標、Y座標、およびズームレベルに基づいてBingタイルを作成します。
    • クエリ文
      * | SELECT bing_tile(10、20、20)
    • クエリおよび分析の結果bing_tile
  • 例2: 4分木キーに基づいてBingタイルを作成します。
    • クエリ文
      * | SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 20)))
    • クエリおよび分析の結果bing_tile

bing_tile_at関数

bing_tile_at関数は、緯度、経度、およびズームレベルに基づいてBingタイルを返します。

構文

bing_tile_at( xyzoom_level)

パラメーター

項目説明
xThe緯度。 有効な値: [-85.05112878,85.05112878] 。 このパラメーターの値はdouble型です。
y経度。 有効な値: [-180,180] 。 このパラメーターの値はdouble型です。
zoom_levelズームレベル。 有効な値: [1,23] 。 このパラメーターの値は整数型です。

戻り値のデータ型

BingTileタイプ。

Bingタイルを作成します。

  • クエリ文
    * | SELECT bing_tile_at(47.265511、-122.465691、12)
  • クエリおよび分析の結果bing_tile_at

bing_tile_coordinates関数

bing_tile_coordinates関数は、BingタイルのX座標とY座標を返します。

構文

bing_tile_coordinates(x)

パラメーター

項目説明
xこのパラメーターの値はBingTile型です。

戻り値のデータ型

配列 (integer,integer) 型。

BingタイルのX座標とY座標を取得します。

  • クエリ文
    * | SELECT bing_tile_coordinates(bing_tile_at(47.265511、-122.465691、12))
  • クエリおよび分析の結果bing_tile_coordinates

bing_tile_polygon関数

bing_tile_polygon関数は、Bingタイルのポリゴン表現を返します。

構文

bing_tile_polygon(x)

パラメーター

項目説明
xこのパラメーターの値はBingTile型です。

戻り値のデータ型

ポリゴンタイプ。

Bingタイルのポリゴン表現を取得します。

  • クエリ文
    * | SELECT bing_tile_polygon(bing_tile_at(30.26, 120.19, 12))
  • クエリおよび分析の結果bing_tile_polygon

bing_tile_quadkey関数

bing_tile_quadkey関数は、Bingタイルの4分木キーを返します。

構文

bing_tile_quadkey(x)

パラメーター

項目説明
xこのパラメーターの値はBingTile型です。

戻り値のデータ型

varcharタイプ。

Bingタイルの4分木キーを取得します。

  • クエリ文
    * | SELECT bing_tile_quadkey(bing_tile (10, 20, 20))
  • クエリおよび分析の結果bing_tile_quadkey

bing_tile_zoom_level関数

bing_tile_zoom_level関数は、Bingタイルのズームレベルを返します。

構文

bing_tile_zoom_level(x)

パラメーター

項目説明
xこのパラメーターの値はBingTile型です。

戻り値のデータ型

ダブルタイプ。

ObtainズームレベルのBingタイル。

  • クエリ文
    * | SELECT bing_tile_zoom_level(bing_tile (10, 20, 20))
  • クエリおよび分析の結果bing_tile_zoom_level