地理函数
编辑地理函数编辑
此功能处于测试阶段,可能会发生变化。设计和代码不如正式 GA 功能成熟,按原样提供,不提供任何保证。测试版功能不受正式 GA 功能支持 SLA 的约束。
地理函数适用于存储在 geo_point
、geo_shape
和 shape
字段中的几何图形,或由其他地理函数返回的几何图形。
限制编辑
geo_point
、geo_shape
和 shape
类型在 SQL 中表示为几何图形,可以互换使用,但存在以下例外情况
-
geo_shape
和shape
字段没有文档值,因此这些字段不能用于过滤、分组或排序。 -
geo_points
字段默认情况下被索引并具有文档值,但是只有纬度和经度被存储和索引,并且与原始值相比存在一定精度损失(纬度为 4.190951585769653E-8,经度为 8.381903171539307E-8)。接受高度组件,但不会存储在文档值中,也不会被索引。因此,在过滤、分组或排序中调用ST_Z
函数将返回null
。
几何图形转换编辑
ST_AsWKT
编辑
概要
输入:
输出: 字符串
描述: 返回 geometry
的 WKT 表示形式。
SELECT city, ST_AsWKT(location) location FROM "geo" WHERE city = 'Amsterdam'; city:s | location:s Amsterdam |POINT (4.850312 52.347557)
ST_WKTToSQL
编辑
概要
输入:
输出: 几何图形
描述: 从 WKT 表示形式返回几何图形。
SELECT CAST(ST_WKTToSQL('POINT (10 20)') AS STRING) location; location:s POINT (10.0 20.0)
几何图形属性编辑
ST_GeometryType
编辑
概要
输入:
输出: 字符串
描述: 返回 geometry
的类型,例如 POINT、MULTIPOINT、LINESTRING、MULTILINESTRING、POLYGON、MULTIPOLYGON、GEOMETRYCOLLECTION、ENVELOPE 或 CIRCLE。
SELECT ST_GeometryType(ST_WKTToSQL('POINT (10 20)')) type; type:s POINT
ST_Z
编辑
概要
输入:
输出: 双精度浮点数
描述: 返回几何图形中第一个点的海拔高度。
SELECT ST_Z(ST_WKTToSQL('POINT (10 20 30)')) z; z:d 30.0
ST_Distance
编辑
概要
输入:
输出: 双精度浮点数
描述: 返回几何图形之间的距离(以米为单位)。两个几何图形都必须是点。
SELECT ST_Distance(ST_WKTToSQL('POINT (10 20)'), ST_WKTToSQL('POINT (20 30)')) distance; distance:d 1499101.2889383635