def interpolation(lon, lat, lst):
#lon, lat分别为徐插值点的坐标,lst为已有点构成的列表[[x,y,f],[x1,y1,f1]]
p0 = [lon, lat]
sum0 = 0
sum1 = 0
temp = []
for point in lst:
if lon == point[0] and lat == point[1]:
return point[2]
Di = distance(p0, point)
ptn = copy.deepcopy(point)
ptn = list(ptn)
ptn.append(Di)
temp.append(ptn)
temp1 = sorted(temp, key=lambda point: point[3])
for point in temp1[0:15]:
sum0 += point[2] / math.pow(point[3], 2)
sum1 += 1 / math.pow(point[3], 2)
return sum0 / sum1
def distance(p, pi):
dis = (p[0] - pi[0]) * (p[0] - pi[0]) + (p[1] - pi[1]) * (p[1] - pi[1])
m_result = math.sqrt(dis)
return m_result
在上面的示例中,我们使用了预先计算的距离,但在大多数实际用例中,我们必须自己计算距离。这是我们可以使用预先存在的库来计算距离并执行插值的地方。在上面的代码中,我们创建了一个数据框,其中包含我们需要估计值的纬度和经度对。IDW 通过使用已知值与要估计值的点的距离加权来估计未知点的值。将使用 predict 方法来估计存储在 itrp 数据帧中的网格点的值。在我们的示例中,我们将从班加罗尔市的空气质量数据中插入 PM2.5 值。地理空间插值是用于使用已知值估计地理区域中未知点的值的过程。
前面几篇推文我们分辨介绍了使用Python和R绘制了二维核密度空间插值方法,并使用了Python可视化库plotnine、Basemap以及R的ggplot2完成了相关可视化教程的绘制推文,详细内容如下:接下来,我们将继续介绍空间插值的其他方法,本期推文,我们将介绍IDW(反距离加权法(Inverse Distance Weighted)) 插值的Python计算方法及插值结果的可视化绘制过程。主...
反距离加权法(Inverse Distance Weighted)插值是近期做大数据显示时使用的插值方法,很好用的插值方法。
反距离权重法主要依赖于反距离的幂值,幂参数可基于距输出点的距离来控制已知点对内插值的影响。幂参数是一个正实数,默认值为2。(一般0.5到3的值可获得最合理的结果)。
通过定义更高的幂值,可进一步强调最近点。因此,邻近数据将受到更大影...
使用反距离权重法 (IDW) 获得的像元输出值限定在插值时用到的值范围之内。因为反距离权重法是加权平均距离,所以该平均值不可能大于最大输入或小于最小输入。因此,如果尚未对这些极值采样,便无法创建山脊或山谷 (Watson and Philip 1985)。
如果采样对于正在尝
本文我们将介绍IDW(反距离加权法(Inverse Distance Weighted))插值的Python计算方法及插值结果的可视化绘制过程。主要涉及的知识点如下:
IDW简介
自定义Python代码计算空间IDW
分别使用plotnine、Basemap进行IDW插值结果可视化绘制
IDW简介
反距离权重 (IDW)插值假设:彼此距离较近的事物要比彼此距离较远的事物更相似。当为任何未测量的位置预测值时,反距离权重法会采用预测位置周围的测量值与距离预测位置较远的测量值相..
反距离权重插值适用于整个研究区数据均匀分布,不存在聚类的情况,效果最优!
步骤一:启动地统计向导,选择确定性方法中的反距离权重法,选择插值的源数据集和数据字段,如有必要,可添加权重字段,完毕后进入下一步。
步骤二:常规属性中,优化幂参数,搜索邻域中,设置最大最小相邻要素数,以及扇区类型,长半轴、短半轴和角度(此步的设置是之前章节介绍的向异性中各参数的探索结果),设置完成,单击下一步。