【问题标题】:Count the number of unique geometries in PostGIS计算 PostGIS 中唯一几何的数量
【发布时间】:2022-10-15 12:51:04
【问题描述】:

我有一个由线段组成的超过 32M 行的表。我知道有些线段是重复的(但没有其他唯一 ID)。我需要知道数据库中有多少独特的几何图形才能估计另一个进程的运行时间(即,我认为如果我过滤掉重复项,我可以限制运行时间)。

【问题讨论】:

标签: postgis unique-constraint


【解决方案1】:

您可以先删除重复项,然后再计算。请注意,您必须添加一个序列号 (id) 才能使其正常工作。如果您在几何列中添加了空间索引,ST_DWithin 子句会加快速度。

DELETE FROM schema_name.table_name a
USING schema_name.table_name b 
WHERE a.id > b.id 
AND ST_Equals(a.geom, b.geom)
AND ST_DWithin(a.geom, b.geom, 0);

然后SELECT COUNT(*) FROM schema_name.table_name。或者,您可以直接计算而不首先删除。

【讨论】:

  • @Timorth Dalton 谢谢你。所以,如果不创建另一个表,我只会删除“DELETE”命令,对吗?
  • 你可以试试SELECT DISTINCT ON (ST_AsBinary(geom)) AS geom, id FROM schema_name.table_name
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-20
  • 2018-03-11
  • 2015-04-18
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多