第 7 章  PostGIS 參考

目錄

以下列出的函數是 PostGIS 使用者可能會需要用到的函數。還有其他函數是 PostGIS 物件的必要支援函數,對一般使用者沒有用處。

[Note]

PostGIS 已開始從現有的命名慣例轉換為以 SQL-MM 為中心的慣例。因此,您所熟悉和喜愛的大部分函數已使用標準空間類型 (ST) 字首重新命名。先前的函數仍然可用,但如果更新的函數等效,則不會在本文件中列出。本文件中未列出的非 ST_ 函數已被棄用,並將在未來版本中移除,因此請停止使用它們。

7.1. PostGIS 幾何/地理/Box 資料類型

摘要

本節列出 PostGIS 安裝的自訂 PostgreSQL 資料類型,用於表示空間資料。

每個資料類型都描述其類型轉換行為。 類型轉換會將一個資料類型的值轉換為另一個類型。 PostgreSQL 允許為自訂類型定義轉換行為,以及用於轉換類型值的函數。轉換可以具有自動行為,這允許自動將函數引數轉換為函數支援的類型。

某些轉換具有明確行為,這表示必須使用語法 CAST(myval As sometype)myval::sometype 來指定轉換。明確轉換避免了不明確轉換的問題,當使用不支援指定類型的多載函數時,可能會發生這種情況。例如,函數可能接受 box2d 或 box3d,但不接受 geometry。由於 geometry 具有自動轉換為兩種 box 類型的功能,這會產生「不明確函數」錯誤。為了防止錯誤,請使用明確轉換為所需的 box 類型。

所有資料類型都可以轉換為 text,因此不需要明確指定。

  • box2d — 表示 2 維邊界框的類型。
  • box3d — 表示 3 維邊界框的類型。
  • geometry — 表示具有平面座標系統的空間要素的類型。
  • geometry_dump — 用於描述複雜幾何形狀各部分的複合類型。
  • geography — 表示具有大地測量(橢球體)座標系統的空間要素的類型。

7.2. 資料表管理函數

摘要

這些函數可協助定義包含幾何資料行的資料表。

7.3. 幾何建構子

  • ST_Collect — 從一組幾何形狀建立 GeometryCollection 或 Multi* 幾何形狀。
  • ST_LineFromMultiPoint — 從 MultiPoint 幾何形狀建立 LineString。
  • ST_MakeEnvelope — 從最小和最大座標建立矩形 Polygon。
  • ST_MakeLine — 從 Point、MultiPoint 或 LineString 幾何形狀建立 LineString。
  • ST_MakePoint — 建立 2D、3DZ 或 4D Point。
  • ST_MakePointM — 從 X、Y 和 M 值建立 Point。
  • ST_MakePolygon — 從外殼和可選的孔洞清單建立 Polygon。
  • ST_Point — 使用 X、Y 和 SRID 值建立 Point。
  • ST_PointZ — 使用 X、Y、Z 和 SRID 值建立 Point。
  • ST_PointM — 使用 X、Y、M 和 SRID 值建立 Point。
  • ST_PointZM — 使用 X、Y、Z、M 和 SRID 值建立 Point。
  • ST_Polygon — 從具有指定 SRID 的 LineString 建立 Polygon。
  • ST_TileEnvelope — 使用 XYZ 圖磚系統在 Web 墨卡托 (SRID:3857) 中建立矩形 Polygon。
  • ST_HexagonGrid — 傳回一組完全覆蓋幾何引數邊界的六邊形和單元格索引。
  • ST_Hexagon — 使用提供的邊緣大小和六邊形格空間內的單元格座標,傳回單個六邊形。
  • ST_SquareGrid — 傳回一組完全覆蓋幾何引數邊界的網格正方形和單元格索引。
  • ST_Square — 使用提供的邊緣大小和正方形格空間內的單元格座標,傳回單個正方形。
  • ST_Letters — 以幾何形狀呈現輸入的字母,預設起始位置為原點,預設文字高度為 100。

