全部產品
Search
文件中心

Hologres:PostGIS空間函數

更新時間:Dec 03, 2024

PostGIS是資料庫PostgreSQL的空間擴充,PostGIS可以提供空間對象、空間索引、空間操作函數和空間操作符等空間資訊服務功能。本文為您介紹PostGIS在Hologres中的使用方法。

使用限制

  • 不支援將Geometry、Geography兩種資料類型作為主鍵(Primary Key)約束。

  • 不支援PostGIS索引。

  • Hologres從 V1.3版本開始,大部分函數已通過Hologres自研引擎HQE支援,提供更好的效能;如果執行個體版本低於V1.3,將會使用PQE引擎支援,但效能稍弱。

安裝PostGIS

在使用PostGIS之前,需要Superuser在DB內執行以下語句安裝擴充包才可以正常使用。一個DB只需執行一次即可,如果建立新的DB,還需要再次執行如下語句。

-- 載入PostGIS外掛程式
CREATE EXTENSION if not exists postgis;
說明

不支援將postgis extension建立在pg_catalog schema下。

在安裝完成後,您可以執行如下SQL語句查看當前PostGIS版本。Hologres中目前使用的PostGIS版本是3.0.0。

SELECT postgis_full_version();

若不再使用PostGIS,您可執行如下命令卸載PostGIS外掛程式。

DROP EXTENSION postgis;
重要

不推薦使用DROP EXTENSION <extension_name> CASCADE;命令級聯卸載Extension。CASCADE(級聯)刪除命令不僅會刪除指定擴充本身,還會一併清除擴充資料(例如PostGIS資料、RoaringBitmap資料、Proxima資料、Binlog資料、BSI資料等)以及依賴該擴充的對象(包括中繼資料、表、視圖、Server資料等)。

建立並查詢包含空間資料類型的表

目前在Hologres中使用PostGIS,支援兩類空間資料類型,即幾何類型(Geometry Type)和地理類型(Geography Type)。

在實際使用過程中,幾何類型(Geometry Type)是使用較頻繁的類型,如下內容將以幾何類型為例,指導您建立包含Geometry資料類型的表並進行典型空間查詢。更多關於地理類型(Geography Type)的參數和使用說明,請參見PostGIS Geography Type

  1. 建立包含Geometry資料類型的表

    說明

    建立包含幾何類型的表時,您可以指定建立的幾何體類型。包括Point、MultiPoint、Linestring、MultiLinestring、Polygon、MultiPolygon等。

    • 建立不指定幾何類型的表。

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

      以上樣本中,建立了包含幾何類型的表,但是該表中不指定具體的幾何類型。

    • 建立指定幾何體類型和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. 執行資料查詢

    您可以在建立表並插入資料後,執行矩形範圍查詢和多邊形相交判定兩種典型情境的查詢。如下樣本中,更多關於空間函數的使用說明,請參見空間函數

    • 矩形範圍查詢

      • 不指定SRID值。

        select st_astext(geom) from holo_gis_1
        where ST_Contains(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), geom);
      • 指定SRID值。

        select st_astext(geom) from holo_gis_2 
        where ST_Contains(ST_SetSRID(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), 4326), geom);
    • 多邊形相交判定(在內部或在邊界上)

      • 不指定SRID值。

        select st_astext(geom) from holo_gis_1
        where ST_Contains(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), geom);
      • 指定SRID值。

        select st_astext(geom) from holo_gis_2 
        where ST_Contains(ST_SetSRID(ST_MakeBox2D(ST_Point(116, 39),ST_Point(117, 40)), 4326), geom);

空間函數

PostGIS為您提供了一些空間函數, 每種函數可以將一種資料類型的值轉換為另一種類型。空間函數說明具體見下表,關於函數文法,部分參數說明如下:

  • geom:表格中涉及的geom均表示一個GEOMETRY類型的值,或一個計算結果為GEOMETRY類型的運算式。

  • precision:表格中涉及的precision均表示一個INTEGER類型的值。座標系geom將使用指定的精度1~20顯示。如果未指定精度,則預設值為15。

  • index:表格中涉及的index為索引,均表示一個INTEGER類型的值。

  • srid:表格中涉及srid均表示一個INTEGER類型的值,它是空間參考標識符SRID。

