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

AnalyticDB:アクセサー関数

最終更新日:Jun 11, 2024

アクセッサ関数を使用して、異なる文字列からBIGINT、DOUBLE、またはGEOMETRY型の値を取得できます。

  • ST_XMax: g1の最大X座標を返します。
  • ST_YMax: g1の最大Y座標を返します。
  • ST_XMin: g1の最小X座標を返します。
  • ST_YMin: g1の最小Y座標を返します。
  • ST_Distance: g1とg2の間の直線距離を返します。
  • ST_Distance_Sphere: g1とg2の間の球面距離を返します。 球の半径を指定できます。 デフォルトの半径は6,370,986メートルです。
  • ST_Area: 2次元空間のg1のユークリッド領域を返します。
  • ST_Centroid: g1の幾何学的中心を返します。
  • ST_ConvexHull: g1の凸包を返します。 凸包は、g1のすべてのジオメトリを囲む最小の凸ジオメトリです。
  • ST_CoordDim: g1の座標成分の次元を返します。
  • ST_Dimension: g1の固有の次元を返します。 固有の寸法は、座標寸法以下でなければなりません。
  • ST_IsClosed: ラインストリングまたはマルチラインストリングの始点と終点が一致する場合、1を返します。 値1はtrueを示し、値0はfalseを示します。
  • ST_IsEmpty: g1が空のジオメトリコレクション、ポリゴン、またはポイントの場合、0を返します。 0の値はtrueを示し、1の値はfalseを示します。
  • ST_IsValid: g1が有効な場合は1を返します。 値1はtrueを示します。
  • Geometry_invalid_reason: g1が無効な理由を返します。
  • ST_Length: 線列またはマルチ線列のユークリッド長、または地理の大円距離を返します。
  • Line_locate_point: 指定された点に指定された線列上の最も近い点の位置を、合計線の長さの一部として表すfloatを返します。
  • Line_interpolate_point: 線の始点からわずかな距離にある線に沿った点を返します。
  • Line_interpolate_points: 線の始点からわずかな距離にある線に沿ったすべての点を返します。
  • ST_NumInteriorRing: ポリゴンジオメトリ内の内部リングの数を返します。
  • ST_InteriorRings: 指定したジオメトリ内で見つかったすべての内部リングのジオメトリ配列、またはポリゴンに内部リングがない場合は空の配列を返します。 指定されたジオメトリが空の場合、nullが返されます。 指定されたジオメトリがポリゴンでない場合、エラーが返されます。
  • ST_NumGeometries: コレクション内のジオメトリの数を返します。 ジオメトリがGEOMETRYCOLLECTIONやMULTI * オブジェクトなどのジオメトリのコレクションである場合、ジオメトリの数が返されます。 1はジオメトリごとに返されます。 空のジオメトリに対して0が返されます。 GEOMETRYCOLLECTIONオブジェクト内の空のジオメトリは1つのジオメトリとしてカウントされます。
  • ST_GeometryN: 指定された整数インデックスでGEOMETRY要素を返します。 インデックスは1から始まります。 指定されたジオメトリがGEOMETRYCOLLECTIONやMULTI * オブジェクトなどのジオメトリのコレクションである場合、指定されたインデックスのジオメトリが返されます。 指定されたインデックスが1未満の場合、またはコレクション内の要素の合計数より大きい場合は、nullが返されます。
  • ST_PointN: 指定された整数インデックスで指定されたラインストリングの頂点を返します。 インデックスは1から始まります。 指定されたインデックスが1未満の場合、またはコレクション内の要素の合計数より大きい場合は、nullが返されます。
  • ST_Geometries: 指定されたコレクション内のジオメトリの配列を返します。 指定したジオメトリがマルチジオメトリでない場合は、1要素の配列が返されます。 指定されたジオメトリが空の場合、nullが返されます。
  • ST_InteriorRingN: 指定されたインデックスの内部リング要素を返します。 インデックスは1から始まります。 指定されたインデックスが1未満の場合、または指定されたジオメトリの内部リングの総数より大きい場合は、nullが返されます。 指定されたジオメトリがポリゴンでない場合、エラーが返されます。
  • ST_NumPoints: ジオメトリ内のポイント数を返します。
  • ST_IsRing: ラインストリングが閉じて単純な場合にのみ1を返します。 値1はtrueを示し、値0はfalseを示します。
  • ST_StartPoint: 線ジオメトリの最初の点を点として返します。
  • Simplify_geometry: Ramer-Douglas-Peuckerアルゴリズムを使用して、geometryデータ型で指定されたジオメトリの簡易バージョンを返します。 この関数は、作成された派生ジオメトリ (特にポリゴン) が有効であることを保証します。
  • ST_EndPoint: 線ジオメトリの最後の点を点として返します。
  • ST_Points: 指定されたラインストリングジオメトリオブジェクトからポイントの配列を返します。
  • ST_X: 点のX座標を返します。
  • ST_Y: 点のY座標を返します。
  • ST_GeometryType: VARCHARデータ型のジオメトリの型を返します。

