簡體   English   中英

在兩個 x,y,z 點之間線性插值高程

[英]Linearly interpolate elevation between two x,y,z points

我正在嘗試獲取 x、y、z 點之間的高程值。 使用 scipy.interpolate.interp2d,像這樣:

x = np.array((140.865, 140.863))
y = np.array((59.8817, 59.8814))
z = np.array((121, 127))
f = scipy.interpolate.interp2d(x,y,z, kind="linear")
z_new = f(140.864,59.58816)

我收到以下錯誤:

TypeError: m >= (kx+1)(ky+1) must hold

我還沒有找到有關此類型錯誤的明確文檔。 也許我為 interp2d 使用的數據點太少?

根據此處的文檔:

沿插值軸所需的最小數據點數為 (k+1)**2,k=1 表示線性,k=3 表示三次插值,k=5 表示五次插值。

由於您使用了linear ,(1+1)**2=4,不幸的是您只提供了兩個數據點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM