雪花GIS - 合并多边形的轮廓

问题描述 投票:0回答:1

我意识到 Snowflake 中的许多功能在

GeometryCollection
上不起作用,因此我尝试将多边形合并为一个。

我与西班牙市政当局有一张桌子,我想加入其中的一些。当我使用

ST_COLLECT
时,通过将它们连接在一起效果很好,但输出显然是一个集合。

我也想将它作为一个多边形,但我找不到一种方法来做到这一点:

-- geo_shape is a result of TO_GEOGRAPHY() on a GeoJSON column
SELECT
  ST_BUFFER(ST_COLLECT(geo_shape), 0)
FROM municipalities

给了我

Invalid argument types for function 'ST_BUFFER': (GEOGRAPHY, NUMBER(1,0))
错误,因为第一个参数必须是
Geometry
而不是
Geography

如果我更改为

ST_UNION
那么我会得到
Invalid argument types for function 'ST_UNION': (GEOGRAPHY)

我觉得我要么错过了一些知识,要么我需要做一些转换,但本质上我正在寻找 ArcGIS 中的等效合并函数。

sql snowflake-cloud-data-platform gis geospatial
1个回答
0
投票

我认为你可以使用 (TO_GEOMETRY) 将 GEOGRAPHY 对象转换为 GEOMETRY 对象。

选择 ST_BUFFER(ST_COLLECT(TO_GEOMETRY(geo_shape)), 0) 来自市政府

距离我上次使用地理参考数据库已经有几个世纪了,所以这可能不是最终的答案,但你可以查看文档。 https://docs.snowflake.com/en/sql-reference/functions/to_geometry

希望对兄弟有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.