ST_XMax

ST_XMax(g1)
  • 説明: この関数は、g1の最大X座標を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_XMax(ST_GeomFromText('POINT (1.5 2.5)'));
    返された結果:
    + ---------------------------------------------- +
    | ST_XMax(ST_GeomFromText('POINT (1.5 2.5)')) |
    + ---------------------------------------------- +
    | 1.5 | 

ST_YMax

ST_YMax(g1)
  • 説明: この関数は、g1の最大Y座標を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_YMax(ST_GeomFromText('POINT (1.5 2.5)'));
    返された結果:
    + ---------------------------------------------- +
    | ST_YMax(ST_GeomFromText('POINT (1.5 2.5)')) |
    + ---------------------------------------------- +
    | 2.5 | 

ST_XMin

ST_XMin(g1)
  • 説明: この関数はg1の最小X座標を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_XMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)'));
    返された結果:
    + ------------------------------------------------------------- +
    | ST_XMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')) |
    + ------------------------------------------------------------- +
    | 1.0 | 

ST_YMin

ST_YMin(g1)
  • 説明: この関数はg1の最小Y座標を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_YMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)'));
    返された結果:
    + ------------------------------------------------------------- +
    | ST_YMin(ST_GeomFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')) |
    + ------------------------------------------------------------- +
    | 2.0 | 

ST_Distance

ST_Distance(g1, g2)
  • 説明: この関数はg1とg2の間の線形距離を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_Distance(ST_Point(1,1), ST_Point(2,2));
    返された結果:
    + ------------------------------------------- +
    | ST_Distance(ST_Point(1,1), ST_Point(2,2)) |
    + ------------------------------------------- +
    | 1.4142135623730951 | 

ST_Distance_Sphere

ST_Distance_Sphere(g1, g2 [, radius])
  • 説明: この関数はg1とg2の間の球面距離を返します。 球の半径を指定できます。 デフォルトの半径は6,370,986メートルです。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_Distance_Sphere(point(1,1), point(2,2));
    返された結果:
    + -------------------------------------------- +
    | ST_Distance_Sphere (ポイント (1,1) 、ポイント (2,2)) |
    + -------------------------------------------- +
    | 157225.08654191086 | 

ST_Area

ST_Area(g1)
  • 説明: この関数は、2D空間のg1のユークリッド領域を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_Area(ST_GeometryFromText('POLYGON ((2 2, 2 6, 6 6 2))'));
    返された結果:
    + ------------------------------------------------------------------------ +
    | ST_Area(ST_GeometryFromText('POLYGON ((2 2, 2 6, 6, 6 2))')) |
    + ------------------------------------------------------------------------ +
    | 16.0 | 

ST_Centroid

ST_Centroid(g1)
  • 説明: この関数はg1の幾何学的中心を返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_Centroid(ST_GeometryFromText('POINT (3 5)')));
    返された結果:
    + ------------------------------------------------------------------- +
    | ST_AsText(ST_Centroid(ST_GeometryFromText('POINT (3 5)'))) |
    + ------------------------------------------------------------------- +
    | ポイント (3 5) | 

ST_ConvexHull