更多關於空間函數的說明,請參見PostGIS官方文檔

  • Geometry Constructors函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_LineFromMultiPoint

    ST_LineFromMultiPoint(geom)

    GEOMETRY

    ST_LineFromMultiPoint 返回輸入多點幾何體中的串線。點的順序將保留。返回的幾何體的空間參考系統標識符(SRID)與輸入幾何體的相同。

    V1.3版本HQE支援。

    ST_MakeEnvelope

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

    GEOMETRY子類型的EMR叢集POINT、LINESTRING或者POLYGON。

    ST_MakeEnvelope 包絡返回一個幾何,如下所示:如果輸入座標指定一個點,則返回的幾何體是一個點。如果輸入座標指定一條線,則返回的幾何為串線。否則,返回的幾何為面,其中輸入座標指定框的左下角和右上方。如果提供,返回的幾何體的空間參考系統標識符(SRID)值將設定為輸入 SRID 值。

    V1.3版本HQE支援。

    ST_MakeLine

    ST_MakeLine(geom1, geom2)

    子類型 LINESTRING的GEOMETRY。

    ST_MakeLine從輸入幾何體建立串線。

    V1.3版本HQE支援。

    ST_MakePoint

    ST_MakePoint(x, y)

    子類型POINT的 GEOMETRY。

    ST_MakePoint返回其座標值為輸入值的點幾何體。

    V1.3版本HQE支援。

    ST_Point

    ST_Point(x, y)

    子類型POINT的 GEOMETRY。

    ST_Point從輸入座標值返回點幾何體。

    V1.3版本HQE支援。

    ST_Polygon

    ST_Polygon(linestring, srid)

    子類型POLYGON的GEOMETRY。

    ST_Polygon返回一個多邊形幾何體,其外部環形是輸入串線,其值是空間參考系統標識符(SRID)的輸入值。

    V1.3版本HQE支援。

  • Geometry Accessors函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    GeometryType

    GeometryType(geom)

    VARCHAR

    GeometryType以字串形式返回輸入幾何體的子類型。

    V1.3版本HQE支援。

    ST_Boundary

    ST_Boundary(geom)

    GEOMETRY

    ST_Boundary返回輸入幾何體的邊界,如下所示:如果輸入幾何為空白(即不包含點),則按原樣返回。如果輸入幾何是點或非空多點,則返回空幾何集合。如果輸入是串線或多串線,則返回包含邊界上所有點的多點,多點可能為空白。如果輸入是一個沒有任何內環的面,則返回一個表示其邊界的閉合串線。如果輸入是具有內環的面,或者是多面,則返回多串線。多串線包含面積幾何中所有環的所有邊界作為閉合串線。

    V1.3版本HQE支援。

    ST_Dimension

    ST_Dimension(geom)

    INTEGER

    ST_Dimension 返回輸入幾何體的固有維度。固有維度是幾何體中定義的子類型的維度值。

    V1.3版本HQE支援。

    ST_Envelope

    ST_Envelope(geom)

    GEOMETRY

    ST_Envelope 返回輸入幾何體的最小邊界框,如下所示:如果輸入幾何體為空白,則返回的幾何體是輸入幾何體的副本。如果輸入幾何體的最小邊界框退化為一個點,則返回的幾何體是一個點。如果輸入幾何體的最小邊界框是一維的,則返回兩點串線。如果上述條件都不成立,則函數將返回一個順時針方向的多邊形,其頂點為最小邊界框的角。返回的幾何體的空間參考系統標識符(SRID)與輸入幾何體的相同。

    V1.3版本HQE支援。

    ST_ExteriorRing

    ST_ExteriorRing(geom)

    子類型 LINESTRING的GEOMETRY。

    ST_ExteriorRing返回一個表示輸入面外環的閉合串線。

    V1.3版本HQE支援。

    ST_GeometryN

    ST_GeometryN(geom, index)

    GEOMETRY

    ST_GeometryN返回由輸入幾何體的輸入索引指向的幾何體,如下所示:當輸入是點、串線或多邊形時,如果索引等於一 (1),則按原樣返回幾何體;如果索引不是一 (1),則返回 null。如果輸入是多點、多串線、多邊形或幾何體集合,則返回由輸入索引指向的點、串線、多邊形或幾何體集合。索引是從 1 開始的。結果的空間參考系統標識符 (SRID) 與輸入幾何體的相同。

    V1.3版本HQE支援。

    ST_GeometryType

    ST_GeometryType(geom)

    VARCHAR

    ST_GeometryType以字串形式返回輸入幾何體的子類型。

    V1.3版本HQE支援。

    ST_InteriorRingN

    ST_InteriorRingN(geom, index)

    子類型LINESTRING的GEOMETRY。

    ST_InteriorRingN返回與索引位置處輸入多邊形的內環相對應的閉合串線。

    V1.3版本HQE支援。

    ST_IsClosed

    ST_IsClosed(geom)

    BOOLEAN

    如果輸入幾何體已閉合,則 ST_IsClosed 返回 true。以下規則定義閉合的幾何體:輸入的幾何體是一個點或一個多點。輸入幾何體是一個串線,並且該串線的起點和終點是重合的。輸入幾何體是一個非空的多串線,並且其所有串線均已閉合。輸入幾何體是一個非空多邊形,所有多邊形的環都是非空的,並且所有環的起點和終點都是重合的。輸入幾何體是一個非空的多邊形集合,並且其所有多邊形均已閉合。輸入幾何體是一個非空幾何體集合,並且其所有組件均已閉合。

    V1.3版本HQE支援。

    ST_IsCollection

    ST_IsCollection(geom)

    BOOLEAN

    如果輸入幾何體為下列子類型之一,則 ST_IsCollection返回true:GEOMETRYCOLLECTION、MULTIPOINT、MULTILINESTRING或者MULTIPOLYGON。

    V1.3版本HQE支援。

    ST_IsEmpty

    ST_IsEmpty(geom)

    BOOLEAN

    如果輸入幾何體是空的,則ST_IsEmpty返回true。如果一個幾何體不包含點,則該幾何體為空白。

    V1.3版本HQE支援。

    ST_IspolyGonCW

    ST_IsPolygonCCW(geom)

    BOOLEAN

    如果輸入多邊形是逆時針的,則ST_IspolyGonCW返回true。如果輸入幾何是點、串線、多點或多串線,則返回true。對於幾何體集合,如果集合中的所有幾何體均為逆時針方向,ST_IspolygonCW將返回true。

    V1.3版本HQE支援。

    ST_IsSimple

    ST_IsSimple(geom)

    BOOLEAN

    如果輸入幾何體是簡單的,則ST_IsSimple返回 true。

    V1.3版本HQE支援。

    ST_NPoints

    ST_NPoints(geom)

    INTEGER

    ST_NPoints 返回輸入幾何體中的點數。

    V1.3版本HQE支援。

    ST_NRings

    ST_NRings(geom)

    INTEGER

    ST_NRings 返回輸入幾何體中的環形數。

    V1.3版本HQE支援。

    ST_NumGeometries

    ST_NumGeometries(geom)

    INTEGER

    ST_NumGeometries返回輸入幾何體中的幾何體數。

    V1.3版本HQE支援。

    ST_NumInteriorRings

    ST_NumInteriorRings(geom)

    INTEGER

    ST_NumInteriorRings返回輸入多邊形幾何體中的環形數。

    V1.3版本HQE支援。

    ST_NumPoints

    ST_NumPoints(geom)

    INTEGER

    ST_NumPoints返回輸入幾何體中的點數。

    V1.3版本HQE支援。

    ST_PointN

    ST_PointN(geom, index)

    子類型POINT的 GEOMETRY。

    ST_PointN返回由索引值指定的串線中的點。負索引值從串線的末尾開始倒計數,因此-1是最後一個點。

    V1.3版本HQE支援。

    ST_Points

    ST_Points(geom)

    子類型MULTIPOINT的 GEOMETRY。

    ST_Points返回包含輸入幾何中所有非空點的多點幾何。ST_Points不會移除輸入中重複的點,包括環形幾何的起點和終點。

    V1.3版本HQE支援。

    ST_StartPoint

    ST_StartPoint(geom)

    GEOMETRY

    ST_StartPoint返回輸入串線的第一個點。結果的空間參考系統標識符(SRID)值與輸入幾何體的相同。

    V1.3版本HQE支援。

    ST_X

    ST_X(point)

    DOUBLE

    ST_X返回輸入焦點的第一個座標。

    V1.3版本HQE支援。

    ST_Y

    ST_Y(point)

    DOUBLE

    ST_Y返回輸入焦點的第二個座標。

    V1.3版本HQE支援。

  • Geometry Editors函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_AddPoint

    ST_AddPoint(geom1, geom2)

    GEOMETRY

    ST_AddPoint返回一個串線幾何體,它與添加了點的輸入幾何體相同。

    V1.3版本HQE支援。

    ST_Multi

    ST_Multi(geom)

    GEOMETRY帶子類型MULTIPOINT、MULTILINESTRING、MULTIPOLYGON或者GEOMETRYCOLLECTION。

    ST_multi將幾何轉換為相應的多類型。如果輸入幾何已經是多類型或幾何集合,則返回其副本。如果輸入幾何體是點、串線或多邊形,則分別返回包含輸入幾何體的多點、多串線或多邊形。

    V1.3版本HQE支援。

    ST_RemovePoint

    ST_RemovePoint(geom, index)

    GEOMETRY

    ST_RemovePoint返回一個串線幾何體,該幾何體已刪除輸入幾何體在索引位置的點。索引是從零開始的。結果的空間參考系統標識符 (SRID) 與輸入幾何體的相同。

    V1.3版本HQE支援。

    ST_Reverse

    ST_Reverse(geom)

    GEOMETRY

    ST_Reverse可反轉線性和面積幾何的折點順序。對於點或多點幾何,將返回原始幾何的副本。對於幾何體集合,ST_Reverse將反轉集合中每個幾何體的折點順序。

    V1.3版本HQE支援。

    ST_setPoint

    ST_SetPoint(geom1, index, geom2)

    GEOMETRY

    ST_setPoint返回與索引指定的輸入串線位置相對於輸入串線位置的更新座標的串線。新座標是輸入焦點的座標。

    V1.3版本HQE支援。

  • Geometry Validation函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_IsValid

    ST_IsValid(geom)

    BOOLEAN

    如果輸入幾何體有效,則ST_IsVALID返回true。

    說明

    通過PQE支援。

    PQE

  • Spatial Reference System函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_SetSRID

    ST_SetSRID(geom, srid)

    GEOMETRY

    ST_SetSRID返回一個與輸入幾何體相同的幾何體,只不過使用空間參考系統標識符(SRID)的輸入值進行了更新。

    V1.3版本HQE支援。

    ST_SRID

    ST_SRID(geom)

    INTEGER

    ST_SRID返回輸入幾何體的空間參考系統標識符(SRID)。

    V1.3版本HQE支援。

  • Geometry Input函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_GeomFromText

    • ST_GeomFromText(wkt_string)

    • ST_GeomFromText(wkt_string, srid)

    GEOMETRY。

    ST_GeomFromText從輸入幾何體的已知文本(WKT)表示形式構造幾何體對象。

    說明

    通過PQE支援。

    PQE

  • Geometry Output函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_AsBinary

    ST_AsBinary(geom)

    BYTEA

    ST_AsBinary 使用 ASCII 十六進位字元(0—9,A—F)返回輸入幾何體的十六進位已知二進位 (WKB) 表示形式。

    V1.3版本HQE支援。

    ST_AsEWKB

    ST_AsEWKB(geom)

    BYTEA

    ST_AsEWKB 使用 ASCII 十六進位字元(0—9,A—F)返回輸入幾何體的擴充的已知二進位 (EWKB) 表示形式。

    V1.3版本HQE支援。

    ST_AsEWKT

    ST_AsEWKT(geom)

    VARCHAR

    ST_AsEWKT 返回輸入幾何體的擴充的已知文本 (EWKT) 表示形式。

    V1.3版本HQE支援。

    ST_AsGeoJSON

    ST_AsGeoJSON(geom)ST_AsGeoJSON(geom, precision)

    VARCHAR

    ST_AsGeoJSON 返回輸入幾何體的 GeoJSON 表示形式。有關 GeoJSON 的更多資訊,請參閱 Wikipedia 中的 GeoJSON。

    V1.3版本HQE支援。

    ST_AsText

    ST_AsText(geom)ST_AsText(geom, precision)

    VARCHAR

    ST_AsText 返回輸入幾何體的已知文本 (WKT) 表示形式。

    V1.3版本HQE支援。

  • Spatial Relationships函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_Contains

    ST_Contains(geom1, geom2)

    BOOLEAN

    如果第一個輸入幾何體包含第二個輸入幾何體,則 ST_Contains 返回 true。如果 B 中的每個點均為 A 中的一個點,並且其內部有非空相交地區,則幾何體 A 包含幾何體 B。ST_Contains(A, B) 與 ST_Within(B, A) 等效。

    說明

    通過PQE支援。

    PQE

    ST_ContainsProperly

    ST_ContainsProperly(geom1, geom2)

    BOOLEAN

    如果兩個輸入幾何都是非空的,並且第二個幾何的所有點都是第一個幾何的內部點,則 ST_ContainsProperly 返回 true。

    說明

    通過PQE支援。

    PQE

    ST_CoveredBy

    ST_CoveredBy(geom1, geom2)

    BOOLEAN

    如果第一個輸入幾何體被第二個輸入幾何體覆蓋,則 ST_CoveredBy 返回 true。如果幾何體 A 和幾何體 B 都是非空的,並且 A 中的每個點均為 B 中的一個點,則前者被後者覆蓋。ST_CoveredBy(A, B) 與 ST_Covers(B, A) 等效。

    說明

    通過PQE支援。

    PQE

    ST_Covers

    ST_Covers(geom1, geom2)

    BOOLEAN

    如果第一個輸入幾何體被第二個輸入幾何體覆蓋,則 ST_Covers 返回 true。如果幾何體 A 和幾何體 B 都是非空的,並且 B 中的每個點均為 A 中的一個點,則前者覆蓋了後者。ST_Covers(A, B) 與 ST_CoveredBy(B, A) 等效。

    說明

    通過PQE支援。

    PQE

    ST_Crosses

    ST_Crosses(geom1, geom2)

    BOOLEAN

    如果兩個輸入幾何體相互交叉,則 ST_Crosses返回 true。

    不涉及

    ST_Disjoint

    ST_Disjoint(geom1, geom2)

    BOOLEAN

    如果兩個輸入幾何體沒有共同點,則 ST_Disjoint 返回 true。

    不涉及

    ST_DWithin

    ST_DWithin(geom1, geom2, threshold)

    BOOLEAN

    如果兩個輸入幾何體值之間的歐氏距離不大於閾值,則 ST_DWithin 返回 true。

    說明

    通過PQE支援。

    PQE

    ST_DWithin_S2

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

    BOOLEAN

    如果兩個地理位置之間的球面距離不大於閾值threshold(單位:米),則ST_DWithin_S2返回true

    入參依次為位置1的經度和緯度、位置2的經度和緯度、距離閾值。

    說明

    Hologres V2.0.8版本支援,暫不支援常量查詢。

    HQE

    ST_Equals

    ST_Equals(geom1, geom2)

    BOOLEAN

    如果輸入幾何體在幾何上相等,則 ST_Equals 返回 true。如果幾何體具有相等的點集且其內部具有非空相交地區,則將幾何體視為在幾何上相等。

    PQE

    ST_Intersects

    ST_Intersects(geom1, geom2)

    BOOLEAN

    如果兩個輸入幾何體至少有一個共同點,則 ST_Intersects 返回 true。

    說明

    通過PQE支援。

    PQE

    ST_Touches

    ST_Touches(geom1, geom2)

    BOOLEAN

    如果兩個輸入幾何體接觸,則 ST_Touches 返回 true。如果兩個幾何體是非空的、相交並且沒有共同的內部點,則它們是接觸的。

    PQE

    ST_Within

    ST_Within(geom1, geom2)

    BOOLEAN

    如果第一個輸入幾何體在第二個輸入幾何體中,則 ST_Within 返回 true。例如,如果幾何體 A 中的每個點均為幾何體 B 中的一個點,並且其內部有非空相交地區,則幾何體 A 在幾何體 B 中。ST_Within(A, B) 與 ST_Contains(B, A) 等效。

    說明

    通過PQE支援。

    PQE

  • Measurement函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_Angle

    • ST_Angle(geom1, geom2, geom3)

    • ST_Angle(geom1, geom2, geom3, geom4)

    DOUBLE

    ST_Angle返回順時針方向測量的點之間的角度(傳回值以弧度為單位且在 [0, 2π) 範圍內)。例如:

    • 如果輸入三個點,則測量P1P2P3三個點順時針組成的角度。

    • 如果輸入四個點,則測量有向線P1P2和P3P4順時針形成的角度。如果輸入為兩條線平行(即,P1等於P2,或P3等於P4),則返回 null。

    PQE

    ST_Area

    ST_Area(geom)

    DOUBLE

    ST_Area 返回輸入幾何體的笛卡爾面積。面積單位與用於表示輸入幾何體座標的單位相同。對於點、串線、多點和多串線,此函數返回 0。對於幾何體集合,它返回集合中幾何體的面積之和。

    V1.3版本HQE支援。

    ST_Azimuth

    ST_Azimuth(point1, point2)

    DOUBLE

    ST_Azimuth返回兩個輸入焦點的基於北向的笛卡爾方位。

    V1.3版本HQE支援。

    ST_Distance

    ST_Distance(geom1, geom2)

    DOUBLE

    ST_Distance返回兩個輸入幾何體值之間的球心夾角。

    V1.3版本HQE支援。

    ST_Distance_Sphere_S2

    ST_Distance_Sphere_S2(x1, y1, x2, y2)

    DOUBLE

    ST_Distance_Sphere_S2返回兩個地理位置的球面距離(單位:米)。

    入參依次為位置1的經度和緯度、位置2的經度和緯度。經度範圍是[-180度, +180度],緯度範圍是[-90度, +90度]。

    說明

    Hologres V2.0.8版本支援,暫不支援常量查詢。

    HQE

    ST_Length

    ST_Length(geom)

    DOUBLE

    ST_Length返回輸入線性幾何體的笛卡爾長度。長度單位與用於表示輸入幾何體座標的單位相同。對於點、多點和平面幾何體,此函數返回零 (0)。當輸入為幾何體集合時,此函數返回集合中的幾何體長度之和。

    V1.3版本HQE支援。

    ST_Perimeter

    ST_Perimeter(geom)

    DOUBLE

    ST_Perimeter返回輸入平面幾何體的笛卡爾周長(邊界長度)。周長單位與用於表示輸入幾何體座標的單位相同。對於點、多點和線性幾何體,此函數返回零 (0)。當輸入為幾何體集合時,此函數返回集合中的幾何體周長之和。

    V1.3版本HQE支援。

  • Overlay函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_Intersection

    ST_Intersection(geom1, geom2)

    GEOMETRY。

    返回幾何之間的交集。

    V1.3版本HQE支援。

  • Geometry Processing函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_Buffer

    ST_Buffer(geography,float8)

    GEOMETRY

    用於指定與圍繞其計算緩衝區的幾何圖形執行個體的距離。

    說明

    通過PQE支援。

    PQE

    ST_Convexhull

    ST_ConvexHull(geom)

    GEOMETRY

    ST_convexhull 返回一個幾何,該幾何表示輸入幾何中包含的非空點的凸殼。

    V1.3版本HQE支援。

    ST_Simplify

    ST_Simplify(geom, tolerance)

    GEOMETRY

    ST_Simplify中使用帶有給定容差的 Ramer-Douglas-Peucker 演算法返回輸入幾何的簡化副本。輸入幾何的拓撲可能不會保留。有關該演算法的詳細資料,請參閱拉默-道格拉斯-普克演算法在維基百科。

    V1.3版本HQE支援。

  • Bounding Box函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_XMax

    ST_XMax(geom)

    DOUBLE

    ST_XMax返回輸入幾何體的最大的第一個座標。

    說明

    通過PQE支援。

    PQE

    ST_XMin

    ST_XMin(geom)

    DOUBLE

    ST_XMin返回輸入幾何體的最小的第一個座標。

    說明

    通過PQE支援。

    PQE

    ST_YMax

    ST_YMax(geom)

    DOUBLE

    ST_YMax返回輸入幾何體的最大的第二個座標。

    說明

    通過PQE支援。

    PQE

    ST_YMin

    ST_YMin(geom)

    DOUBLE

    ST_YMin返回輸入幾何體的最小的第二個座標。

    說明

    通過PQE支援。

    PQE

  • Linear Referencing函數

    函數

    函數文法

    傳回型別

    說明

    支援的引擎

    ST_LineInterpolatePoint

    ST_LineInterpolatePoint(geom, fraction)

    子類型POINT的GEOMETRY。

    ST_LineInterpolatePoint為插值點,即返回一個距離線起點為小數距離的點。

    V1.3版本HQE支援。

空間函數最佳實務

阿里雲為您提供了空間函數使用方法的最佳實務,詳情請參見使用空間函數查詢資料方法