7.4. 幾何存取器

  • GeometryType — 以文字形式傳回幾何形狀的類型。
  • ST_Boundary — 傳回幾何形狀的邊界。
  • ST_BoundingDiagonal — 傳回幾何形狀邊界框的對角線。
  • ST_CoordDim — 傳回幾何形狀的座標維度。
  • ST_Dimension — 傳回幾何形狀的拓撲維度。
  • ST_Dump — 傳回幾何形狀元件的一組 geometry_dump 列。
  • ST_DumpPoints — 傳回幾何形狀中座標的一組 geometry_dump 列。
  • ST_DumpSegments — 傳回幾何形狀中線段的一組 geometry_dump 列。
  • ST_DumpRings — 傳回 Polygon 的外部和內部環的一組 geometry_dump 列。
  • ST_EndPoint — 傳回 LineString 或 CircularLineString 的最後一個點。
  • ST_Envelope — 傳回表示幾何形狀邊界框的幾何形狀。
  • ST_ExteriorRing — 傳回表示 Polygon 外環的 LineString。
  • ST_GeometryN — 傳回幾何集合的元素。
  • ST_GeometryType — 以文字形式傳回幾何形狀的 SQL-MM 類型。
  • ST_HasArc — 測試幾何形狀是否包含圓弧
  • ST_InteriorRingN — 傳回 Polygon 的第 N 個內部環(孔洞)。
  • ST_NumCurves — 傳回 CompoundCurve 中元件曲線的數量。
  • ST_CurveN — 傳回 CompoundCurve 的第 N 個元件曲線幾何形狀。
  • ST_IsClosed — 測試 LineStrings 的起點和終點是否重合。對於 PolyhedralSurface,測試它是否封閉(體積)。
  • ST_IsCollection — 測試幾何形狀是否為幾何集合類型。
  • ST_IsEmpty — 測試幾何形狀是否為空。
  • ST_IsPolygonCCW — 測試 Polygon 的外環是否以逆時針方向定向,而內環是否以順時針方向定向。
  • ST_IsPolygonCW — 測試 Polygon 的外環是否以順時針方向定向,而內環是否以逆時針方向定向。
  • ST_IsRing — 測試 LineString 是否封閉且簡單。
  • ST_IsSimple — 測試幾何形狀是否沒有自相交或自相切的點。
  • ST_M — 傳回 Point 的 M 座標。
  • ST_MemSize — 傳回幾何物件所佔用的記憶體空間大小。
  • ST_NDims — 傳回幾何物件的座標維度。
  • ST_NPoints — 傳回幾何物件中的點(頂點)數量。
  • ST_NRings — 傳回多邊形幾何物件中的環數量。
  • ST_NumGeometries — 傳回幾何集合中的元素數量。
  • ST_NumInteriorRings — 傳回多邊形的內部環(孔洞)數量。
  • ST_NumInteriorRing — 傳回多邊形的內部環(孔洞)數量。是 ST_NumInteriorRings 的別名。
  • ST_NumPatches — 傳回多面體表面上的面數。對於非多面體幾何物件,將傳回 null。
  • ST_NumPoints — 傳回線字串或圓弧字串中的點數。
  • ST_PatchN — 傳回多面體表面的第 N 個幾何物件(面)。
  • ST_PointN — 傳回幾何物件中第一個線字串或圓弧線字串的第 N 個點。
  • ST_Points — 傳回一個包含幾何物件座標的多點物件。
  • ST_StartPoint — 傳回線字串的第一個點。
  • ST_Summary — 傳回幾何物件內容的文字摘要。
  • ST_X — 傳回點的 X 座標。
  • ST_Y — 傳回點的 Y 座標。
  • ST_Z — 傳回點的 Z 座標。
  • ST_Zmflag — 傳回指示幾何物件 ZM 座標維度的代碼。
  • ST_HasZ — 檢查幾何物件是否具有 Z 維度。
  • ST_HasM — 檢查幾何物件是否具有 M(度量)維度。

7.5. 幾何編輯器

摘要

