# **ST\_GEOMFROMTEXT**

将`WKT`格式的地理字符串转换为地理类型。

`WKT`是一种描述点、线、面等几何信息的简易文本字符串，非常易于存储。
当用于地理函数运算时，需要转换为地理类型，比如：判断某个地点是否在指定的地理范围内（参考[ST\_WITHIN](./ST_WITHIN.md)）。

`WKT`格式说明

1. 坐标：`POINT(116.397 39.908)` 其中116.397表示经度，39.908表示纬度。
2. 路线：`LINESTRING(116.397 39.908,121.4737 31.2304)`
3. 区域：`POLYGON((116.397 39.908,121.4737 31.2304,113.2644 23.1291,116.397 39.908))`
   1. 区域的坐标是闭环的，即开始坐标和结尾坐标必需相同。
   2. 区域使用了双括号，是为了表示有洞的多边形：`POLYGON((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 20, 20 30))`

`WKT`标准参考：

https://postgis.net/docs/manual-3.5/using\_postgis\_dbmanagement.html#OpenGISWKBWKT

https://en.wikipedia.org/wiki/Well-known\_text\_representation\_of\_geometry

PostGIS标准参考：https://postgis.net/docs/manual-3.5/ST\_GeomFromText.html

## 语法{#grammar}

ST\_GEOMFROMTEXT(**wkt**, **srid**)

- **wkt**：必需，字符串，表示`WKT`格式的几何字符串，比如：`POINT(经度 纬度)`。
- **srid**：可选，整数，表示坐标的参考系，默认值为`4326`，表示`WGS84`坐标系。

## 示例{#examples}

1. `ST_GEOMFROMTEXT('POINT(117.195907 39.118327)')` 将`WKT`格式的坐标字符串转换为地理坐标类型。
2. `ST_GEOMFROMTEXT('LINESTRING(116.397 39.908,121.4737 31.2304)')` 将`WKT`格式的路线字符串转换为地理路线类型。
3. `ST_GEOMFROMTEXT('POLYGON((116.397 39.908, 121.4737 31.2304,113.2644 23.1291,116.397 39.908))')` 将`WKT`格式的区域字符串转换为地理区域类型。
4. `ST_WITHIN([企业信息].[地理坐标], ST_GEOMFROMTEXT('POLYGON((117.195907 39.118327, 116.925304 38.935671, 117.654173 39.032846, 117.195907 39.118327))'))` 查询用户绘制的一个多边形内的企业。