ST_ConvexHull(g1)
  • 説明: この関数はg1の凸包を返します。 凸包は、g1のすべてのジオメトリを囲む最小の凸ジオメトリです。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_ConvexHull(ST_GeometryFromText('LINESTRING (20, 30)')));
    返された結果:
    + -------------------------------------------------------------------------------- +
    | ST_AsText(ST_ConvexHull(ST_GeometryFromText('LINESTRING (20, 30 30) '))) |
    + -------------------------------------------------------------------------------- +
    | POLYGON ((1 1, 5 1, 6 6, 1)) | 

ST_CoordDim

ST_CoordDim(g1)
  • 説明: この関数は、g1の座標コンポーネントの次元を返します。
  • 戻り値のデータ型: TINYINT。
  • 例:
    SELECT ST_CoordDim(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))));
    返された結果:
    + -------------------------------------------------------------------------------- +
    | ST_CoordDim(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4 1))')) |
    + -------------------------------------------------------------------------------- +
    | 2 | 

ST_Dimension

ST_Dimension(g1)
  • 説明: この関数は、g1の固有の次元を返します。 固有の寸法は、座標寸法以下でなければなりません。
  • 戻り値のデータ型: TINYINT。
  • 例:
    SELECT ST_Dimension(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))'));
    返された結果:
    + -------------------------------------------------------------------------------- +
    | ST_Dimension(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4 1))')) |
    + -------------------------------------------------------------------------------- +
    | 2 | 

ST_IsClosed

ST_IsClosed(g1)
  • 説明: この関数は、ラインストリングまたはマルチラインストリングの始点と終点が一致する場合に1を返します。 値1はtrueを示し、値0はfalseを示します。
  • 戻り値のデータ型: INT。
  • 例:
    SELECT ST_IsClosed(ST_GeometryFromText('LINESTRING (1 1, 2, 1 3, 1)'));
    返された結果:
    + ------------------------------------------------------------------------------- +
    | ST_IsClosed(ST_GeometryFromText('LINESTRING (1 1, 2, 1 3, 1 1)')) |
    + ------------------------------------------------------------------------------- +
    | 1 | 

ST_IsEmpty

ST_IsEmpty(g1)
  • 説明: g1が空のジオメトリコレクション、ポリゴン、またはポイントの場合、この関数は0を返します。 0の値はtrueを示し、1の値はfalseを示します。
  • 戻り値のデータ型: INT。
  • 例:
    SELECT ST_IsEmpty(ST_GeometryFromText('POINT (1.5 2.5)'));
    返された結果:
    + ------------------------------------------------------------- +
    | ST_IsEmpty(ST_GeometryFromText('POINT (1.5 2.5)')) |
    + ------------------------------------------------------------- +
    | 0 | 

ST_IsValid

ST_IsValid(g1)
  • 説明: g1が有効な場合、この関数は1を返します。 値1はtrueを示します。
  • 戻り値のデータ型: INT。
  • 例:
    SELECT ST_IsValid(ST_GeometryFromText('LINESTRING (1 1, 2, 1 3, 1)'));
    返された結果:
    + ------------------------------------------------------------------------ +
    | ST_IsValid(ST_GeometryFromText('LINESTRING (1 1, 2, 1 3, 1 1)')) |
    + -------------------------------------------------------------------- --- +
    | 1 | 

Geometry_invalid_reason

Geometry_invalid_reason(g1)
  • 説明: この関数は、g1が無効な理由を返します。
  • 戻り値のデータ型: VARCHAR。
  • 例:
    SELECT Geometry_invalid_reason(ST_GeometryFromText('POLYGON ((0 0, 1 1, 0 1, 0 0))'));
    返された結果:
    + ---------------------------------------------------------------------------------------- +
    | Geometry_invalid_reason(ST_GeometryFromText('POLYGON ((0 0, 1 1,0, 0 1,0))')) |
    + ---------------------------------------------------------------------------------------- +
    | (1.0 0.0) および (1.0 1.0) またはその近くのセグメントの交差または重複 | 

ST_Length