這些函數藉由變更類型、結構或頂點來建立修改過的幾何物件。

  • ST_AddPoint — 將點新增至線字串。
  • ST_CollectionExtract — 給定一個幾何集合,傳回僅包含指定類型元素的多幾何物件。
  • ST_CollectionHomogenize — 傳回幾何集合的最簡單表示法。
  • ST_CurveToLine — 將包含曲線的幾何物件轉換為線性幾何物件。
  • ST_Scroll — 變更封閉線字串的起點。
  • ST_FlipCoordinates — 傳回 X 和 Y 軸翻轉的幾何物件版本。
  • ST_Force2D — 將幾何物件強制轉換為「二維模式」。
  • ST_Force3D — 將幾何物件強制轉換為 XYZ 模式。這是 ST_Force3DZ 的別名。
  • ST_Force3DZ — 將幾何物件強制轉換為 XYZ 模式。
  • ST_Force3DM — 將幾何物件強制轉換為 XYM 模式。
  • ST_Force4D — 將幾何物件強制轉換為 XYZM 模式。
  • ST_ForceCollection — 將幾何物件轉換為 GEOMETRYCOLLECTION。
  • ST_ForceCurve — 如果適用,則將幾何物件向上轉換為其曲線類型。
  • ST_ForcePolygonCCW — 將所有外部環定位為逆時針方向,將所有內部環定位為順時針方向。
  • ST_ForcePolygonCW — 將所有外部環定位為順時針方向,將所有內部環定位為逆時針方向。
  • ST_ForceSFS — 強制幾何物件僅使用 SFS 1.1 幾何類型。
  • ST_ForceRHR — 強制多邊形中的頂點方向遵循右手法則。
  • ST_LineExtend — 傳回依指定的距離向前和向後延伸的線。
  • ST_LineToCurve — 將線性幾何物件轉換為曲線幾何物件。
  • ST_Multi — 以 MULTI* 幾何物件傳回幾何物件。
  • ST_Normalize — 以其正規形式傳回幾何物件。
  • ST_Project — 傳回從起點依距離和方位角(方位)投影的點。
  • ST_QuantizeCoordinates — 將座標的最低有效位設定為零。
  • ST_RemovePoint — 從線字串中移除點。
  • ST_RemoveRepeatedPoints — 傳回移除重複點的幾何物件版本。
  • ST_RemoveIrrelevantPointsForView — 移除與特定幾何物件矩形檢視呈現無關的點。
  • ST_RemoveSmallParts — 移除幾何物件的小部分(多邊形環或線字串)。
  • ST_Reverse — 傳回頂點順序反轉的幾何物件。
  • ST_Segmentize — 傳回修改過的幾何/地理物件,使其線段長度不超過給定距離。
  • ST_SetPoint — 以給定的點取代線字串的點。
  • ST_ShiftLongitude — 將幾何物件的經度座標在 -180..180 和 0..360 之間移動。
  • ST_WrapX — 將幾何物件繞 X 值包裹。
  • ST_SnapToGrid — 將輸入幾何物件的所有點對齊規則格線。
  • ST_Snap — 將輸入幾何物件的線段和頂點對齊參考幾何物件的頂點。
  • ST_SwapOrdinates — 傳回交換給定座標值的幾何物件版本。

7.6. 幾何驗證

摘要

這些函數測試幾何物件是否根據 OGC SFS 標準有效。它們還提供有關無效性質和位置的資訊。還有一個函數可以從無效幾何物件建立有效幾何物件。

  • ST_IsValid — 測試 2D 中的幾何物件是否格式正確。
  • ST_IsValidDetail — 傳回一個 valid_detail 列,指出幾何物件是否有效,如果無效,則指出原因和位置。
  • ST_IsValidReason — 傳回文字,指出幾何物件是否有效,或指出無效的原因。
  • ST_MakeValid — 嘗試使無效幾何物件有效,而不會遺失頂點。

7.7. 空間參考系統函數

摘要

這些函數使用幾何物件的空間參考系統,如 spatial_ref_sys 表格中所定義。

  • ST_InverseTransformPipeline — 傳回一個新的幾何物件,其座標使用已定義的座標轉換管道的反向轉換為不同的空間參考系統。
  • ST_SetSRID — 設定幾何物件的 SRID。
  • ST_SRID — 傳回幾何物件的空間參考識別碼。
  • ST_Transform — 傳回一個新的幾何物件,其座標已轉換為不同的空間參考系統。
  • ST_TransformPipeline — 傳回一個新的幾何物件,其座標使用已定義的座標轉換管道轉換為不同的空間參考系統。
  • postgis_srs_codes — 傳回與給定授權單位相關聯的 SRS 代碼清單。
  • postgis_srs — 傳回所要求授權單位和 srid 的中繼資料記錄。
  • postgis_srs_all — 傳回底層 Proj 資料庫中每個空間參考系統的 metadata 記錄。
  • postgis_srs_search — 傳回投影座標系統的 metadata 記錄,這些系統的使用區域完全包含 bounds 參數。

