Я использую linspace NumPy для заполнения данных между точками.Получение numpy Linspace сгенерированные координаты
lats = (-66.44421,-66.57947,-64.81464,-64.69528)
lons = (-73.03290,-72.73904,-64.71657,-65.03036)
NO3 = (33.48,24.01,17.20,20.03)
xi = np.linspace(min(lats),max(lats),360)
yi = np.linspace(min(lons),max(lons),360)
# grid the data.
zi = griddata((lats, lons), NO3, (xi[None,:], yi[:,None]), method='cubic')
# contour the gridded data.
plt.contourf(xi,yi,zi,15,cmap=cMap)
plt.colorbar()
# plot data points.
plt.scatter(lats,lons,facecolors='none', edgecolors='k',s=26)
plt.show()
Я хочу, чтобы получить значение (отсутствующие образцы) из решетчатого цзы данных на основе пары координат, полученную от LINSPACE, но координаты не точны для Dict поиска:
# record index and value of linspace coordinates as key and value
xi_coords = {value: index for index, value in enumerate(xi)}
yi_coords = {value: index for index, value in enumerate(yi)}
# how to retrieve a value inbetween at say... (-65.11018,-67.08512)
zi[xi_coords[-65.11018], yi_coords[-67.08512]]
Возвращает Ключевая ошибка. Существует ли более разумное решение этой проблемы?
Еще раз спасибо Майк, работает над проблемой, которую у меня есть! –