すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:地理空間関数

最終更新日:Aug 26, 2024

このトピックでは、地理空間関数の構文について説明し、関数の使用方法の例を示します。

概要

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

ジオメトリ

WKT表現

Point

POINT (0 0)

Line string

LINESTRING (0 0, 1 1, 1 2)

Polygon

POLYGON((0 0, 4 0, 4, 0 4, 0 0), (1 1, 2 1, 2 2, 1 2, 1))

マルチポイント

マルチポイント (0 0, 1 2)

マルチライン文字列

マルチリンスティング ((0 0, 1 1, 1 2), (2 3, 3 2, 5 4))

マルチポリゴン

MULTIPOLYGON(((0, 4 0, 4 4, 0 4, 0 0), (1 1, 2 1, 2, 1 2, 1 1)), ((-1 -1, -1 -2, -2 -2, -2 -2, -2 -1, -1 -1)))

Geometry collection

GEOMETRYCOLLECTION(POINT(2 3) 、LINESTRING(2 3, 3 4))

関数

データ型

関数

構文

制限事項

SQLのサポート

SPLのサポート

コンストラクタ

ST_AsText関数

ST_AsText( x)

ジオメトリのWKT表現を返します。

×

ST_GeometryFromText関数

ST_GeometryFromText( x)

指定されたWKT表現からジオメトリを返します。

×

ST_LineFromText関数

ST_LineFromText( x)

指定されたWKT表現から行文字列を返します。

×

ST_Polygon関数

ST_Polygon( x)

指定されたWKT表現からポリゴンを返します。

×

ST_Point関数

ST_Point( x, y)

指定されたWKT表現から点を返します。

×

演算子

ST_Boundary関数

ST_Boundary( x)

ジオメトリの組み合わせ境界のクロージャを返します。

×

ST_Buffer関数

ST_Buffer( x, distance)

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

×

ST_Difference関数

ST_Difference( x, y)

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

×

ST_Envelope関数

ST_Envelope( x)

ジオメトリの境界のある四角形ポリゴンを返します。

×

ST_ExteriorRing関数

ST_ExteriorRing( x)

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

×

ST_Intersection関数

ST_Intersection( x, y)

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

×

ST_SymDifference関数

ST_SymDifference( x, y)

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

×

空間関係テスト

ST_Contains関数

ST_Contains( x, y)

第2のジオメトリの点が第1のジオメトリの外部になく、第1のジオメトリの内部の少なくとも1つの点が第2のジオメトリの内部にある場合、trueを返します。 配列に指定された要素が含まれている場合、関数はtrueを返します。

×

ST_Crosses関数

ST_Crosses( x, y)

指定した2つのジオメトリに複数の内部点が共通する場合はtrueを返します。 はいの場合、関数はtrueを返します。

×

ST_Disjoint関数

ST_Disjoint( x, y)

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

×

ST_Equals関数

ST_Equals( x, y)

指定された2つのジオメトリが同じジオメトリを表す場合はtrueを返します。 はいの場合、関数はtrueを返します。

×

ST_Intersects関数

ST_Intersects( x, y)

指定した2つのジオメトリが2次元空間の一部を共有する場合はtrueを返します。 はいの場合、関数はtrueを返します。

×

ST_Overlaps関数

ST_Overlaps( x, y)

指定した2つのジオメトリがスペースを共有し、同じ寸法を持つが、互いに完全には含まれていない場合はtrueを返します。 はいの場合、関数はtrueを返します。

×

ST_Relate関数

ST_Relate( x, y, patternMatrix string)

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

×

ST_Touches関数

ST_Touches( x, y)

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

×

ST_Within関数

ST_Within( x, y)

最初のジオメトリが完全に2番目のジオメトリの内側にある場合はtrueを返します。 はいの場合、関数は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( x, y)

2 つのジオメトリ間の最小距離を返します。

×

ST_EndPoint関数

ST_EndPoint( x)

行文字列の最後の点を返します。

×

ST_IsClosed関数

ST_IsClosed( x)

行文字列の始点が終点と一致する場合はtrueを返します。 はいの場合、関数はtrueを返します。

×

ST_IsEmpty関数

ST_IsEmpty( x)

ジオメトリが空の場合はtrueを返します。 はいの場合、関数はtrueを返します。

×

ST_IsRing関数

ST_IsRing( x)

行文字列が閉じて単純な場合はtrueを返します。 はいの場合、関数は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('multipolygon(((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 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)

パラメーター

パラメーター

説明

x

このパラメーターの値はvarchar型です。

戻り値のデータ型

ポリゴンタイプ。

ポリゴンを作成します。

  • クエリ文

    * | SELECT ST_Polygon('polygon((10 10,10 20,20 20,20 15,10 10))')
  • クエリと分析結果 ST_Polygon

ST_Point関数

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

構文

ST_Point(x, y)

パラメーター

パラメーター

説明

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, distance)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

距離

距離だ

戻り値のデータ型

ジオメトリタイプ。

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

  • クエリ文

    * | SELECT ST_Buffer(ST_Point(1,1),1)
  • クエリと分析結果 ST_Buffer

ST_Difference関数

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

構文

ST_Difference(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_Difference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,0 15,0 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      ) AS "Difference"
  • クエリと分析結果 ST_Difference

ST_Envelope関数

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

構文

