【发布时间】:2023-08-24 14:37:01
【问题描述】:
我正在处理似乎过于分散而无法有效查询的无线电地图。当我询问单个点是否在多面体内时,响应时间为 20-40 秒(我已经测试了“内部”/“包含”/“重叠”)。我使用 PostGIS 和 GeoDjango 来抽象查询。
多多边形列有一个 GiST 索引,我尝试过 VACUUM ANALYZE。我使用 PostgreSQL 8.3.7。和 Django 1.2。
这些地图覆盖了广阔的地理区域。它们最初是由地形感知无线电工具生成的,the radio cells/polygons are therefore fragmented。
我的目标是查询多面体中的点(即可能被信号覆盖或未覆盖的房屋)。
所有的无线电地图都由 100.000 到 300.000 个顶点(总计)组成,多边形的数量变化很大。有些地图的多边形少于 10 个。从那里它跳到 10.000 到 30.000 个多边形之间。多边形与顶点的比率似乎对完成查询所需的时间影响不大。
我使用投影坐标系,并为房屋和无线电扇区使用相同的系统。 Qgis 显示无线电扇区和地图正确放置在地形中。
我的测试查询一次只针对一张单选地图中的一所房子。我测试过“within”/“contains”/“overlaps”之类的查询,结果是一样的:
如果房子“远离”无线电地图,则响应亚秒级(我猜这是因为它位于查询中自动使用的边界框之外)。
如果房屋/点靠近或在无线电地图内,则响应时间为 20-40 秒。
我是否有其他方法来优化查询,或者我必须以某种方式更改/简化源材料?任何建议表示赞赏。
【问题讨论】:
-
您可以在专用站点gis.stackexchange.com/questions找到更多有关GIS相关问题的专家解答
-
请詹姆斯你介意在这里分享你做了什么我是新手,我面临同样的问题,我不知道该怎么做非常感谢。