如何在postGIS中找到重叠点

时间:2015-08-10 06:56:57

标签: postgresql duplicates postgis

我在postgis中有一组带有xcoordinate和ycordinate的点数据集。由于它们具有相同的x坐标和ycoordniate,因此几个点彼此重叠。如何在postgresql中使用查询找到重叠点?

1 个答案:

答案 0 :(得分:3)

使用聚合函数至少有两种方法可以找到重复记录。假设表格my_table包含几何列geom和主键gid

首先,使用HAVING语句,并使用array_agg收集主键:

SELECT array_agg(gid), count(*)
FROM my_table
GROUP BY geom
HAVING count(gid) > 1;

其次,使用WINDOW来计算分区。

WITH data AS (
  SELECT gid, count(*) OVER (PARTITION BY geom)
  FROM my_table
)
SELECT * FROM data WHERE count > 1;