7.8. 幾何輸入

摘要

這些函數從各種文字或二進制格式建立幾何物件。

7.8.1. Well-Known Text (WKT)

  • ST_BdPolyFromText — 根據任意封閉線串的集合,以 MultiLineString Well-Known text 表示法建構多邊形 (Polygon)。
  • ST_BdMPolyFromText — 根據任意封閉線串的集合,以 MultiLineString 文字表示法 Well-Known text 表示法建構多重多邊形 (MultiPolygon)。
  • ST_GeogFromText — 從 Well-Known Text 表示法或延伸 (WKT) 傳回指定的地理值。
  • ST_GeographyFromText — 從 Well-Known Text 表示法或延伸 (WKT) 傳回指定的地理值。
  • ST_GeomCollFromText — 從具有指定 SRID 的集合 WKT 建立幾何集合 (Geometry Collection)。如果未指定 SRID,則預設為 0。
  • ST_GeomFromEWKT — 從延伸 Well-Known Text 表示法 (EWKT) 傳回指定的 ST_Geometry 值。
  • ST_GeomFromMARC21 — 接受 MARC21/XML 地理資料作為輸入,並傳回 PostGIS 幾何物件。
  • ST_GeometryFromText — 從 Well-Known Text 表示法 (WKT) 傳回指定的 ST_Geometry 值。這是 ST_GeomFromText 的別名。
  • ST_GeomFromText — 從 Well-Known Text 表示法 (WKT) 傳回指定的 ST_Geometry 值。
  • ST_LineFromText — 從具有指定 SRID 的 WKT 表示法建立幾何物件。如果未指定 SRID,則預設為 0。
  • ST_MLineFromText — 從 WKT 表示法傳回指定的 ST_MultiLineString 值。
  • ST_MPointFromText — 從具有指定 SRID 的 WKT 建立幾何物件。如果未指定 SRID,則預設為 0。
  • ST_MPolyFromText — 從具有指定 SRID 的 WKT 建立多重多邊形 (MultiPolygon) 幾何物件。如果未指定 SRID,則預設為 0。
  • ST_PointFromText — 從具有指定 SRID 的 WKT 建立點 (Point) 幾何物件。如果未指定 SRID,則預設為未知。
  • ST_PolygonFromText — 從具有指定 SRID 的 WKT 建立幾何物件。如果未指定 SRID,則預設為 0。
  • ST_WKTToSQL — 從 Well-Known Text 表示法 (WKT) 傳回指定的 ST_Geometry 值。這是 ST_GeomFromText 的別名。

7.8.2. Well-Known Binary (WKB)

  • ST_GeogFromWKB — 從 Well-Known Binary 幾何表示法 (WKB) 或延伸 Well Known Binary (EWKB) 建立地理 (geography) 實例。
  • ST_GeomFromEWKB — 從延伸 Well-Known Binary 表示法 (EWKB) 傳回指定的 ST_Geometry 值。
  • ST_GeomFromWKB — 從 Well-Known Binary 幾何表示法 (WKB) 和可選的 SRID 建立幾何實例。
  • ST_LineFromWKB — 從具有指定 SRID 的 WKB 建立 LINESTRING
  • ST_LinestringFromWKB — 從具有指定 SRID 的 WKB 建立幾何物件。
  • ST_PointFromWKB — 從具有指定 SRID 的 WKB 建立幾何物件。
  • ST_WKBToSQL — 從 Well-Known Binary 表示法 (WKB) 傳回指定的 ST_Geometry 值。這是 ST_GeomFromWKB 的別名,不接受 srid。

7.8.3. 其他格式

7.9. 幾何輸出

摘要

這些函數將幾何物件轉換為各種文字或二進制格式。

7.9.1. Well-Known Text (WKT)

  • ST_AsEWKT — 傳回包含 SRID metadata 的幾何 Well-Known Text (WKT) 表示法。
  • ST_AsText — 傳回不包含 SRID metadata 的幾何/地理 Well-Known Text (WKT) 表示法。

