【发布时间】:2012-11-14 17:20:31
【问题描述】:
纪念日
我正在尝试编写一种智能方法来找到离轮廓点最近的网格点。
网格是一个二维网格,存储在x 和y(其中包含网格单元的x 和y 公里位置)。
轮廓是一条线,由 x 和 y 位置组成,不一定是规则间隔的。
如下图所示——红点是网格,蓝点是轮廓上的点。如何找到离每个蓝点最近的红点的索引?
编辑 - 我应该提到该网格是一个纬度/经度网格,位于非常靠近南极的区域。因此,这些点(红点)是以米为单位的距离南极的位置(使用极地立体表示法)。由于网格是地理网格,因此网格间距不相等 - 由于高纬度地区的变形,单元格的形状略有不同(红点定义单元格的顶点)。
结果是我不能只找到x 和y 矩阵的哪一行/列最接近输入点坐标 - 与meshgrid 中的常规网格不同,行中的值和 列不同...
干杯 戴夫
【问题讨论】:
-
您的网格非常规则,但未与矩形 xy 轴对齐。您能否给我们一个网格点的数学定义?我怀疑最好的方法是通过代数而不是算法找到答案 - 因为网格是明确定义的,您可以通过几何而不是通过测试点对来确定最近的点。
-
@BrianL 好主意!如果这些点具有旋转变换,您可以将它们轴向对齐,然后基于扩展框方法进行搜索!
-
@BrianL 和 Ben - 在我的编辑中,我试图详细说明网格的性质。它不与 xy 轴对齐,虽然它看起来很规则,但实际上并非如此 - 它是地理上的(纬度/经度),并且由于高纬度位置(靠近南极),最南端的单元略小于最北端。此外,对于方向 - 北在上图中的右下角,因为它是极地立体表示。
-
是的,对不起。老员工网站托管死了!我会看看我能做什么。
-
@naught101 哇,我很惊讶我能在 5 年前的备份中找到它们!