ST_Envelope(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_Envelope(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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関数を使用して、ジオメトリの外部リングを表す行文字列を返します。

  • クエリ文

    * |
    SELECT
      ST_ExteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリと分析結果 ST_ExteriorRing

ST_Intersection関数

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

構文

ST_Intersection(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_Intersection(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      ) 
  • クエリと分析結果 ST_Intersection

ST_SymDifference関数

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

構文

ST_SymDifference(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ジオメトリタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_SymDifference(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • クエリと分析結果 ST_SymDifference

ST_Contains関数

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

構文

ST_Contains(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
      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(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
      ST_Crosses(
        ST_GeometryFromText(
          'multipolygon (((10 10, 10 20, 20 20, 20 15 , 10 10), (50 40, 50 50, 60 50, 60 40, 50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((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(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
       ST_Disjoint(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • クエリと分析結果 ST_Crosses

ST_Equals関数

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

構文

ST_Equals(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
       ST_Equals(
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon(((10 10,10 20,20 20,20 15,10 10),(50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • クエリと分析結果 ST_Crosses

ST_Intersects関数

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

構文

ST_Intersects(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
       ST_Intersects(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • クエリと分析結果  ST_Contains

ST_Overlaps関数

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

構文

ST_Overlaps(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
      ST_Overlaps(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • クエリと分析結果 ST_Crosses

ST_Relate関数

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

構文

ST_Relate(x, y, patternMatrix string)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

patternMatrix文字列

DE-9IMパターン行列文字列。 このパラメーターの値はvarchar型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
      ST_Relate(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),  '****T****'
      )
  • クエリと分析結果  ST_Contains

ST_Touches関数

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

構文

ST_Touches(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
       ST_Touches(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • クエリと分析結果 ST_Crosses

ST_Within関数

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

構文

ST_Within(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
      ST_Within(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        )
      )
  • クエリと分析結果 ST_Crosses

ST_Area関数

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

構文

ST_Area(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_Area(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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関数を使用して、ジオメトリの数学的重心を表すポイント値を返します。

  • クエリ文

    * |
    SELECT
      ST_Centroid(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリと分析結果 ST_Centroid

ST_CoordDim関数

ST_CoordDim関数は、ジオメトリの座標次元を返します。

構文

ST_CoordDim(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

bigint型。

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

  • クエリ文

    * |
    SELECT
      ST_CoordDim(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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関数を使用して、ジオメトリの固有の寸法を返します。

  • クエリ文

    * |
    SELECT
      ST_Dimension(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリと分析結果 ST_Dimension

ST_Distance関数

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

構文

ST_Distance(x, y)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

y

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_Distance(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 50)))'
        ),
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 20,20 15,10 10), (50 40,50 50,60 50,60 40,50 40)))'
        )
      )
  • クエリと分析結果 ST_Distance

ST_EndPoint関数

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

構文

ST_EndPoint(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ポイントタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_EndPoint(
        ST_LineFromText(
          'linestring (10 10,20 20)'
        )
      )
  • クエリと分析結果 ST_EndPoint

ST_IsClosed関数

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

構文

ST_IsClosed(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ブール型。

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

  • クエリ文

    * |
    SELECT
      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関数を使用して、行文字列が閉じて単純かどうかを確認します。

  • クエリ文

    * |
    SELECT
      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関数を使用して、ライン文字列の投影長を計算します。

  • クエリ文

    * |
    SELECT
      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関数を使用して、行文字列のポイント数を返します。

  • クエリ文

    * |
    SELECT
      ST_NumPoints(
        ST_LineFromText('linestring (10 10,20 20)')
      )
  • クエリと分析結果 ST_NumPoints

ST_NumInteriorRing関数

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

構文

ST_NumInteriorRing(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

bigint型。

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

  • クエリ文

    * |
    SELECT
      ST_NumInteriorRing(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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関数を使用して、行文字列の最初の点を返します。

  • クエリ文

    * |
    SELECT
      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座標を返します。

  • クエリ文

    * | SELECT ST_X(ST_Point(1,3))
  • クエリと分析結果 ST_X

ST_XMax関数

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

構文

ST_XMax(x)

パラメーター

パラメーター

説明

x

このパラメーターの値はジオメトリ型です。

戻り値のデータ型

ダブルタイプ。

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

  • クエリ文

    * |
    SELECT
      ST_XMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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座標を返します。

  • クエリ文

    * |
    SELECT
      ST_XMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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座標を返します。

  • クエリ文

    * |
    SELECT
      ST_YMax(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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座標を返します。

  • クエリ文

    * |
    SELECT
      ST_YMin(
        ST_GeometryFromText(
          'multipolygon (((10 10,10 20,20 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(x, y, zoom_level)
  • 次の関数は、4分木キーに基づいてBingタイルを返します。

    bing_tile(quadKey)

パラメーター

パラメーター

説明

x

X座標。 このパラメーターの値は整数型です。

y

Y座標。 このパラメーターの値は整数型です。

zoom_level

ズームレベル。 有効な値: [1,23] 。 このパラメーターの値は整数型です。

quadKey

4分木キー。

戻り値のデータ型

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(x, y, zoom_level)

パラメーター

パラメーター

説明

x

緯度。 有効な値: [-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型です。

戻り値のデータ型

ダブルタイプ。

Bingタイルのズームレベルを取得します。

  • クエリ文

    * | SELECT bing_tile_zoom_level(bing_tile (10, 20, 20))
  • クエリと分析結果 bing_tile_zoom_level