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

Hologres:PostGIS 空間関数

最終更新日:Jun 26, 2025

PostGIS は PostgreSQL の空間拡張機能であり、空間オブジェクト、空間インデックス、空間関数、空間演算子などの空間機能を提供します。このトピックでは、Hologres で PostGIS を使用する方法について説明します。

制限事項

  • geometry 型または geography 型のフィールドを Hologres テーブルの主キーとして構成することはできません。

  • Hologres は空間インデックスをサポートしていません。

  • Hologres V1.3 以降では、ほとんどの PostGIS 関数は Alibaba Cloud によって開発された Hologres Query Engine(HQE)でサポートされています。 HQE はより良いパフォーマンスを提供します。 Hologres インスタンスのバージョンが V1.3 より前の場合、PostgreSQL Query Engine(PQE)が使用されて関数をサポートします。 PQE のパフォーマンスは低くなります。

PostGIS 拡張機能のインストール

データベースで PostGIS を使用する前に、スーパーユーザーとして次のステートメントを実行して、データベースに PostGIS 拡張機能をインストールする必要があります。拡張機能はデータベースレベルでインストールされます。各データベースでは、拡張機能を 1 回だけインストールする必要があります。別のデータベースを作成する場合は、次のステートメントを再度実行する必要があります。

-- PostGIS 拡張機能をインストールします。
CREATE EXTENSION if not exists postgis;
説明

pg_catalog スキーマに PostGIS 拡張機能をインストールすることはできません。

PostGIS 拡張機能がインストールされた後、次のステートメントを実行して PostGIS のバージョンを表示できます。この例では、Hologres で PostGIS 3.0.0 が使用されています。

SELECT postgis_full_version();

PostGIS 拡張機能を削除するには、次のステートメントを実行します。

DROP EXTENSION postgis;
重要

DROP EXTENSION <extension_name> CASCADE; 文を実行して拡張機能を削除することはお勧めしません。CASCADE 文は、指定された拡張機能だけでなく、拡張機能のデータと拡張機能に依存するオブジェクトも削除します。拡張機能データには、PostGIS データ、roaring ビットマップデータ、Proxima データ、バイナリログデータ、BSI データが含まれます。オブジェクトには、メタデータ、テーブル、ビュー、サーバーデータが含まれます。

空間データ型のデータを含むテーブルの作成とクエリ

PostGIS は、Hologres で 2 つの空間データ型 geometry 型と geography 型をサポートしています。

geometry 型の方が頻繁に使用されます。このセクションでは、geometry 型のデータを含むテーブルを作成し、空間データをクエリする方法について説明します。 geography 型のパラメーターと手順の詳細については、「Geography データ型」をご参照ください。

  1. geometry データ型のデータを含むテーブルを作成します。

    説明

    geometry 型のデータを含むテーブルを作成するときは、作成する geometry オブジェクトのサブタイプを指定できます。使用可能なサブタイプには、Point、MultiPoint、Linestring、MultiLinestring、Polygon、MultiPolygon があります。

    • サブタイプが指定されていないテーブルを作成します。

      CREATE TABLE holo_gis_1 ( id INT, geom geometry, PRIMARY KEY (id)) ;

      この例では、geometry 型のデータを含むテーブルが作成され、サブタイプは指定されていません。

    • サブタイプと空間参照系識別子(SRID)が指定されたテーブルを作成します。

      CREATE TABLE holo_gis_2 ( id INT, geom geometry(point, 4326), PRIMARY KEY (id)) ;

      この例では、geometry 型のサブタイプは Point で、SRID は 4326 です。SRID が指定されていない場合は、デフォルト値 0 が使用されます。 SRID の詳細については、「PostGIS 公式ドキュメント」をご参照ください。

  2. テーブルにデータを挿入します。

    次のいずれかのステートメントを使用して、テーブルにデータを挿入できます。空間関数の使用方法の詳細については、「空間関数」をご参照ください。 SRID の詳細については、「PostGIS 公式ドキュメント」をご参照ください。

    • SRID が指定されていないステートメント

      INSERT INTO holo_gis_1 VALUES (1, ST_GeomFromText('point(116 39)'));
    • SRID が指定されているステートメント

      INSERT INTO holo_gis_2 VALUES (1, ST_GeomFromText('point(116 39)', 4326));
  3. データをクエリします。

    テーブルを作成してデータを追加した後、2 つの一般的なシナリオ、長方形範囲クエリの実行とポリゴンの交差のチェックで空間データをクエリできます。空間関数の使用方法の詳細については、「空間関数」をご参照ください。

    • 長方形範囲クエリを実行する

      • SRID が指定されていないステートメント

        SELECT st_astext(geom) FROM holo_gis_1
        WHERE ST_Covers(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), geom);

        次の結果が返されます。

        st_astext
        -------------
        POINT(116 39)
      • SRID が指定されているステートメント

        SELECT st_astext(geom) FROM holo_gis_2 
        WHERE ST_Covers(ST_SetSRID(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), 4326), geom);

        次の結果が返されます。

        st_astext
        -------------
        POINT(116 39)
    • 境界内または境界上にあるポリゴンの交差をチェックする

      • SRID が指定されていないステートメント

        SELECT st_astext(geom) FROM holo_gis_1
        WHERE ST_Covers(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), geom);

        次の結果が返されます。

        st_astext
        -------------
        POINT(116 39)
      • SRID が指定されているステートメント

        SELECT st_astext(geom) FROM holo_gis_2 
        WHERE ST_Covers(ST_SetSRID(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), 4326), geom);

        次の結果が返されます。

        st_astext
        -------------
        POINT(116 39)

