這些函數將包含「已知二進位」(WKB) 表示法的 BLOB
作為引數,並選擇性地使用空間參考系統識別碼 (SRID)。它們會傳回對應的幾何。如需 WKB 格式的說明,請參閱已知二進位 (WKB) 格式。
本節中的函數會偵測笛卡爾或地理空間參考系統 (SRS) 中的引數,並傳回適合該 SRS 的結果。
ST_GeomFromWKB()
接受任何幾何類型的 WKB 值作為其第一個引數。其他函數則為每個幾何類型提供類型特定的建構函數,以建構幾何值。
在 MySQL 9.0 之前,這些函數也接受第 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
值。這些函數會如本節簡介中所述處理其引數。