MaxCompute 提供一系列以 ST_开头的地理函数,用于构造、转换和分析 GEOGRAPHY 类型的地理数据。通过这些函数,可以从经纬度坐标或 WKT/WKB 文本创建点、线、多边形等地理对象,提取坐标、边界框等属性信息,判断地理对象之间的包含、相交、覆盖等空间关系,以及计算地理对象之间的距离。
目前支持的地理函数如下:
分类 | 函数 | 说明 |
构造与解析 | 通过指定的经度和纬度构造一个 Point 类型的地理对象 | |
通过指定的端点构造 LineString 类型的地理对象 | ||
通过指定外部边界(shell)和 0 个或多个洞(hole)构造 Polygon 类型的地理对象 | ||
将 WKT 格式的字符串转换为 GEOGRAPHY 类型的地理对象 | ||
将 WKB 格式的 BINARY 数据转换为 GEOGRAPHY 类型的地理对象 | ||
格式化 | 将 GEOGRAPHY 值转换为 BINARY 类型的 WKB 格式 | |
将 GEOGRAPHY 值转换为 STRING 类型的 WKT 格式 | ||
属性访问 | 获取 GEOGRAPHY 值的 BoundingBox 信息 | |
从 POINT 类型的地理对象中获取经度值 | ||
从 POINT 类型的地理对象中获取纬度值 | ||
空间运算 | 判断 value1 对应的地理对象是否包含 value2 对应的地理对象 | |
判断 value1 对应的地理对象是否覆盖 value2 对应的地理对象(value2 的所有点均在 value1 的边界或内部) | ||
判断两个地理对象是否相交(存在至少一个公共点) | ||
判断 value1 对应的地理对象是否被包含在 value2 对应的地理对象中 | ||
判断两个地理对象之间的最短距离是否小于或等于指定的距离值 | ||
计算两个地理对象之间的最短距离,单位为米 |