這些函數將包含「已知二進位」(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=valuekey值為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值。這些函數會如本節簡介中所述處理其引數。