ST_GEOMETRYFROMWKT¶
解析 WKT(已知文本) (link removed) 或 EWKT(扩展的已知文本)输入,并返回 GEOMETRY 类型的值。
- 别名:
ST_GEOMFROMWKT、ST_GEOMETRYFROMEWKT、ST_GEOMFROMEWKT、ST_GEOMETRYFROMTEXT、ST_GEOMFROMTEXT
- 另请参阅:
语法¶
ST_GEOMETRYFROMWKT( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
ST_GEOMFROMWKT( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
ST_GEOMETRYFROMEWKT( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
ST_GEOMFROMEWKT( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
ST_GEOMETRYFROMTEXT( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
ST_GEOMFROMTEXT( <varchar_expression> [ , <srid> ] [ , <allow_invalid> ] )
实参¶
必填:
varchar_expression
实参必须是表示有效地理空间对象的字符串表达式(格式为 WKT 或 EWKT)。
可选:
srid
要使用的 SRID 的整数值。
allow_invalid
如果为 TRUE,即使输入形状无效且无法修复,指定函数也应返回 GEOGRAPHY 或 GEOMETRY 对象。有关详细信息,请参阅 指定如何处理无效的地理空间形状。
返回¶
该函数返回 GEOMETRY 类型的值。
使用说明¶
如果无法将输入解析为 WKT 或 EWKT,则会引发错误。
对于 WKT 输入,如果未指定
srid
实参,则生成的 GEOMETRY 对象将 SRID 设置为 0。
示例¶
以下示例返回以 EWKT 格式描述的地理空间对象的 GEOMETRY 对象:
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT ST_GEOMETRYFROMEWKT('SRID=32633;POINT(389866.35 5819003.03)');
+---------------------------------------------------------------+
| ST_GEOMETRYFROMEWKT('SRID=32633;POINT(389866.35 5819003.03)') |
|---------------------------------------------------------------|
| SRID=32633;POINT(389866.35 5819003.03) |
+---------------------------------------------------------------+
以下示例为具有 Z 坐标(以 EWKT 格式描述)的地理空间对象返回 GEOMETRY 对象:
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT ST_GEOMETRYFROMEWKT('SRID=32633;POINTZ(389866.35 5819003.03 30)');
+-------------------------------------------------------------------+
| ST_GEOMETRYFROMEWKT('SRID=32633;POINTZ(389866.35 5819003.03 30)') |
|-------------------------------------------------------------------|
| SRID=32633;POINTZ(389866.35 5819003.03 30) |
+-------------------------------------------------------------------+
在下一个示例中,输入采用 WKT 格式,并且函数调用指定了要使用的 SRID :
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT ST_GEOMETRYFROMWKT('POINT(389866.35 5819003.03)', 4326);
+----------------------------------------------------------+
| ST_GEOMETRYFROMWKT('POINT(389866.35 5819003.03)', 4326) |
|----------------------------------------------------------|
| SRID=4326;POINT(389866.35 5819003.03) |
+----------------------------------------------------------+