空間関数

PostGIS は空間関数を提供し、各関数は値をあるデータ型から別のデータ型に変換できます。次の表は、空間関数について説明しています。関数の構文には、次のパラメーターが含まれています。

  • geom: geometry 型の値、または計算結果が geometry 型の式。

  • precision: INTEGER 型の値。座標系では、geometry 型の値の精度は 1 ~ 20 の範囲です。精度は指定されていない場合、デフォルト値 15 が使用されます。

  • index: INTEGER 型の値。インデックスを指定します。

  • srid: INTEGER 型の値。SRID を指定します。

空間関数の詳細については、「PostGIS 公式ドキュメント」をご参照ください。

  • ジオメトリコンストラクター

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_LineFromMultiPoint

    ST_LineFromMultiPoint(geom)

    GEOMETRY

    この関数は、入力マルチポイントジオメトリからラインストリングを作成します。点の順序は保持されます。返されるジオメトリの SRID は、入力ジオメトリの SRID と同じです。

    Hologres V1.3 の HQE

    ST_MakeEnvelope

    ST_MakeEnvelope(xmin, ymin, xmax, ymax)ST_MakeEnvelope(xmin, ymin, xmax, ymax, srid)

    POINT、LINESTRING、または POLYGON サブタイプのジオメトリ

    この関数はジオメトリを作成します。入力座標が点を指定する場合、返されるジオメトリは点です。入力座標が線を指定する場合、返されるジオメトリはラインストリングです。それ以外の場合、返されるジオメトリはポリゴンで、入力座標はポリゴンの左下隅と右上隅を指定します。SRID が指定されている場合、返されるジオメトリの SRID は指定された SRID に設定されます。

    Hologres V1.3 の HQE

    ST_MakeLine

    ST_MakeLine(geom1, geom2)

    LINESTRING サブタイプのジオメトリ

    この関数は、入力ジオメトリからラインストリングを作成します。

    Hologres V1.3 の HQE

    ST_MakePoint

    ST_MakePoint(x, y)

    POINT サブタイプのジオメトリ

    この関数は、座標値が入力値である点を作成します。

    Hologres V1.3 の HQE

    ST_Point

    ST_Point(x, y)

    POINT サブタイプの GEOMETRY

    この関数は、入力座標値から点を作成します。

    Hologres V1.3 の HQE

    ST_Polygon

    ST_Polygon(linestring, srid)

    POLYGON サブタイプのジオメトリ

    この関数は、外側のリングが入力ラインストリングであるポリゴンを作成します。SRID が指定されている場合、ポリゴンの SRID は指定された SRID に設定されます。

    Hologres V1.3 の HQE

  • ジオメトリアクセサー

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    GeometryType

    GeometryType(geom)

    VARCHAR

    この関数は、入力ジオメトリのサブタイプを文字列として返します。

    Hologres V1.3 の HQE

    ST_Boundary

    ST_Boundary(geom)

    GEOMETRY

    この関数は、入力ジオメトリの境界を返します。入力ジオメトリが空で、点が含まれていない場合、入力ジオメトリはそのまま返されます。入力ジオメトリが点または空でないマルチポイントの場合、空のジオメトリコレクションが返されます。入力ジオメトリがラインストリングまたはマルチラインストリングの場合、境界上のすべての点を含むマルチポイントが返されます。マルチポイントは空の場合があります。入力ジオメトリが内部リングを持たないポリゴンの場合、その境界を表す閉じたラインストリングが返されます。入力ジオメトリが内部リングを持つポリゴンまたはマルチポリゴンの場合、マルチラインストリングが返されます。マルチラインストリングには、面ジオメトリのすべてのリングのすべての境界が閉じたラインストリングとして含まれます。

    Hologres V1.3 の HQE

    ST_Dimension

    ST_Dimension(geom)

    INTEGER

    この関数は、入力ジオメトリの本質的な次元を返します。本質的な次元は、ジオメトリで定義されているサブタイプの次元値です。

    Hologres V1.3 の HQE

    ST_Envelope

    ST_Envelope(geom)

    GEOMETRY

    この関数は、入力ジオメトリの最小境界ボックスを返します。入力ジオメトリが空の場合、返されるジオメトリは入力ジオメトリのコピーです。入力ジオメトリの最小境界ボックスが点に縮退する場合、返されるジオメトリは点です。入力ジオメトリの最小境界ボックスが 1 次元の場合、2 点のラインストリングが返されます。上記のいずれの条件にも当てはまらない場合、この関数は、頂点が最小境界ボックスの隅である時計回りのポリゴンを返します。返されるジオメトリの SRID は、入力ジオメトリの SRID と同じです。

    Hologres V1.3 の HQE

    ST_ExteriorRing

    ST_ExteriorRing(geom)

    LINESTRING サブタイプのジオメトリ

    この関数は、入力ポリゴンの外側のリングを表す閉じたラインストリングを返します。

    Hologres V1.3 の HQE

    ST_GeometryN

    ST_GeometryN(geom, index)

    GEOMETRY

    この関数は、入力ジオメトリの入力インデックスが指すジオメトリを返します。入力が点、ラインストリング、またはポリゴンで、インデックスが 1 の場合、入力ジオメトリが返されます。インデックスが 1 でない場合、null が返されます。入力がマルチポイント、マルチラインストリング、マルチポリゴン、またはジオメトリコレクションの場合、入力インデックスが指す点、ラインストリング、ポリゴン、またはジオメトリが返されます。入力インデックスは 1 から始まります。返されるジオメトリの SRID は、入力ジオメトリの SRID と同じです。

    Hologres V1.3 の HQE

    ST_GeometryType

    ST_GeometryType(geom)

    VARCHAR

    この関数は、入力ジオメトリのサブタイプを文字列として返します。

    Hologres V1.3 の HQE

    ST_InteriorRingN

    ST_InteriorRingN(geom, index)

    LINESTRING サブタイプのジオメトリ

    この関数は、インデックス位置にある入力ポリゴンの内部リングを表す閉じたラインストリングを返します。

    Hologres V1.3 の HQE

    ST_IsClosed

    ST_IsClosed(geom)

    BOOLEAN

    この関数は、入力ジオメトリが閉じている場合に true を返します。次のルールは、閉じたジオメトリを定義します。入力ジオメトリは点またはマルチポイントです。入力ジオメトリはラインストリングで、ラインストリングの始点と終点が一致しています。入力ジオメトリは空でないマルチラインストリングで、すべてのラインストリングが閉じています。入力ジオメトリは空でないポリゴンで、ポリゴンのすべてのリングは空ではなく、すべてのリングの始点と終点が一致しています。入力ジオメトリは空でないマルチポリゴンで、すべてのポリゴンが閉じています。入力ジオメトリは空でないジオメトリコレクションで、すべての要素が閉じています。

    Hologres V1.3 の HQE

    ST_IsCollection

    ST_IsCollection(geom)

    BOOLEAN

    この関数は、入力ジオメトリが GEOMETRYCOLLECTION、MULTIPOINT、MULTILINESTRING、または MULTIPOLYGON サブタイプのいずれかの場合に true を返します。

    Hologres V1.3 の HQE

    ST_IsEmpty

    ST_IsEmpty(geom)

    BOOLEAN

    この関数は、入力ジオメトリが空の場合に true を返します。ジオメトリに点が含まれていない場合、ジオメトリは空です。

    Hologres V1.3 の HQE

    ST_IspolyGonCW

    ST_IsPolygonCCW(geom)

    BOOLEAN

    この関数は、入力ポリゴンが反時計回りの場合に true を返します。この関数は、入力ジオメトリが点、ラインストリング、マルチポイント、またはマルチラインストリングの場合に true を返します。この関数は、入力ジオメトリコレクションのすべてのジオメトリが反時計回りの場合に true を返します。

    Hologres V1.3 の HQE

    ST_IsSimple

    ST_IsSimple(geom)

    BOOLEAN

    この関数は、入力ジオメトリが単純な場合に true を返します。

    Hologres V1.3 の HQE

    ST_NPoints

    ST_NPoints(geom)

    INTEGER

    この関数は、入力ジオメトリの点の数を返します。

    Hologres V1.3 の HQE

    ST_NRings

    ST_NRings(geom)

    INTEGER

    この関数は、入力ジオメトリのリングの数を返します。

    Hologres V1.3 の HQE

    ST_NumGeometries

    ST_NumGeometries(geom)

    INTEGER

    この関数は、入力ジオメトリコレクションのジオメトリの数を返します。

    Hologres V1.3 の HQE

    ST_NumInteriorRings

    ST_NumInteriorRings(geom)

    INTEGER

    この関数は、入力ポリゴンのリングの数を返します。

    Hologres V1.3 の HQE

    ST_NumPoints

    ST_NumPoints(geom)

    INTEGER

    この関数は、入力ジオメトリの点の数を返します。

    Hologres V1.3 の HQE

    ST_PointN

    ST_PointN(geom, index)

    POINT サブタイプのジオメトリ

    この関数は、インデックス値で指定されたラインストリングの点を返します。負のインデックス値は、ラインストリングの末尾から逆算されるため、-1 は最後の点を示します。

    Hologres V1.3 の HQE

    ST_Points

    ST_Points(geom)

    MULTIPOINT サブタイプのジオメトリ

    この関数は、入力ジオメトリのすべての空でない点を含むマルチポイントジオメトリを返します。この関数は、リングジオメトリの始点と終点を含む、入力ジオメトリの重複点を削除しません。

    Hologres V1.3 の HQE

    ST_StartPoint

    ST_StartPoint(geom)

    GEOMETRY

    この関数は、入力ラインストリングの最初の点を返します。返されるジオメトリの SRID は、入力ジオメトリの SRID と同じです。

    Hologres V1.3 の HQE

    ST_X

    ST_X(point)

    DOUBLE

    この関数は、入力点の X 座標を返します。

    Hologres V1.3 の HQE

    ST_Y

    ST_Y(point)

    DOUBLE

    この関数は、入力点の Y 座標を返します。

    Hologres V1.3 の HQE

  • ジオメトリエディター

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_AddPoint

    ST_AddPoint(geom1, geom2)

    GEOMETRY

    この関数は、点が付加された入力ジオメトリと同じラインストリングを返します。

    Hologres V1.3 の HQE

    ST_Multi

    ST_Multi(geom)

    MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、または GEOMETRYCOLLECTION サブタイプのジオメトリ

    この関数は、ジオメトリを対応するマルチタイプに変換します。入力ジオメトリがマルチタイプまたはジオメトリコレクションの場合、入力ジオメトリのコピーが返されます。入力ジオメトリが点、ラインストリング、またはポリゴンの場合、入力ジオメトリを含むマルチポイント、マルチラインストリング、またはマルチポリゴンが返されます。

    Hologres V1.3 の HQE

    ST_RemovePoint

    ST_RemovePoint(geom, index)

    GEOMETRY

    この関数は、インデックス位置にある入力ジオメトリの点が削除されたラインストリングを返します。インデックスはゼロベースです。返されるジオメトリの SRID は、入力ジオメトリの SRID と同じです。

    Hologres V1.3 の HQE

    ST_Reverse

    ST_Reverse(geom)

    GEOMETRY

    この関数は、線形または面ジオメトリの頂点の順序を反転します。点またはマルチポイントの場合、入力ジオメトリのコピーが返されます。ジオメトリコレクションの場合、この関数はコレクション内の各ジオメトリの頂点の順序を反転します。

    Hologres V1.3 の HQE

    ST_setPoint

    ST_SetPoint(geom1, index, geom2)

    GEOMETRY

    この関数は、インデックス値で指定された点が新しい座標で置き換えられた入力ラインストリングと同じラインストリングを返します。新しい座標は、入力点の座標です。

    Hologres V1.3 の HQE

  • ジオメトリ検証関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_IsValid

    ST_IsValid(geom)

    BOOLEAN

    この関数は、入力ジオメトリが有効な場合に true を返します。

    説明

    この関数は PQE でサポートされています。

    PQE

  • 空間参照系関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_SetSRID

    ST_SetSRID(geom, srid)

    GEOMETRY

    この関数は、入力ジオメトリと同じジオメトリを返しますが、返されるジオメトリは入力ジオメトリの SRID を使用して更新されます。

    Hologres V1.3 の HQE

    ST_SRID

    ST_SRID(geom)

    INTEGER

    この関数は、入力ジオメトリの SRID を返します。

    Hologres V1.3 の HQE

  • ジオメトリ入力関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_GeomFromText

    • ST_GeomFromText(wkt_string)

    • ST_GeomFromText(wkt_string, srid)

    ジオメトリ

    この関数は、入力ジオメトリの well-known text(WKT)表現からジオメトリオブジェクトを構築します。

    説明

    PQE

    PQE

  • ジオメトリ出力関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_AsBinary

    ST_AsBinary(geom)

    BYTEA

    この関数は、ASCII 文字 0 ~ 9 および A ~ F を使用して、入力ジオメトリの 16 進数の well-known binary(WKB)表現を返します。

    Hologres V1.3 の HQE

    ST_AsEWKB

    ST_AsEWKB(geom)

    BYTEA

    この関数は、ASCII 文字 0 ~ 9 および A ~ F を使用して、入力ジオメトリの extended well-known binary(EWKB)表現を返します。

    Hologres V1.3 の HQE

    ST_AsEWKT

    ST_AsEWKT(geom)

    VARCHAR

    この関数は、入力ジオメトリの extended well-know text(EWKT)表現を返します。

    Hologres V1.3 の HQE

    ST_AsGeoJSON

    ST_AsGeoJSON(geom)ST_AsGeoJSON(geom, precision)

    VARCHAR

    この関数は、入力ジオメトリの GeoJSON 表現を返します。GeoJSON の詳細については、Wikipedia の GeoJSON ページをご覧ください。

    Hologres V1.3 の HQE

    ST_AsText

    ST_AsText(geom)ST_AsText(geom, precision)

    VARCHAR

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

    Hologres V1.3 の HQE

  • 空間関係関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_Contains

    ST_Contains(geom1, geom2)

    BOOLEAN

    この関数は、最初の入力ジオメトリに 2 番目の入力ジオメトリが含まれている場合に true を返します。ジオメトリ A にジオメトリ B が含まれるのは、B の各点が A の点であり、それらの内部に空でない交差がある場合です。ST_Contains(A, B) は ST_Within(B, A) と同等です。

    説明

    PQE

    PQE

    ST_ContainsProperly

    ST_ContainsProperly(geom1, geom2)

    BOOLEAN

    この関数は、2 つの入力ジオメトリが空ではなく、2 番目のジオメトリのすべての点が最初のジオメトリの内部にある場合に true を返します。

    説明

    PQE

    PQE

    ST_CoveredBy

    ST_CoveredBy(geom1, geom2)

    BOOLEAN

    この関数は、最初の入力ジオメトリが 2 番目の入力ジオメトリで覆われている場合に true を返します。ジオメトリ A がジオメトリ B で覆われているのは、両方が空ではなく、A の各点が B の点である場合です。ST_CoveredBy(A, B) は ST_Covers(B, A) と同等です。

    説明

    PQE

    PQE

    ST_Covers

    ST_Covers(geom1, geom2)

    BOOLEAN

    この関数は、最初の入力ジオメトリが 2 番目の入力ジオメトリを覆っている場合に true を返します。ジオメトリ A がジオメトリ B を覆っているのは、両方が空ではなく、B の各点が A の点である場合です。ST_Covers(A, B) は ST_CoveredBy(B, A) と同等です。

    説明

    PQE

    PQE

    ST_Crosses

    ST_Crosses(geom1, geom2)

    BOOLEAN

    この関数は、2 つの入力ジオメトリが交差している場合に true を返します。

    N/A

    ST_Disjoint

    ST_Disjoint(geom1, geom2)

    BOOLEAN

    この関数は、2 つの入力ジオメトリに共通点がな場合に true を返します。

    N/A

    ST_DWithin

    ST_DWithin(geom1, geom2, threshold)

    BOOLEAN

    この関数は、2 つの入力ジオメトリ間のユークリッド距離がしきい値を超えない場合に true を返します。

    説明

    PQE

    PQE

    ST_DWithin_S2

    ST_DWithin_S2(x1, y1, x2, y2, threshold)

    BOOLEAN

    この関数は、2 つの地理的位置間の球面距離がしきい値(単位:メートル)で指定された値以下の場合に true を返します。

    入力パラメーターは、位置 1 の経度と緯度、位置 2 の経度と緯度、および球面距離のしきい値の順です。

    説明

    この関数は Hologres V2.0.8 でサポートされています。入力値を定数にすることはできません。

    HQE

    ST_Equals

    ST_Equals(geom1, geom2)

    BOOLEAN

    この関数は、2 つの入力ジオメトリが幾何学的に等しい場合に true を返します。ジオメトリが幾何学的に等しいのは、点集合が等しく、内部に空でない交差がある場合です。

    PQE

    ST_Intersects

    ST_Intersects(geom1, geom2)

    BOOLEAN

    この関数は、2 つの入力ジオメトリに少なくとも 1 つの共通点がある場合に true を返します。

    説明

    PQE

    PQE

    ST_Touches

    ST_Touches(geom1, geom2)

    BOOLEAN

    この関数は、2 つの入力ジオメトリが接している場合に true を返します。2 つのジオメトリが接しているのは、空ではなく、交差していて、共通の内部点がない場合です。

    PQE

    ST_Within

    ST_Within(geom1, geom2)

    BOOLEAN

    この関数は、最初の入力ジオメトリが 2 番目の入力ジオメトリ内にある場合に true を返します。ジオメトリ A がジオメトリ B 内にあるのは、A の各点が B の点であり、それらの内部に空でない交差がある場合です。ST_Within(A, B) は ST_Contains(B, A) と同等です。

    説明

    PQE

    PQE

  • 測定関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_Angle

    • ST_Angle(geom1, geom2, geom3)

    • ST_Angle(geom1, geom2, geom3, geom4)

    DOUBLE

    この関数は、時計回りに測定された点の間の角度をラジアン単位で返します。戻り値はラジアン単位で、[0, 2π) の範囲です。例:

    • 3 つの点が指定されている場合、返される角度は、P1 から P2 を中心に P3 まで時計回りに回転することによって測定されます。

    • 4 つの点が指定されている場合、返される角度は、有向線 P1-P2 と P3-P4 によって時計回りに形成されます。P1 が P2 に等しいか、または P3 が P4 に等しい 2 本の平行線が指定されている場合、null が返されます。

    PQE

    ST_Area

    ST_Area(geom)

    DOUBLE

    この関数は、入力ジオメトリのデカルト面積を返します。面積の単位は、入力ジオメトリの座標が表される単位と同じです。点、ラインストリング、マルチポイント、およびマルチラインストリングの場合、0 が返されます。ジオメトリコレクションの場合、コレクション内のすべてのジオメトリの面積の合計が返されます。

    Hologres V1.3 の HQE

    ST_Azimuth

    ST_Azimuth(point1, point2)

    DOUBLE

    この関数は、2 つの入力点によって定義される北を基準としたデカルト方位を返します。

    Hologres V1.3 の HQE

    ST_Distance

    ST_Distance(geom1, geom2)

    DOUBLE

    この関数は、2 つの入力ジオメトリ値の間の球中心角を返します。

    Hologres V1.3 の HQE

    ST_Distance_Sphere_S2

    ST_Distance_Sphere_S2(x1, y1, x2, y2)

    DOUBLE

    この関数は、2 つの地理的位置間の球面距離を返します。単位:メートル。

    入力パラメーターは、位置 1 の経度と緯度、および位置 2 の経度と緯度の順です。緯度の有効な値:[-90,+90]。経度の有効な値:[-180,+180]。

    説明

    この関数は Hologres V2.0.8 でサポートされています。入力値を定数にすることはできません。

    HQE

    ST_Length

    ST_Length(geom)

    DOUBLE

    この関数は、入力線形ジオメトリのデカルト長を返します。長さの単位は、入力ジオメトリの座標が表される単位と同じです。この関数は、点、マルチポイント、および面ジオメトリに対して 0 を返します。入力がジオメトリコレクションの場合、この関数はコレクション内のジオメトリの全長を返します。

    Hologres V1.3 の HQE

    ST_Perimeter

    ST_Perimeter(geom)

    DOUBLE

    この関数は、入力面ジオメトリのデカルト周囲を返します。これは、その境界の長さを示します。周囲の単位は、入力ジオメトリの座標が表される単位と同じです。この関数は、点、マルチポイント、および線形ジオメトリに対して 0 を返します。入力がジオメトリコレクションの場合、この関数はコレクション内のジオメトリの周囲の合計を返します。

    Hologres V1.3 の HQE

  • オーバーレイ関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_Intersection

    ST_Intersection(geom1, geom2)

    GEOMETRY

    この関数は、2 つの入力ジオメトリ間の交差を返します。

    Hologres V1.3 の HQE

  • ジオメトリ処理関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_Buffer

    ST_Buffer(geography,float8)

    GEOMETRY

    この関数は、ジオメトリからバッファーまでの距離を返します。

    説明

    PQE

    PQE

    ST_Convexhull

    ST_ConvexHull(geom)

    GEOMETRY

    この関数は、入力ジオメトリの空でない点の凸包を表すジオメトリを返します。

    Hologres V1.3 の HQE

    ST_Simplify

    ST_Simplify(geom, tolerance)

    GEOMETRY

    この関数は、指定された許容誤差で Ramer-Douglas-Peucker アルゴリズムを使用して、入力ジオメトリの簡略化されたコピーを返します。入力ジオメトリのトポロジは保持されない場合があります。Ramer-Douglas-Peucker アルゴリズムの詳細については、Wikipedia の Ramer-Douglas-Peucker ページをご覧ください。

    Hologres V1.3 の HQE

  • 境界ボックス関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_XMax

    ST_XMax(geom)

    DOUBLE

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

    説明

    PQE

    PQE

    ST_XMin

    ST_XMin(geom)

    DOUBLE

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

    説明

    PQE

    PQE

    ST_YMax

    ST_YMax(geom)

    DOUBLE

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

    説明

    PQE

    PQE

    ST_YMin

    ST_YMin(geom)

    DOUBLE

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

    説明

    PQE

    PQE

  • 線形参照関数

    関数

    構文

    戻り値の型

    説明

    必要なエンジン

    ST_LineInterpolatePoint

    ST_LineInterpolatePoint(geom, fraction)

    POINT サブタイプのジオメトリ

    この関数は、補間点を返します。これは、線の始点からの分数距離にある線上の点です。

    Hologres V1.3 の HQE

空間関数を使用するためのベストプラクティス

Alibaba Cloud は、空間関数を使用するためのベストプラクティスを提供しています。詳細については、「空間関数を使用してデータをクエリする」をご参照ください。