7.9.2. Well-Known Binary (WKB)

  • ST_AsBinary — 傳回不包含 SRID metadata 的幾何/地理 OGC/ISO Well-Known Binary (WKB) 表示法。
  • ST_AsEWKB — 傳回包含 SRID metadata 的幾何延伸 Well-Known Binary (EWKB) 表示法。
  • ST_AsHEXEWKB — 使用小端 (NDR) 或大端 (XDR) 編碼,以 HEXEWKB 格式 (作為文字) 傳回幾何物件。

7.9.3. 其他格式

  • ST_AsEncodedPolyline — 從 LineString 幾何物件傳回編碼的折線。
  • ST_AsFlatGeobuf — 傳回一組列的 FlatGeobuf 表示法。
  • ST_AsGeobuf — 傳回一組列的 Geobuf 表示法。
  • ST_AsGeoJSON — 以 GeoJSON 格式傳回幾何物件或特徵。
  • ST_AsGML — 以 GML 版本 2 或 3 元素傳回幾何物件。
  • ST_AsKML — 以 KML 元素傳回幾何物件。
  • ST_AsLatLonText — 傳回給定點的度、分、秒表示法。
  • ST_AsMARC21 — 以包含地理資料欄位 (034) 的 MARC21/XML 記錄傳回幾何物件。
  • ST_AsMVTGeom — 將幾何物件轉換為 MVT 圖磚的座標空間。
  • ST_AsMVT — 傳回一組列的 MVT 表示法的聚合函數。
  • ST_AsSVG — 傳回幾何物件的 SVG 路徑資料。
  • ST_AsTWKB — 以 TWKB(又稱「Tiny Well-Known Binary」)傳回幾何物件。
  • ST_AsX3D — 以 X3D xml 節點元素格式傳回幾何物件:ISO-IEC-19776-1.2-X3DEncodings-XML。
  • ST_GeoHash — 傳回幾何物件的 GeoHash 表示法。

7.10. 運算子

7.10.1. 邊界框運算子

  • && — 如果 A 的 2D 邊界框與 B 的 2D 邊界框相交,則傳回 TRUE
  • &&(geometry,box2df) — 如果幾何物件 (快取的) 2D 邊界框與 2D 浮點精度邊界框 (BOX2DF) 相交,則傳回 TRUE
  • &&(box2df,geometry) — 如果 2D 浮點精度邊界框 (BOX2DF) 與幾何物件 (快取的) 2D 邊界框相交,則傳回 TRUE
  • &&(box2df,box2df) — 如果兩個 2D 浮點精度邊界框 (BOX2DF) 彼此相交,則傳回 TRUE
  • &&& — 如果 A 的 n 維邊界框與 B 的 n 維邊界框相交,則傳回 TRUE
  • &&&(geometry,gidx) — 如果幾何物件 (快取的) n 維邊界框與 n 維浮點精度邊界框 (GIDX) 相交,則傳回 TRUE
  • &&&(gidx,geometry) — 如果 n 維浮點精度邊界框 (GIDX) 與幾何物件 (快取的) n 維邊界框相交,則傳回 TRUE
  • &&&(gidx,gidx) — 如果兩個 n 維浮點精確度邊界框 (GIDX) 互相交疊,則返回 TRUE
  • &< — 如果 A 的邊界框與 B 的邊界框重疊或位於 B 的左側,則返回 TRUE
  • &<| — 如果 A 的邊界框與 B 的邊界框重疊或位於 B 的下方,則返回 TRUE
  • &> — 如果 A 的邊界框與 B 的邊界框重疊或位於 B 的右側,則返回 TRUE
  • << — 如果 A 的邊界框嚴格位於 B 的左側,則返回 TRUE
  • <<| — 如果 A 的邊界框嚴格位於 B 的下方,則返回 TRUE
  • = — 如果幾何/地理 A 的坐標和坐標順序與幾何/地理 B 的坐標和坐標順序相同,則返回 TRUE
  • >> — 如果 A 的邊界框嚴格位於 B 的右側,則返回 TRUE
  • @ — 如果 A 的邊界框包含在 B 的邊界框內,則返回 TRUE
  • @(geometry,box2df) — 如果幾何的 2D 邊界框包含在 2D 浮點精確度邊界框 (BOX2DF) 內,則返回 TRUE
  • @(box2df,geometry) — 如果 2D 浮點精確度邊界框 (BOX2DF) 包含在幾何的 2D 邊界框內,則返回 TRUE
  • @(box2df,box2df) — 如果 2D 浮點精確度邊界框 (BOX2DF) 包含在另一個 2D 浮點精確度邊界框內,則返回 TRUE
  • |&> — 如果 A 的邊界框與 B 的邊界框重疊或位於 B 的上方,則返回 TRUE
  • |>> — 如果 A 的邊界框嚴格位於 B 的上方,則返回 TRUE
  • ~ — 如果 A 的邊界框包含 B 的邊界框,則返回 TRUE
  • ~(geometry,box2df) — 如果幾何的 2D 邊界框包含 2D 浮點精確度邊界框 (GIDX),則返回 TRUE
  • ~(box2df,geometry) — 如果 2D 浮點精確度邊界框 (BOX2DF) 包含幾何的 2D 邊界框,則返回 TRUE
  • ~(box2df,box2df) — 如果 2D 浮點精確度邊界框 (BOX2DF) 包含另一個 2D 浮點精確度邊界框 (BOX2DF),則返回 TRUE
  • ~= — 如果 A 的邊界框與 B 的邊界框相同,則返回 TRUE

