我可以在GRASS中生成一个以矢量区域填充矢量的Boustrophedon模式吗?

我在GRASS中有一个矢量区域。我想生成一个矢量(一条折线),该矢量是填充该区域的bostrophedon模式。自动折线。

使用GRASS或其他GIS工具是否可能? :


起点(必须在该区域中的任何地方)
两条平行线之间的距离
方向(有助于画出模式)


评论

有趣的问题。您如何确定起点?如您的示例所示,“左上角”可能并不总是与漂亮的拐角点相关。

我回答了您对问题的评论

可能可以使用PyGRASS制作一些东西:grass.osgeo.org/grass70/manuals/libpython/pygrass_index.html

所需的输出只是在上面画有线条的图像吗,还是您确实在输出了可以提供给拖拉机以最有效地耕种田地的坐标之后?

#1 楼

我不知道如何构建这样的函数,但是可能要执行的步骤是


画一条具有所需方位角的线并创建具有偏移的新线,以便完全覆盖多边形。




缓冲多边形,以定义多边形边界和自凸齿之间的间隙。在缓冲的多边形的边界处剪切线并保留内部零件。




以正确的顺序连接线的端点和起点。 br />


评论


我尝试过同样的事情,我想您在这里遇到了什么。步骤1和2相当简单-或可以模拟。第3步比较棘手。.在postgis中,可能有可能通过沿内部缓冲区的ST_LineLocatePoint()值对表示平行线/内部缓冲区的st_intersection()的点进行排序,并连接备用对。

–史蒂文·凯(Steven Kay)
2015年12月21日在16:15



如果多边形的边界具有内角或尖峰,则连接终点和起点的线可能与边界相交。测试是否发生交点并不难,但是在这种情况下绘制线串的正确方法是什么,以及如何自动制作?找到一般的解决方案可能并不容易。

–user30184
2015年12月21日在18:32

您说对了,正确指示路线会很棘手。同样,怀疑这种方法是否会出现边缘情况,例如U形场或带孔的场:)

–史蒂文·凯(Steven Kay)
2015年12月21日在18:37