我正在尝试内插来自空气监测站的数据。
几乎每个记录都有一个空气质量值和它们的纬度、经度。但也有一些记录缺乏价值。例如,数据如下所示:
116° 42° 10
117° 43° missing
120° 20° 1000我想使用scikit-learn的GPR (GaussianProcessRegressor)来插值缺失的值。
我知道二维数据可以像这个问题learn中的最后一个答案一样被处理。
我的问题是:我不应该直接用纬度和经度来完成这个任务,因为地球是一个球体,所以纬度/经度不是通常的平面二维网格。
我想问如何定义距离函数时,使用科学工具包-学习的探地雷达,还是我只是投射这些lat/lon点的平面和使用他们?我没有试过,因为投射过程中的前奏损失让我很难过:
(如有任何建议:)
ps。两个lat/lon点之间的距离可以用像Calculate distance between two latitude-longitude points? (Haversine formula)这样的Haversine公式来计算。
发布于 2021-12-22 00:40:34
变量函数()构造函数有一个参数dist_func=‘欧几里得’。您可以尝试用自定义的haversine函数替换欧几里德。
请参阅scipy.spatial.distance.pdist
https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html
dm = pdist(X,lambda u,v: np.sqrt(U)**2).sum()
我还没试过。
https://stackoverflow.com/questions/53333971
复制相似问题