7.10.2. 距離運算子

  • <-> — 返回 A 和 B 之間的 2D 距離。
  • |=| — 返回 A 和 B 軌跡在它們最接近點的距離。
  • <#> — 返回 A 和 B 邊界框之間的 2D 距離。
  • <<->> — 返回 A 和 B 幾何或邊界框之間的 n 維距離。

7.11. 空間關係

摘要

這些函式決定幾何之間的空間關係。

7.11.1. 拓撲關係

  • ST_3DIntersects — 測試兩個幾何在 3D 空間中是否相交 - 僅適用於點、線串、多邊形、多面體表面(面積)。
  • ST_Contains — 測試 B 的每個點是否都位於 A 中,且它們的內部有共同的點。
  • ST_ContainsProperly — 測試 B 的每個點是否都位於 A 的內部。
  • ST_CoveredBy — 測試 A 的每個點是否都位於 B 中。
  • ST_Covers — 測試 B 的每個點是否都位於 A 中。
  • ST_Crosses — 測試兩個幾何是否有一些(但不是全部)內部點是共同的。
  • ST_Disjoint — 測試兩個幾何是否沒有共同的點。
  • ST_Equals — 測試兩個幾何是否包含相同的點集合。
  • ST_Intersects — 測試兩個幾何是否相交(它們至少有一個共同的點)。
  • ST_LineCrossingDirection — 返回一個數字,指示兩個 LineString 的交叉行為。
  • ST_OrderingEquals — 測試兩個幾何是否代表相同的幾何,並且點的順序方向相同。
  • ST_Overlaps — 測試兩個幾何是否具有相同的維度並相交,但每個幾何至少有一個點不在另一個幾何中。
  • ST_Relate — 測試兩個幾何是否具有符合交集矩陣模式的拓撲關係,或計算它們的交集矩陣。
  • ST_RelateMatch — 測試 DE-9IM 交集矩陣是否符合交集矩陣模式。
  • ST_Touches — 測試兩個幾何是否至少有一個共同的點,但它們的內部不相交。
  • ST_Within — 測試 A 的每個點是否都位於 B 中,且它們的內部有共同的點。

7.11.2. 距離關係

  • ST_3DDWithin — 測試兩個 3D 幾何是否在給定的 3D 距離內。
  • ST_3DDFullyWithin — 測試兩個 3D 幾何是否完全在給定的 3D 距離內。
  • ST_DFullyWithin — 測試一個幾何是否完全在另一個幾何的距離內。
  • ST_DWithin — 測試兩個幾何是否在給定的距離內。
  • ST_PointInsideCircle — 測試點幾何是否在由中心和半徑定義的圓內。

7.12. 測量函式

摘要

