You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SparkSQL获取地理空间POINT 等效实现PostgreSQL对应ST函数逻辑

Databricks SparkSQL 空间坐标转换等价实现方案

核心实现逻辑

Databricks 官方提供的 Mosaic 空间函数库完全对齐 PostGIS 函数的命名规则、入参要求和计算精度,你可以直接使用和原逻辑几乎完全一致的 SQL 写法:

  1. 首先开启会话级别的 Mosaic 函数支持(单次会话执行一次即可)
SET spark.databricks.labs.mosaic.functions = true;
  1. 执行坐标转换查询,和原 PostgreSQL 逻辑100%匹配:
SELECT ST_Transform(ST_SetSRID(ST_MakePoint(x, y), 4326), 3857) AS web_mercator_point
FROM 你的业务表名;

注意事项

  • ST_MakePoint 入参顺序和 PostGIS 完全一致:第一个参数为经度(X坐标值),第二个参数为纬度(Y坐标值),不要颠倒顺序
  • 底层坐标系转换依赖 PROJ 库实现,和 PostGIS 转换精度完全一致,不会出现坐标偏移问题
  • 若需要将二进制点位结果转为可读的 WKT 文本,可在外层嵌套 ST_AsText() 函数,用法和 PostGIS 完全相同
  • 如果你使用的 Databricks Runtime 版本低于 12.2 LTS,可先在集群的库管理中搜索安装 databricks-labs-mosaic 后再执行上述代码

内容的提问来源于stack exchange,提问作者user2793343

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:27:01