我有一个巨大的shapefile,有36.000个非重叠多边形(城市边界)。我想轻松确定给定纬度/经度下降的多边形。鉴于它必须具有极高的计算效率,最好的方法是什么?
我正在考虑创建一个查找表(tilex,tiley,polygone_id),其中tilex和tiley是缩放级别21或22的tile标识符。是的,使用tile数字和平面投影的精度不足是可以接受的。应用
我宁愿不使用postgres的GIS扩展程序,并且可以运行2天来生成所有INSERT语句的程序。
答案 0 :(得分:1)
将语句插入什么?您使用的是其他空间数据库还是其他数据库?如果你愿意使用python,C或Java,你可以使用shapely,GEOS或JTS来编写一些自定义代码来做你想要的而不是简单。
在python中使用此lib来打开shapefile http://indiemaps.com/blog/2008/03/easy-shapefile-loading-in-python/
然后匀称 http://gispython.org/shapely/docs/1.0/manual.html#contains 测试遏制对于Java,使用Geotools,它也包含JTS。
答案 1 :(得分:0)
听起来你想要一个BSP tree。基本上,您将区域划分为越来越小的多边形,就像时尚一样。
优点是您不需要稍后将坐标与每个多边形进行比较。这使得它成为一种非常快速的方法来找到正确的多边形。
答案 2 :(得分:0)
QGIS / Vector工具具有您正在寻找的功能