這些函式計算距離、面積和角度的測量值。還有一些函式用於計算由測量值確定的幾何值。

  • ST_Area — 返回多邊形幾何的面積。
  • ST_Azimuth — 返回兩個點之間線段的北向方位角。
  • ST_Angle — 返回由 3 個或 4 個點或 2 條線定義的兩個向量之間的角度。
  • ST_ClosestPoint — 返回 g1 上距離 g2 最近的 2D 點。這是從一個幾何到另一個幾何的最短線的第一個點。
  • ST_3DClosestPoint — 返回 g1 上距離 g2 最近的 3D 點。這是 3D 最短線的第一個點。
  • ST_Distance — 返回兩個幾何或地理值之間的距離。
  • ST_3DDistance — 返回兩個幾何在投影單位中 3D 笛卡爾最小距離(基於空間參考)。
  • ST_DistanceSphere — 使用球面地球模型,返回兩個經緯度幾何之間以公尺為單位的最小距離。
  • ST_DistanceSpheroid — 使用橢球地球模型,返回兩個經緯度幾何之間的最小距離。
  • ST_FrechetDistance — 返回兩個幾何之間的 Fréchet 距離。
  • ST_HausdorffDistance — 返回兩個幾何之間的 Hausdorff 距離。
  • ST_Length — 返回線性幾何的 2D 長度。
  • ST_Length2D — 返回線性幾何的 2D 長度。 ST_Length 的別名。
  • ST_3DLength — 返回線性幾何的 3D 長度。
  • ST_LengthSpheroid — 返回橢球上經緯度幾何的 2D 或 3D 長度/周長。
  • ST_LongestLine — 傳回兩個幾何物件之間的最長 2D 線段。
  • ST_3DLongestLine — 傳回兩個幾何物件之間的最長 3D 線段。
  • ST_MaxDistance — 傳回兩個幾何物件之間以投影單位計算的最大 2D 距離。
  • ST_3DMaxDistance — 傳回兩個幾何物件之間以投影單位計算的最大 3D 卡氏距離(基於空間參考)。
  • ST_MinimumClearance — 傳回幾何物件的最小間隙,此為衡量幾何物件穩健性的指標。
  • ST_MinimumClearanceLine — 傳回跨越幾何物件最小間隙的兩點 LineString。
  • ST_Perimeter — 傳回多邊形幾何或地理邊界的長度。
  • ST_Perimeter2D — 傳回多邊形幾何的 2D 周長。 ST_Perimeter 的別名。
  • ST_3DPerimeter — 傳回多邊形幾何的 3D 周長。
  • ST_ShortestLine — 傳回兩個幾何物件之間的最短 2D 線段。
  • ST_3DShortestLine — 傳回兩個幾何物件之間的最短 3D 線段。

7.13. 疊合函數

摘要

這些函數計算兩個幾何物件疊合產生的結果。這些函數也稱為點集理論布林運算。同時也提供一些相關的函數。

  • ST_ClipByBox2D — 計算幾何物件落在矩形內的部分。
  • ST_Difference — 計算代表幾何 A 中未與幾何 B 相交部分的幾何物件。
  • ST_Intersection — 計算代表幾何 A 和 B 共用部分的幾何物件。
  • ST_MemUnion — 以記憶體效率高但速度較慢的方式聯集幾何物件的彙總函數。
  • ST_Node — 節點化一系列線段。
  • ST_Split — 傳回透過另一個幾何物件分割一個幾何物件所建立的幾何物件集合。
  • ST_Subdivide — 計算幾何物件的直線式細分。
  • ST_SymDifference — 計算代表幾何 A 和 B 中未相交部分的幾何物件。
  • ST_UnaryUnion — 計算單一幾何物件的組成部分的聯集。
  • ST_Union — 計算代表輸入幾何物件點集聯集的幾何物件。

7.14. 幾何處理

摘要

這些函數計算幾何結構,或變更幾何物件的大小或形狀。

7.15. 覆蓋

摘要

這些函數會處理形成「隱含覆蓋」的多邊形幾何物件集合。為了形成有效的覆蓋,多邊形不得重疊,且相鄰邊緣的頂點必須完全符合。覆蓋處理速度快,且可使用視窗函數來運算,此視窗函數在變更邊緣時,仍會保留視窗分割區內的覆蓋拓撲結構。

7.16. 仿射轉換

摘要

這些函數使用仿射轉換來變更幾何物件的位置和形狀。

  • ST_Affine — 將 3D 仿射轉換套用到幾何物件。
  • ST_Rotate — 繞著原點旋轉幾何物件。
  • ST_RotateX — 繞著 X 軸旋轉幾何物件。
  • ST_RotateY — 繞著 Y 軸旋轉幾何物件。
  • ST_RotateZ — 繞著 Z 軸旋轉幾何物件。
  • ST_Scale — 以指定的比例因子縮放幾何物件。
  • ST_Translate — 以指定的偏移量平移幾何物件。
  • ST_TransScale — 以指定的偏移量和平行因子平移和縮放幾何物件。

