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

AnalyticDB:操作関数

最終更新日:Jun 11, 2024

操作関数を使用して、GEOMETRYデータ型の値を管理できます。

  • ST_Intersection: g1とg2の交差を表すジオメトリを返します。
  • ST_Envelope: LINE、POLYGON、MULTILINE、MULTIPOLYGON GEOMETRY型のデータを入力として受け取ります。 この関数はPOINT GEOMETRYデータ型をサポートしていません。 この関数は、エンベロープのバイナリ表現を返します。エンベロープは、指定されたジオメトリを囲む長方形を参照します。
  • ST_Union: 指定されたジオメトリの点集合和集合を表すジオメトリを返します。
  • geometry_union: 指定されたジオメトリの点集合和集合を表すジオメトリを返します。
  • ST_Boundary: ジオメトリを入力パラメーターとして受け取り、その境界を新しいジオメトリとして返します。
  • ST_EnvelopeAsPts: ジオメトリの境界長方形ポリゴンの左下と右上の角を表す2つの点の配列を返します。 指定されたジオメトリが空の場合、nullが返されます。
  • ST_Difference: 左ジオメトリと右ジオメトリの差を表すジオメトリを返します。
  • ST_ExteriorRing: ポリゴンの外部リングを線列として返します。
  • ST_SymDifference: 左ジオメトリと右ジオメトリの対称差を表すジオメトリを返します。

ST_Intersection

ST_Intersection(g1, g2)
  • 説明: この関数は、g1とg2の交差を表すジオメトリを返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。
  • 例:
    SELECT ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)'));
    返された結果:
    + ------------------------------------------------------------------------------------------------------------ +
    | ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100、50 200)')) 、ST_GeometryFromText('Point (50 100)') |
    + ------------------------------------------------------------------------------------------------------------ +
    |? calm      �?                                                                        |
ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。 例:
SELECT ST_AsText(ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)')), ST_GeometryFromText('Point (50 100)'));
返された結果:
+ ----------------------------------------------------------------------------------------------------------------------- +
| ST_AsText(ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100、50 200)')) 、ST_GeometryFromText('Point (50 100)')) |
+ ----------------------------------------------------------------------------------------------------------------------- +
| ポイント (50 100) | 

ST_Envelope

