PostGIS:如何合并共享相同属性值的连续要素?


9

我有一个很大的PostGIS表,用于存储线要素。

我想合并彼此连接并具有相同属性值的要素。以下是我想要实现的示例。

  • 不会合并最外面的要素(黑色和蓝色的要素),因为即使它们的属性值相同也不会连续
  • 绿色和红色要素已合并,因为它们同时符合两个条件
  • 仍然保留黄色功能。

您将如何通过SQL查询实现这一目标? 在此处输入图片说明

Answers:


7

您可以使用ST_ClusterIntersecting来做到这一点

SELECT attr, unnest(ST_ClusterIntersecting(geom))
FROM lines
GROUP by attr;

谢谢@dbaston!未来几天我会尝试的,并通知您。
wiltomap '16

该功能ST_ClusterIntersecting()可从PostGIS 2.2获得。...有较旧版本的解决方案吗?我使用的是PostGIS 2.1.8,目前无法升级PostGIS。
wiltomap '16

我认为没有什么好...。实际上是这种情况促使我写作ST_ClusterIntersecting。2.2之前的一些想法位于gis.stackexchange.com/q/94203/18189
dbaston '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.