跳到主要内容

TO_GEOMETRY

引入或更新于:v1.2.431

解析输入并返回 GEOMETRY 类型的值。

若解析出错,TRY_TO_GEOMETRY 返回 NULL。

语法

TO_GEOMETRY(<string>, [<srid>])
TO_GEOMETRY(<binary>, [<srid>])
TO_GEOMETRY(<variant>, [<srid>])
TRY_TO_GEOMETRY(<string>, [<srid>])
TRY_TO_GEOMETRY(<binary>, [<srid>])
TRY_TO_GEOMETRY(<variant>, [<srid>])

参数

参数描述
<string>须为 WKT、EWKT、十六进制 WKB/EWKB 或 GeoJSON 格式的字符串表达式。
<binary>须为 WKB 或 EWKB 格式的二进制表达式。
<variant>须为 GeoJSON 格式的 JSON 对象。
<srid>所用 SRID 的整数值。

返回类型

Geometry。

示例

SELECT
TO_GEOMETRY(
'POINT(1820.12 890.56)'
) AS pipeline_geometry;

┌───────────────────────┐
│ pipeline_geometry │
├───────────────────────┤
POINT(1820.12 890.56)
└───────────────────────┘

SELECT
TO_GEOMETRY(
'0101000020797f000066666666a9cb17411f85ebc19e325641', 4326
) AS pipeline_geometry;

┌───────────────────────────────────────┐
│ pipeline_geometry │
├───────────────────────────────────────┤
│ SRID=4326;POINT(389866.35 5819003.03)
└───────────────────────────────────────┘

SELECT
TO_GEOMETRY(
FROM_HEX('0101000020797f000066666666a9cb17411f85ebc19e325641'), 4326
) AS pipeline_geometry;

┌───────────────────────────────────────┐
│ pipeline_geometry │
├───────────────────────────────────────┤
│ SRID=4326;POINT(389866.35 5819003.03)
└───────────────────────────────────────┘

SELECT
TO_GEOMETRY(
'{"coordinates":[[389866,5819003],[390000,5830000]],"type":"LineString"}'
) AS pipeline_geometry;

┌───────────────────────────────────────────┐
│ pipeline_geometry │
├───────────────────────────────────────────┤
LINESTRING(389866 5819003,390000 5830000)
└───────────────────────────────────────────┘

SELECT
TO_GEOMETRY(
PARSE_JSON('{"coordinates":[[389866,5819003],[390000,5830000]],"type":"LineString"}')
) AS pipeline_geometry;

┌───────────────────────────────────────────┐
│ pipeline_geometry │
├───────────────────────────────────────────┤
LINESTRING(389866 5819003,390000 5830000)
└───────────────────────────────────────────┘
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册