我正在尝试基于两个多边形特征的交集编写一个新列,这些多边形特征在一个表中有 50m 行,我在运行它们之前创建了“gist”索引,但它需要很长时间,而且我无法在 Postgresql 中得到结果。计算中不使用要点索引。如何使用索引进行操作?
该模型附在下面的小提琴中,
CREATE INDEX idx_operation_geom ON public."Operation" USING gist (geom);
CREATE INDEX idx_operation_buffer ON public."Operation" USING gist (buffer);
CREATE INDEX idx_residential_geom ON public."Residential" USING gist (geom);
SELECT
ST_Intersection(ST_MakeValid(r.geom),o.buffer) AS intersection,
ST_Area(ST_Intersection(ST_MakeValid(r.geom),o.buffer))/ST_Area(r.geom)*100
FROM public."Residential" r, public."Operation" o
WHERE ST_Intersects(o.buffer,ST_MakeValid(r.geom));
我尝试使用“解释”检查索引,但我不确定它是如何工作的,
错误:运算符不存在:几何 = 整数第 1 行:EXPLAIN SELECT * FROM public."Operation" where buffer = 2;
任何输入都会非常有帮助。