ST_Envelope(g)
  • 説明: この関数は、LINE、POLYGON、MULTILINE、MULTIPOLYGON GEOMETRY型のデータを入力として受け取ります。 この関数はPOINT GEOMETRYデータ型をサポートしていません。 この関数は、エンベロープのバイナリ表現を返します。エンベロープは、指定されたジオメトリを囲む長方形を参照します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例1:
    SELECT ST_AsText(ST_Envelope(ST_GeometryFromText('LINESTRING (1 1, 2, 1 3)')));
    返された結果:
    + --------------------------------------------------------------------------------- +
    | ST_AsText(ST_Envelope(ST_GeometryFromText('LINESTRING (1 1, 2, 1 3)'))) |
    + --------------------------------------------------------------------------------- +
    | POLYGON ((1 1, 2 1, 2 3, 1 3)) | 
    例2:
    SELECT ST_AsText(ST_Envelope(ST_GeometryFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')));
    返された結果:
    + ------------------------------------------------------------------------------- +
    | ST_AsText(ST_Envelope(ST_GeometryFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')))|
    + ------------------------------------------------------------------------------- +
    | POLYGON ((1 2, 4 2, 4 8, 1 8, 1 2)) | 

ST_Union

ST_Union(g1, g2)
  • 説明: この関数は、指定したジオメトリの点集合和集合を表すジオメトリを返します。
  • 戻り値のデータ型: INT。
  • 例:
    SELECT ST_ASText(ST_Union(ST_GeometryFromText('MULTIPOLYGON (((1 1、3 1、3 3、1 3、1 1))))') 、ST_GeometryFromText('MULTIPOLYGON (((2 2、4 2、4 4、2 4、2 2 2)))')));
    返された結果:
    + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +
    | ST_ASText(ST_Union(ST_GeometryFromText('MULTIPOLYGON (((1 1、3 1、3 3、1 3、1 1))))')) 、ST_GeometryFromText('MULTIPOLYGON (((2 2、4、4、4、2 4、2 2)))) |)
    + ---------------------------------------------------------------------------------------------------------------------------------------------------------------- +
    | POLYGON ((1 1、3 1、3 2、4 2、4 4、2 4、2 3、1 1)) |

geometry_union

geometry_union(array[g1, g2, ...])
  • 説明: この関数は、指定したジオメトリの点集合和集合を表すジオメトリを返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText (geometry_union(ARRAY[ST_Point(61.56, -158.54), ST_Point(61.56, -158.55)]));
    返された結果:
    + ------------------------------------------------------------------------------------------------ +
    | ST_AsText (geometry_union(ARRAY[ST_Point(61.56, -158.54), ST_Point(61.56, -158.55)])) |
    + ------------------------------------------------------------------------------------------------ +
    | MULTIPOINT ((61.56 -158.55) 、(61.56 -158.54)) | 

ST_Boundary

ST_Boundary(g)
  • 説明: この関数は、ジオメトリを入力パラメーターとして受け取り、その境界を新しいジオメトリとして返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_Boundary(ST_GeometryFromText('LINESTRING (8 4, 5 7)')));
    返された結果:
    + ---------------------------------------------------------------------------- +
    | ST_AsText(ST_Boundary(ST_GeometryFromText('LINESTRING (8 4, 5 7)'))) |
    + ---------------------------------------------------------------------------- +
    | マルチポイント ((8 4) 、(5 7)) | 

ST_EnvelopeAsPts

ST_EnvelopeAsPts(g)
  • 説明: この関数は、ジオメトリの境界長方形ポリゴンの左下隅と右上隅を表す2つの点の配列を返します。 指定されたジオメトリが空の場合、nullが返されます。
  • 戻り値のデータ型: Array[Geometry] 。
  • 例:
    SELECT ST_EnvelopeAsPts(ST_GeometryFromText('LINESTRING EMPTY'));
    返された結果:
    + ----------------------------------------------------------------- +
    | ST_EnvelopeAsPts(ST_GeometryFromText('LINESTRING EMPTY')) |
    + ----------------------------------------------------------------- +
    | null | 

ST_Difference

ST_EnvelopeAsPts(g1, g2)
  • 説明: この関数は、左ジオメトリと右ジオメトリの差を表すジオメトリを返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_Difference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)')));
    返された結果:
    + --------------------------------------------------------------------------------------------------------------- +
    | ST_AsText(ST_Difference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))) |
    + --------------------------------------------------------------------------------------------------------------- +
    | ポイント (50 100) | 

ST_ExteriorRing

ST_ExteriorRing(g1)
  • 説明: この関数は、ポリゴンの外部リングを線列として返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_ExteriorRing(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))')));
    返された結果:
    + ------------------------------------------------------------------------------------ +
    | ST_AsText(ST_ExteriorRing(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))'))) |
    + ------------------------------------------------------------------------------------ +
    | LINESTRING (1 1, 4 1, 1 4, 1) | 

ST_SymDifference

ST_SymDifference(g1, g2)
  • 説明: この関数は、左ジオメトリと右ジオメトリの対称差を表すジオメトリを返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_SymDifference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (50 150)')));
    返された結果:
    + -------------------------------------------------------------------------------------------------------------- +
    | ST_AsText(ST_SymDifference(ST_GeometryFromText('POINT (50 100)')), ST_GeometryFromText('POINT (50 150)')) |
    + -------------------------------------------------------------------------------------------------------------- +
    | MULTIPOINT ((50 100) 、(50 150)) |