使用PostGIS查询线性要素与多边形缓冲区交集的性能优化求助
PostGIS线性要素与多边形缓冲区交集查询性能优化求助
我正在使用PostGIS,需要查找线性要素(mylines)仅与多边形要素(mypoly)缓冲区的交集。当前查询能正常运行,但耗时13.369秒。虽然现在数据集不大,但数据量增长后耗时肯定会大幅增加,已经花了一周尝试优化都没成功,求帮助!
原查询代码:
SELECT id, i.clipped_geom FROM mylines AS a Cross JOIN Lateral (SELECT (ST_Intersection(ST_UnaryUnion((ST_Multi(ST_Difference((ST_Buffer(ST_Transform((ST_MakeValid(b.geom)),26913),50)),ST_Transform(ST_MakeValid(b.geom),26913))))),ST_Transform(a.geom,26913))) AS clipped_geom FROM mypoly b WHERE st_intersects(ST_Transform(a.geom,26913),ST_Transform(b.geom,26913))) AS i
注:我对查询语句做了小幅修改,但性能结果一致。下图展示了分析结果及空间索引。我刚接触PostGIS,若需更多信息请告知:

内容的提问来源于stack exchange,提问作者floyd434
相关产品推荐
相关产品推荐

