我在numpy数组中有一个二维网格(lat,lon)数据数组。从这个数组中的一个指定点开始,我想在不同的方向上延伸两条线,这样两条线之间的区域就形成了一个圆的扇区。这在下面的可视化中得到了最好的解释:
图像中的数字没有任何意义,它们只是为了形象化。你知道吗
我希望将扇区内的所有点转换为NaN值,以便可以捕获红零的索引。(在图中,把这些画成红零比较容易,但是NaN更可取。这实际上是他们的索引,我在后面。)这个的输入将是数组,弧的中心点,以及每条线相对于水平线(或垂直线)的角度。这些线应该延伸到(lat,lon)区域的边缘之外,如图所示。你知道吗
有人能给我一个开始的建议吗?哪些numpy程序最有帮助?我承认有点难堪。你知道吗
编辑:我还有一个匹配的网格纬度和网格经度数组。中心点的整数索引是已知的(因为我知道中心点的纬度/经度)。”这里的“角”和“线”指的是字面上的地理空间。你知道吗
让您拥有中心索引
cx, cy
预先计算扇区起始角和终止角的值:
并使用边界条件将floodfill设为零:
前一种方法:
对于小弧角(<;90度):
选择填充方向-在大多数情况下,水平线是很好的选择,而对于某些开始/结束方向,垂直填充更方便(例如:350度-10度)
使用Bresenham line algorithm从中心沿光线进行遍历。对于每个Y步,用零填充光线之间或光线与矩形(数组)边框之间的水平线
对于较大的弧-按OX、OY轴将弧分为一些较小的弧。你知道吗
相关问题 更多 >
编程相关推荐