ST_Length(g1)
  • 説明: この関数は、線列またはマルチ線列のユークリッド長、または地理の大円距離を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_Length(ST_GeometryFromText('LINESTRING (1 1, 1 2)'));
    返された結果:
    + ---------------------------------------------------------- +
    | ST_Length(ST_GeometryFromText('LINESTRING (1 1, 1 2)')) |
    + ---------------------------------------------------------- +
    | 1.0 | 

Line_locate_point

Line_locate_point(g1, g2)
  • 説明: この関数は、指定された点に指定された線列上の最も近い点の位置を、行の全長の一部として表すfloatを返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT Line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2));
    返された結果:
    + ------------------------------------------------------------------------------------- +
    | Line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2)) |
    + ------------------------------------------------------------------------------------- +
    | 0.2 | 

Line_interpolate_point

Line_interpolate_point(g1, d)
  • 説明: この関数は、線の始点からわずかな距離にある線に沿った点を返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(Line_interpolate_point(ST_GeometryFromText('LINESTRING (0 0, 2)'), 0.5));
    返された結果:
    + ---------------------------------------------------------------------------------------- +
    | ST_AsText(Line_interpolate_point(ST_GeometryFromText('LINESTRING (0 0, 2)'), 0.5)) |
    + ---------------------------------------------------------------------------------------- +
    | ポイント (1 1) | 

Line_interpolate_points

Line_interpolate_points(g1, d)
  • 説明: この関数は、線の始点からわずかな距離にある線に沿ったすべての点を返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 変換関数を呼び出して、各配列要素にLambda式を適用できます。
  • 例:
    SELECT transform(Line_interpolate_points(ST_GeometryFromText('LINESTRING (0 0, 1 1, 10 10)')), 0.4), x -> ST_AsText(x);
    返された結果:
    + ----------------------------------------------------------------------------------------------------------------- +
    | transform(Line_interpolate_points(ST_GeometryFromText('LINESTRING (0 0, 1 1,10) ')), 0.4), x -> ST_AsText(x) |
    + ----------------------------------------------------------------------------------------------------------------- +
    | ["POINT (4.000000000000001 4.000000000000001)","POINT (8 8)"] | 

ST_NumInteriorRing

ST_NumInteriorRing(g1)
  • 説明: この関数は、ポリゴンジオメトリの内部リングの数を返します。
  • 戻り値のデータ型: BIGINT。
  • 例:
    SELECT ST_NumInteriorRing(ST_GeometryFromText('POLYGON ((0, 0, 5, 5, 5 0, 0))'));
    返された結果:
    + ------------------------------------------------------------------------------------- +
    | ST_NumInteriorRing(ST_GeometryFromText('POLYGON ((0 0, 0 5,5, 5 0, 0))')) |
    + ------------------------------------------------------------------------------------- +
    | 0 | 

ST_InteriorRings

