這些函數以 Well-Known Text (WKT) 表示法以及可選的空間參考系統識別碼 (SRID) 作為引數。它們會傳回對應的幾何。如需 WKT 格式的描述,請參閱Well-Known Text (WKT) 格式。
本節中的函數會偵測笛卡爾或地理空間參考系統 (SRS) 中的引數,並傳回適合 SRS 的結果。
ST_GeomFromText() 接受任何幾何類型的 WKT 值作為其第一個引數。其他函數提供特定類型的建構函數,以建構每個幾何類型的幾何值。
諸如 ST_MPointFromText() 和 ST_GeomFromText() 等接受 MultiPoint 值的 WKT 格式表示法的函數,允許值內的個別點以括號括住。例如,下列兩個函數呼叫都是有效的
ST_MPointFromText('MULTIPOINT (1 1, 2 2, 3 3)')
ST_MPointFromText('MULTIPOINT ((1 1), (2 2), (3 3))')諸如 ST_GeomFromText() 等接受 WKT 幾何集合引數的函數會理解 OpenGIS 'GEOMETRYCOLLECTION EMPTY' 標準語法和 MySQL 'GEOMETRYCOLLECTION()' 非標準語法。諸如 ST_AsWKT() 等產生 WKT 值的函數會產生 'GEOMETRYCOLLECTION EMPTY' 標準語法
mysql> SET @s1 = ST_GeomFromText('GEOMETRYCOLLECTION()');
mysql> SET @s2 = ST_GeomFromText('GEOMETRYCOLLECTION EMPTY');
mysql> SELECT ST_AsWKT(@s1), ST_AsWKT(@s2);
+--------------------------+--------------------------+
| ST_AsWKT(@s1) | ST_AsWKT(@s2) |
+--------------------------+--------------------------+
| GEOMETRYCOLLECTION EMPTY | GEOMETRYCOLLECTION EMPTY |
+--------------------------+--------------------------+除非另有指定,否則本節中的函數會按如下方式處理其幾何引數
如果任何幾何引數為
NULL或不是語法良好的幾何,或者如果 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 使用另一個單位,則範圍會使用其單位中的對應值。由於浮點算術,確切的範圍限制會略有偏差。
這些函數可用於從 WKT 值建立幾何
ST_GeomCollFromText(、wkt[,srid[,options]])ST_GeometryCollectionFromText(、wkt[,srid[,options]])ST_GeomCollFromTxt(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 建構
GeometryCollection值。這些函數會按照本節簡介中的說明處理其引數。
mysql> SET @g = "MULTILINESTRING((10 10, 11 11), (9 9, 10 10))"; mysql> SELECT ST_AsText(ST_GeomCollFromText(@g)); +--------------------------------------------+ | ST_AsText(ST_GeomCollFromText(@g)) | +--------------------------------------------+ | MULTILINESTRING((10 10,11 11),(9 9,10 10)) | +--------------------------------------------+ST_GeomFromText(、wkt[,srid[,options]])ST_GeometryFromText(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 建構任何類型的幾何值。
這些函數會按照本節簡介中的說明處理其引數。
ST_LineFromText(、wkt[,srid[,options]])ST_LineStringFromText(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 建構
LineString值。這些函數會按照本節簡介中的說明處理其引數。
ST_MLineFromText(、wkt[,srid[,options]])ST_MultiLineStringFromText(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 建構
MultiLineString值。這些函數會按照本節簡介中的說明處理其引數。
ST_MPointFromText(、wkt[,srid[,options]])ST_MultiPointFromText(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 構造一個
MultiPoint值。這些函數會按照本節簡介中的說明處理其引數。
ST_MPolyFromText(、wkt[,srid[,options]])ST_MultiPolygonFromText(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 構造一個
MultiPolygon值。這些函數會按照本節簡介中的說明處理其引數。
ST_PointFromText(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 構造一個
Point值。ST_PointFromText()依照本節介紹中所述處理其引數。ST_PolyFromText(、wkt[,srid[,options]])ST_PolygonFromText(wkt[,srid[,options]])使用其 WKT 表示法和 SRID 構造一個
Polygon值。這些函數會按照本節簡介中的說明處理其引數。