如何非常有效地将lat / long分配给形状描述的城市边界?

时间:2010-05-05 11:54:15

标签: gis spatial shapefile

我有一个巨大的shapefile,有36.000个非重叠多边形(城市边界)。我想轻松确定给定纬度/经度下降的多边形。鉴于它必须具有极高的计算效率,最好的方法是什么?

我正在考虑创建一个查找表(tilex,tiley,polygone_id),其中tilex和tiley是缩放级别21或22的tile标识符。是的,使用tile数字和平面投影的精度不足是可以接受的。应用

我宁愿不使用postgres的GIS扩展程序,并且可以运行2天来生成所有INSERT语句的程序。

3 个答案:

答案 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工具具有您正在寻找的功能