使用操作函數可對GEOMETRY資料類型值執行操作。
- ST_Intersection:返回g1與g2兩個圖對象的交集。
- ST_Envelope:擷取作為輸入Line、Polygon、Multiline和Multipolygon Geometry資料類型。不支援Point Geometry資料類型。返回一個信封的二進位表示,其中信封是一個圍繞指定Geometry資料類型的矩形。
- ST_Union:返回表示指定幾何體的點集並集的幾何體資料類型。
- geometry_union:返回表示指定幾何體的點集並集的幾何體資料類型。
- ST_Boundary:採用一個Geometry資料類型作為輸入,並返回該Boundary Geometry資料類型的二進位表示。
- ST_EnvelopeAsPts:返回兩個點的數組,表示幾何體的邊界矩形多邊形的左下角和右上方。如果指定的幾何體為空白,則返回null。
- ST_Difference:返回左幾何體和右幾何體之間的差異的幾何體。
- ST_ExteriorRing:返回輸入類型Polygon的外部環的幾何體。
- ST_SymDifference:返回左幾何體和右幾何體之間的幾何對稱差異的幾何體。
ST_Intersection
ST_Intersection(g1, g2)
- 命令說明:返回g1與g2兩個圖對象的交集。
- 傳回值類型:GEOMETRY類型的對象,直接通過SELECT查詢函數結果將顯示亂碼。
- 樣本:
返回結果:SELECT ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)'));
+------------------------------------------------------------------------------------------------------------+ | ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)')) | +------------------------------------------------------------------------------------------------------------+ | �? �? |
可以使用ST_AsText函數將返回結果轉換為可識別的文本,樣本:
SELECT ST_AsText(ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)')));
返回結果:+-----------------------------------------------------------------------------------------------------------------------+
| ST_AsText(ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)'))) |
+-----------------------------------------------------------------------------------------------------------------------+
| POINT (50 100) |
ST_Envelope
ST_Envelope(g)
- 命令說明:擷取作為輸入Line、Polygon、Multiline和Multipolygon Ggeometry資料類型。不支援Point Geometry資料類型。返回一個信封的二進位表示,其中信封是一個圍繞指定Geometry資料類型的矩形。
- 傳回值類型:GEOMETRY類型的對象,直接通過SELECT查詢函數結果將顯示亂碼,可以使用ST_AsText函數將返回結果轉換為可識別的文本。
- 樣本一:
返回結果:SELECT ST_AsText(ST_Envelope(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3)')));
樣本二:+---------------------------------------------------------------------------------+ |ST_AsText(ST_Envelope(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3)'))) | +---------------------------------------------------------------------------------+ | POLYGON ((1 1, 2 1, 2 3, 1 3, 1 1)) |
返回結果:SELECT ST_AsText(ST_Envelope(ST_GeometryFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')));
+-------------------------------------------------------------------------------+ | ST_AsText(ST_Envelope(ST_GeometryFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')))| +-------------------------------------------------------------------------------+ | POLYGON ((1 2, 4 2, 4 8, 1 8, 1 2)) |
ST_Union
ST_Union(g1, g2)
- 命令說明:返回表示指定幾何體的點集並集的幾何體資料類型。
- 傳回值類型:INT。
- 樣本:
返回結果:SELECT ST_ASText(ST_Union(ST_GeometryFromText('MULTIPOLYGON (((1 1, 3 1, 3 3, 1 3, 1 1)))'), ST_GeometryFromText('MULTIPOLYGON (((2 2, 4 2, 4 4, 2 4, 2 2)))')));
+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ST_ASText(ST_Union(ST_GeometryFromText('MULTIPOLYGON (((1 1, 3 1, 3 3, 1 3, 1 1)))'), ST_GeometryFromText('MULTIPOLYGON (((2 2, 4 2, 4 4, 2 4, 2 2)))'))) | +----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | POLYGON ((1 1, 3 1, 3 2, 4 2, 4 4, 2 4, 2 3, 1 3, 1 1)) |
geometry_union
geometry_union(array[g1, g2, ...])
- 命令說明:返回表示指定幾何體的點集並集的幾何體資料類型。
- 傳回值類型:GEOMETRY類型的對象,直接通過SELECT查詢函數結果將顯示亂碼,可以使用ST_AsText函數將返回結果轉換為可識別的文本。
- 樣本:
返回結果:SELECT ST_AsText (geometry_union(ARRAY[ST_Point(61.56, -158.54), ST_Point(61.56, -158.55)]));
+------------------------------------------------------------------------------------------------+ | ST_AsText (geometry_union(ARRAY[ST_Point(61.56, -158.54), ST_Point(61.56, -158.55)])) | +------------------------------------------------------------------------------------------------+ | MULTIPOINT ((61.56 -158.55), (61.56 -158.54)) |
ST_Boundary
ST_Boundary(g)
- 命令說明:採用一個Geometry資料類型作為輸入,並返回該Boundary Geometry資料類型的二進位表示。
- 傳回值類型:GEOMETRY類型的對象,直接通過SELECT查詢函數結果將顯示亂碼,可以使用ST_AsText函數將返回結果轉換為可識別的文本。
- 樣本:
返回結果:SELECT ST_AsText(ST_Boundary(ST_GeometryFromText('LINESTRING (8 4, 5 7)')));
+----------------------------------------------------------------------------+ |ST_AsText(ST_Boundary(ST_GeometryFromText('LINESTRING (8 4, 5 7)'))) | +----------------------------------------------------------------------------+ | MULTIPOINT ((8 4), (5 7)) |
ST_EnvelopeAsPts
ST_EnvelopeAsPts(g)
- 命令說明:返回兩個點的數組,表示幾何體的邊界矩形多邊形的左下角和右上方。如果指定的幾何體為空白,則返回null。
- 傳回值類型:Array[Geometry]。
- 樣本:
返回結果:SELECT ST_EnvelopeAsPts(ST_GeometryFromText('LINESTRING EMPTY'));
+-----------------------------------------------------------------+ |ST_EnvelopeAsPts(ST_GeometryFromText('LINESTRING EMPTY')) | +-----------------------------------------------------------------+ | null |
ST_Difference
ST_EnvelopeAsPts(g1, g2)
- 命令說明:返回左幾何體和右幾何體之間的差異的幾何體。
- 傳回值類型:GEOMETRY類型的對象,直接通過SELECT查詢函數結果將顯示亂碼,可以使用ST_AsText函數將返回結果轉換為可識別的文本。
- 樣本:
返回結果:SELECT ST_AsText(ST_Difference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)')));
+---------------------------------------------------------------------------------------------------------------+ |ST_AsText(ST_Difference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))) | +---------------------------------------------------------------------------------------------------------------+ | POINT (50 100) |
ST_ExteriorRing
ST_ExteriorRing(g1)
- 命令說明:返回輸入類型polygon的外部環的幾何體。
- 傳回值類型:GEOMETRY類型的對象,直接通過SELECT查詢函數結果將顯示亂碼,可以使用ST_AsText函數將返回結果轉換為可識別的文本。
- 樣本:
返回結果:SELECT ST_AsText(ST_ExteriorRing(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))')));
+------------------------------------------------------------------------------------+ |ST_AsText(ST_ExteriorRing(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))'))) | +------------------------------------------------------------------------------------+ | LINESTRING (1 1, 4 1, 1 4, 1 1) |
ST_SymDifference
ST_SymDifference(g1, g2)
- 命令說明:返回左幾何體和右幾何體之間的幾何對稱差異的幾何體。
- 傳回值類型:GEOMETRY類型的對象,直接通過SELECT查詢函數結果將顯示亂碼,可以使用ST_AsText函數將返回結果轉換為可識別的文本。
- 樣本:
返回結果:SELECT ST_AsText(ST_SymDifference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (50 150)')));
+--------------------------------------------------------------------------------------------------------------+ |ST_AsText(ST_SymDifference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (50 150)'))) | +--------------------------------------------------------------------------------------------------------------+ | MULTIPOINT ((50 100), (50 150)) |