我有一种情况,我只关心一些矢量图层和二维视线。我知道通常在光栅数据上执行视线,因为典型的用途是地形。因为这个措辞含糊不清,而且我的情况接近无用:
我有一个多边形海岸线矢量shapefile,一个放在水中的“源”点,以及一个“缓冲”多边形层,代表“源”点周围的一个大半径圆。我只对源点“在视线范围内”的缓冲区多边形部分感兴趣。在下面的图像中,红点是源,橙色多边形是用海岸线修剪的缓冲区,黄色多边形是我感兴趣的。即使这不是我想要的那么好。
图片:http://i.stack.imgur.com/IKBLv.png
我想自动化我现在使用的过程(相当耗时),并且更喜欢使用python / numpy / scipy / OGR / GRASS而不是ESRI的东西。
任何想法如何沿着线追踪并检查“可见性”?我可以光栅化一切并在GRASS中使用传统的径向视线脚本,但这似乎是处理内存中保存的太多数据并运行检查像素,我们知道这些像素不会在几个向量的交集处产生碰撞。我希望在尽可能保持最高精度的同时尽可能轻松。
答案 0 :(得分:0)
考虑(迭代)你的点与海岸线shapefile中每个点之间的直线怎么样?如果它与“陆地”多边形相交(越过陆地),那么岸上的那个点就不可见了。获取所有可见的点,并使用它们形成可见区域的新多边形。