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

如何在Snowflake中将LV95坐标转为WGS84并创建GEOGRAPHY类型?

在Snowflake中转换LV95坐标为WGS84并创建GEOGRAPHY类型

你的代码确实可以正常生效,但存在冗余步骤,不是最简洁的实现方式。

问题拆解与优化说明

  • ST_MAKEGEOMPOINT("X", "Y"):这一步是正确的,LV95(EPSG:2056)属于投影坐标系,需要先基于X/Y浮点值创建GEOMETRY类型的平面点。
  • ST_TRANSFORM(..., 2056, 4326):坐标转换逻辑正确,能把LV95坐标系的几何对象转为WGS84(EPSG:4326)地理坐标系的对象。
  • 冗余环节:你用ST_ASGEOJSON转成JSON字符串再通过TO_GEOGRAPHY解析,这一步完全没必要——EPSG:4326的GEOMETRY对象可以直接转成GEOGRAPHY类型。

优化后的代码

TO_GEOGRAPHY(ST_TRANSFORM(ST_MAKEGEOMPOINT("X", "Y"), 2056, 4326))

批量转换示例

如果需要在表中批量生成并存储GEOGRAPHY字段,可以执行以下语句:

-- 添加GEOGRAPHY类型字段
ALTER TABLE your_table ADD COLUMN wgs84_geography GEOGRAPHY;

-- 批量转换并赋值
UPDATE your_table 
SET wgs84_geography = TO_GEOGRAPHY(ST_TRANSFORM(ST_MAKEGEOMPOINT("X", "Y"), 2056, 4326));

注意事项

确保你的X和Y字段值符合LV95的坐标范围(X:2485000-2835000,Y:1075000-1295000),避免生成无效的地理点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:34:57