ST_InteriorRings(g1)
  • 説明: この関数は、指定したジオメトリ内にあるすべての内部リングのジオメトリ配列を返します。または、ポリゴンに内部リングがない場合は空の配列を返します。 指定されたジオメトリが空の場合、nullが返されます。 指定されたジオメトリがポリゴンでない場合、エラーが返されます。
  • 戻り値のデータ型: Array[GEOMETRY[GEOMETRY] 。
  • 例:
    SELECT ST_InteriorRings(ST_GeometryFromText('POLYGON EMPTY'));
    返された結果:
    + ---------------------------------------------------------------------- +
    | ST_InteriorRings(ST_GeometryFromText('POLYGON EMPTY')) |
    + ---------------------------------------------------------------------- +
    | null | 

ST_NumGeometries

ST_NumGeometries(g1)
  • 説明: この関数は、コレクション内のジオメトリの数を返します。 ジオメトリがGEOMETRYCOLLECTIONやMULTI * オブジェクトなどのジオメトリのコレクションである場合、ジオメトリの数が返されます。 1はジオメトリごとに返されます。 空のジオメトリに対して0が返されます。 GEOMETRYCOLLECTIONオブジェクト内の空のジオメトリは1つのジオメトリとしてカウントされます。
  • 戻り値のデータ型: INT。
  • 例:
    SELECT ST_NumGeometries(ST_GeometryFromText('POINT (1 2)'));
    返された結果:
    + ---------------------------------------------------------------------- +
    | ST_NumGeometries(ST_GeometryFromText('POINT (1 2)')) |
    + ---------------------------------------------------------------------- +
    | 1 | 

ST_GeometryN

ST_GeometryN(g, i)
  • 説明: この関数は、指定された整数インデックスでGEOMETRY要素を返します。 インデックスは1から始まります。 指定されたジオメトリがGEOMETRYCOLLECTIONやMULTI * オブジェクトなどのジオメトリのコレクションである場合、指定されたインデックスのジオメトリが返されます。 指定されたインデックスが1未満の場合、またはコレクション内の要素の合計数より大きい場合は、nullが返されます。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_ASText(ST_GeometryN(ST_GeometryFromText('POINT (1 2)'), 1));
    返された結果:
    + --------------------------------------------------------------------------------- +
    | ST_ASText(ST_GeometryN(ST_GeometryFromText('POINT (1 2)'), 1)) |
    + --------------------------------------------------------------------------------- +
    | ポイント (1 2) | 

ST_PointN

ST_PointN(g, i)
  • 説明: この関数は、指定された整数インデックスで指定されたラインストリングの頂点を返します。 インデックスは1から始まります。 指定されたインデックスが1未満の場合、またはコレクション内の要素の合計数より大きい場合は、nullが返されます。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_ASText(ST_PointN(ST_GeometryFromText('LINESTRING(1 2, 3 4, 5 6, 7 8)'));
    返された結果:
    + --------------------------------------------------------------------------------------- +
    | ST_ASText(ST_PointN(ST_GeometryFromText('LINESTRING(1 2, 3 4, 5 6, 7 8)')), 3) |
    + --------------------------------------------------------------------------------------- +
    | ポイント (5 6) | 

ST_Geometries

ST_Geometries(g)
  • 説明: この関数は、指定されたコレクション内のジオメトリの配列を返します。 指定したジオメトリがマルチジオメトリでない場合は、1要素の配列が返されます。 指定されたジオメトリが空の場合、nullが返されます。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 変換関数を呼び出して、各配列要素にLambda式を適用できます。
  • 例:
    SELECT transform(ST_Geometries(ST_GeometryFromText('POINT (1 5)'))) 、x -> ST_ASText(x);
    返された結果:
    + --------------------------------------------------------------------------------------- +
    | transform(ST_Geometries(ST_GeometryFromText('POINT (1 5)'))), x -> ST_ASText(x) |
    + --------------------------------------------------------------------------------------- +
    | ポイント (1 5) | 

ST_InteriorRingN

ST_InteriorRingN(g, d)
  • 説明: この関数は、指定されたインデックスの内部リング要素を返します。 インデックスは1から始まります。 指定されたインデックスが1未満の場合、または指定されたジオメトリの内部リングの総数より大きい場合は、nullが返されます。 指定されたジオメトリがポリゴンでない場合、エラーが返されます。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_ASText(ST_Interior RingN(ST_GeometryFromText('POLYGON ((0, 0, 3, 3, 0, 0))), (1 1, 1, 2, 2, 2 1, 1) '));
    返された結果:
    + ----------------------------------------------------------------------------------------------------------------------------- +
    | ST_ASText(ST_Interior RingN(ST_GeometryFromText('POLYGON ((0, 0, 3, 3, 0, 0))), (1 1, 1, 2, 2, 2, 1, 1) '), 1) |
    + ----------------------------------------------------------------------------------------------------------------------------- +
    | LINESTRING (1 1, 1 2, 2 2, 2 1, 1) | 

ST_NumPoints

ST_NumPoints(g)
  • 説明: この関数は、BIGINTデータ型のジオメトリ内のポイント数を返します。
  • 戻り値のデータ型: BIGINT。
  • 例:
    SELECT ST_NumPoints(ST_GeometryFromText('POINT (1 2)'));
    返された結果:
    + ------------------------------------------------------------------------- +
    | ST_NumPoints(ST_GeometryFromText('POINT (1 2)')) |
    + ------------------------------------------------------------------------- +
    | 1 | 

ST_IsRing

ST_IsRing(g)
  • 説明: この関数は、線の種類が閉じて単純な場合にのみ1を返します。 値1はtrueを示し、値0はfalseを示します。
  • 戻り値のデータ型: INT。
  • 例:
    SELECT ST_IsRing(ST_GeometryFromText('LINESTRING (1, 1, 3, 2, 3, 2 1)'));
    返された結果:
    + --------------------------------------------------------------------------------- +
    | ST_IsRing(ST_GeometryFromText('LINESTRING (1 1, 1 3, 2 3, 2 1)')) |
    + --------------------------------------------------------------------------------- +
    | 1 | 

ST_StartPoint

ST_StartPoint(g)
  • 説明: この関数は、線ジオメトリの最初の点を点として返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_StartPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)')));
    返された結果:
    + ------------------------------------------------------------------------------------- +
    | ST_AsText(ST_StartPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)'))) |
    + ------------------------------------------------------------------------------------- +
    | ポイント (8 4) | 

Simplify_geometry

Simplify_geometry(g, d)
  • 説明: この関数は、Ramer-Douglas-Peuckerアルゴリズムを使用して、geometryデータ型で指定されたジオメトリの簡易バージョンを返します。 この関数は、作成された派生ジオメトリ (特にポリゴン) が有効であることを保証します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(Simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1 0))'));
    1.5); 返された結果:
    + ----------------------------------------------------------------------------------------------------------- +
    | ST_AsText(Simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1, 1 0)))'), 1.5) |
    + ----------------------------------------------------------------------------------------------------------- +
    | POLYGON ((1 0, 4 1, 2 1, 1 0)) | 

