我正在使用看似太碎片化以便无法有效查询的无线电地图。当我询问单个点是否在多重多边形内(我已经测试过“内部”/“包含”/“重叠”)时,响应时间为20-40秒。我使用PostGIS和GeoDjango来抽象查询。如何使用PostGIS高效查询大型多边形
多面体列有一个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表明无线电部门和地图正确放置在地形中。
我的测试查询一次只有一个房子在一个单一的无线电地图。我已经测试如“内” /“包含” /“重叠”的查询,其结果是相同的:
子第二响应如果房子“远离”无线电地图(我想这是因为它在查询中自动使用的边界框之外)。
如果住宅/地点靠近或位于无线电地图内,则需要20-40秒的响应时间。
我是否有其他方法来优化查询,还是必须以某种方式更改/简化源材料?任何建议表示赞赏。
您可以在专门的网站上找到GIS相关的问题更多专家解答http://gis.stackexchange.com/questions – amercader 2010-08-03 22:05:54
请詹姆斯,你会介意分享在这里,你做了什么,我是个新手,我面临同样的问题,我不知道如何做到这一点非常感谢。 – 2012-02-06 07:09:41