【发布时间】:2017-09-12 21:17:54
【问题描述】:
我正在使用griddata() 插入我的(不规则的)二维深度测量; x,y,depth。该方法做得很好 - 但它在整个网格上进行插值,它可以找到相反的点。我不想要那种行为。我想在现有测量值周围进行插值,比如在一定半径范围内。
是否可以告诉 numpy/scipy:如果您离现有测量太远,请不要插值?导致 NODATA 值?理想=griddata(.., .., .., radius=5.0)
编辑示例: 在下图中;黑点是测量值。蓝色阴影是 numpy 插值的单元格。以绿色标记的区域实际上是图片的一部分,但被 numpy 视为 NODATA(因为中间没有点)。现在,红色区域已被插值,但我想摆脱它们。有任何想法吗?
【问题讨论】:
-
如果我理解正确,您实际上在 {x,y,depth} 中没有网格,而是在该空间中有一些稀疏或随机定位的点?
-
@v.chaplin 是的,这是正确的。它是一个测深数据集。它具有“随机”分布的测量值,包括运河、岛屿等。我使用 griddata 对图像进行插值。但是例如岛屿被插入为水。那不是真的,我想摆脱它。
-
您希望插值仅基于阈值距离内的点,还是仅用于分配
nan? -
hm,有点.. 首先:基本上每个在该单元格一定半径内没有点的单元格都可以分配 NODATA。而且,对于岛屿周围的海岸,我只想使用岛屿那一侧的点进行插值。
-
红线是怎么产生的?
标签: python numpy interpolation