7.17. 叢集函數

摘要

這些函數針對幾何物件集合實作叢集演算法。

  • ST_ClusterDBSCAN — 視窗函數,使用 DBSCAN 演算法傳回每個輸入幾何物件的叢集 ID。
  • ST_ClusterIntersecting — 將輸入幾何物件叢集成連線集合的彙總函數。
  • ST_ClusterIntersectingWin — 視窗函數,傳回每個輸入幾何物件的叢集 ID,將輸入幾何物件叢集成連線集合。
  • ST_ClusterKMeans — 視窗函數,使用 K 平均演算法傳回每個輸入幾何物件的叢集 ID。
  • ST_ClusterWithin — 透過間隔距離叢集幾何物件的彙總函數。
  • ST_ClusterWithinWin — 視窗函數,傳回每個輸入幾何物件的叢集 ID,使用間隔距離進行叢集。

7.18. 邊界框函數

摘要

這些函數會產生或處理邊界框。它們也可以透過使用自動或明確轉換來提供和接收幾何物件值。

另請參閱第 13.7 節「PostGIS 邊界框函數」

  • Box2D — 傳回代表幾何物件 2D 範圍的 BOX2D。
  • Box3D — 傳回代表幾何物件 3D 範圍的 BOX3D。
  • ST_EstimatedExtent — 傳回空間表格的估計範圍。
  • ST_Expand — 傳回從另一個邊界框或幾何圖形擴展的邊界框。
  • ST_Extent — 聚合函數,傳回幾何圖形的邊界框。
  • ST_3DExtent — 聚合函數,傳回幾何圖形的 3D 邊界框。
  • ST_MakeBox2D — 建立由兩個 2D 點幾何圖形定義的 BOX2D。
  • ST_3DMakeBox — 建立由兩個 3D 點幾何圖形定義的 BOX3D。
  • ST_XMax — 傳回 2D 或 3D 邊界框或幾何圖形的 X 最大值。
  • ST_XMin — 傳回 2D 或 3D 邊界框或幾何圖形的 X 最小值。
  • ST_YMax — 傳回 2D 或 3D 邊界框或幾何圖形的 Y 最大值。
  • ST_YMin — 傳回 2D 或 3D 邊界框或幾何圖形的 Y 最小值。
  • ST_ZMax — 傳回 2D 或 3D 邊界框或幾何圖形的 Z 最大值。
  • ST_ZMin — 傳回 2D 或 3D 邊界框或幾何圖形的 Z 最小值。

7.19. 線性參考

7.20. 軌跡函數

摘要

這些函數支援使用軌跡。軌跡是線性幾何圖形,每個座標上的度量值 (M 值) 遞增。時空資料可以使用相對時間(例如 epoch)作為度量值來建模。

7.21. 版本函數

摘要

這些函數報告和升級 PostGIS 版本。

7.22. 廣泛統一自訂變數 (GUC)

摘要

本節列出 PostGIS 廣泛統一自訂變數 (GUC)。這些變數可以全域、按資料庫、按會話或按交易設定。最好在全域或資料庫層級設定。

如需更多使用範例,請參閱 SQL SETSQL ALTER SYSTEM

  • postgis.backend — 當 GEOS 和 SFCGAL 重疊時,用於服務函數的後端。選項:geos 或 sfcgal。預設為 geos。
  • postgis.gdal_datapath — 設定 GDAL 的 GDAL_DATA 選項值的設定選項。如果未設定,則會使用環境設定的 GDAL_DATA 變數。
  • postgis.gdal_enabled_drivers — 用於設定 PostGIS 環境中已啟用 GDAL 驅動程式的設定選項。會影響 GDAL 設定變數 GDAL_SKIP。
  • postgis.enable_outdb_rasters — 用於啟用對外部資料庫點陣頻帶存取的布林設定選項。
  • postgis.gdal_vsi_options — 用於設定在使用外部資料庫點陣時所使用選項的字串設定。

7.23. 疑難排解函數

摘要

這些函數是用於疑難排解和修復幾何圖形資料的工具程式。只有在幾何圖形資料以某種方式損毀時才需要它們,在正常情況下絕不會發生這種情況。