ST_EndPoint

ST_EndPoint(g)
  • 説明: この関数は、線ジオメトリの最後の点を点として返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 ST_AsText関数を呼び出して、結果を読みやすいテキストに変換できます。
  • 例:
    SELECT ST_AsText(ST_EndPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)')));
    返された結果:
    + ----------------------------------------------------------------------------------- +
    | ST_AsText(ST_EndPoint(ST_GeometryFromText('LINESTRING (8 4, 4 8, 5 6)'))) |
    + ----------------------------------------------------------------------------------- +
    | ポイント (5 6) | 

ST_Points

ST_Points(g)
  • 説明: この関数は、指定された線列ジオメトリオブジェクトから点の配列を返します。
  • 戻り値のデータ型: GEOMETRY。 SELECTステートメントを実行してこの関数の結果を照会すると、返された結果が破損します。 変換関数を呼び出して、各配列要素にLambda式を適用できます。
  • 例:
    SELECT transform(ST_Points(ST_GeometryFromText('POINT (0 0)'))) 、x -> ST_AsText(x);
    返された結果:
    + ----------------------------------------------------------------------------------- +
    | transform(ST_Points(ST_GeometryFromText('POINT (0 0)'))), x -> ST_AsText(x) |
    + ----------------------------------------------------------------------------------- +
    | ["POINT (0 0)"] | 

ST_X

ST_X(g)
  • 説明: この関数は、点のX座標を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_X(ST_GeometryFromText('POINT (1 2)'));
    返された結果:
    + ------------------------------------------------ +
    | ST_X(ST_GeometryFromText('POINT (1 2)')) |
    + ------------------------------------------------ +
    | 1.0 | 

ST_Y

ST_Y(g)
  • 説明: この関数は、点のY座標を返します。
  • 戻り値のデータ型: DOUBLE。
  • 例:
    SELECT ST_Y(ST_GeometryFromText('POINT (1 2)'));
    返された結果:
    + ------------------------------------------------ +
    | ST_Y(ST_GeometryFromText('POINT (1 2)')) |
    + ------------------------------------------------ +
    | 2.0 | 

ST_GeometryType

ST_GeometryType(g1)
  • 説明: この関数はジオメトリの型を返します。
  • 戻り値のデータ型: VARCHAR。
  • 例:
    SELECT ST_GeometryType(ST_Point(1, 4))
    返された結果:
    + --------------------------------------- +
    | ST_GeometryType(ST_Point(1, 4)) |
    + --------------------------------------- +
    | ST_Point |