這些函數接受包含 Well-Known Binary (WKB) 表示法的 BLOB
作為引數,並選擇性地接受空間參考系統識別碼 (SRID)。它們會傳回對應的幾何圖形。如需 WKB 格式的說明,請參閱Well-Known Binary (WKB) 格式。
本節中的函數會偵測笛卡爾或地理空間參考系統 (SRS) 中的引數,並傳回適用於 SRS 的結果。
ST_GeomFromWKB()
接受任何幾何類型的 WKB 值作為其第一個引數。其他函數提供類型特定的建構函數,用於建構每個幾何類型的幾何值。
在 MySQL 8.4 之前,這些函數也接受第 14.16.5 節,「MySQL 特有的建立幾何值的函數」中的函數傳回的幾何物件。不再允許幾何引數,並會產生錯誤。若要將呼叫從使用幾何引數移轉至使用 WKB 引數,請遵循以下方針:
將
ST_GeomFromWKB(Point(0, 0))
之類的建構重寫為Point(0, 0)
。將
ST_GeomFromWKB(Point(0, 0), 4326)
之類的建構重寫為ST_SRID(Point(0, 0), 4326)
或ST_GeomFromWKB(ST_AsWKB(Point(0, 0)), 4326)
。
除非另有指定,否則本節中的函數會依以下方式處理其幾何引數:
如果 WKB 或 SRID 引數為
NULL
,則傳回值為NULL
。依預設,地理座標(緯度、經度)會以幾何引數的空間參考系統所指定的順序解譯。可以提供選擇性的
options
引數,以覆寫預設軸順序。options
包含以逗號分隔的
清單。唯一允許的key
=value
key
值為axis-order
,允許的值為lat-long
、long-lat
和srid-defined
(預設值)。如果
options
引數為NULL
,則傳回值為NULL
。如果options
引數無效,則會發生錯誤以指示原因。如果 SRID 引數參考未定義的空間參考系統 (SRS),則會發生
ER_SRS_NOT_FOUND
錯誤。對於地理 SRS 幾何引數,如果任何引數的經度或緯度超出範圍,則會發生錯誤:
如果經度值不在 (−180, 180] 範圍內,則會發生
ER_LONGITUDE_OUT_OF_RANGE
錯誤。如果緯度值不在 [−90, 90] 範圍內,則會發生
ER_LATITUDE_OUT_OF_RANGE
錯誤。
顯示的範圍以度為單位。如果 SRS 使用其他單位,則範圍會使用其單位中的對應值。由於浮點數運算,確切的範圍限制會略有偏差。
這些函數可用於從 WKB 值建立幾何圖形:
ST_GeomCollFromWKB(
、wkb
[,srid
[,options
]])ST_GeometryCollectionFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構
GeometryCollection
值。這些函數會依照本節簡介中的說明處理其引數。
ST_GeomFromWKB(
、wkb
[,srid
[,options
]])ST_GeometryFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構任何類型的幾何值。
這些函數會依照本節簡介中的說明處理其引數。
ST_LineFromWKB(
、wkb
[,srid
[,options
]])ST_LineStringFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構
LineString
值。這些函數會依照本節簡介中的說明處理其引數。
ST_MLineFromWKB(
、wkb
[,srid
[,options
]])ST_MultiLineStringFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構
MultiLineString
值。這些函數會依照本節簡介中的說明處理其引數。
ST_MPointFromWKB(
、wkb
[,srid
[,options
]])ST_MultiPointFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構
MultiPoint
值。這些函數會依照本節簡介中的說明處理其引數。
ST_MPolyFromWKB(
、wkb
[,srid
[,options
]])ST_MultiPolygonFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構
MultiPolygon
值。這些函數會依照本節簡介中的說明處理其引數。
ST_PointFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構
Point
值。ST_PointFromWKB()
依照本節簡介所述處理其引數。ST_PolyFromWKB(
、wkb
[,srid
[,options
]])ST_PolygonFromWKB(
wkb
[,srid
[,options
]])使用其 WKB 表示法和 SRID 建構
Polygon
值。這些函數會依照本節簡介中的說明處理其引數。