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 データ型」をご参照ください。
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 公式ドキュメント」をご参照ください。
テーブルにデータを挿入します。
次のいずれかのステートメントを使用して、テーブルにデータを挿入できます。空間関数の使用方法の詳細については、「空間関数」をご参照ください。 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));
データをクエリします。
テーブルを作成してデータを追加した後、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 は、空間関数を使用するためのベストプラクティスを提供しています。詳細については、「空間関数を使用してデータをクエリする」をご参照ください。