Как я могу исправить ошибку интерполяции данных 2D сетки в Python? - PullRequest
1 голос
/ 12 октября 2019

Я хочу интерполировать данные вблизи береговой линии, чтобы пустое пространство было заполнено. Но результат не соответствует моим ожиданиям. Я новичок в Python.

lat = nc.variables['latitude'][:]
lon = nc.variables['longitude'][:]
SigH = nc.variables['VHM0'][:]
nc.close()

map = Basemap(projection='merc',llcrnrlat=-12,urcrnrlat=1,\
              llcrnrlon=99,urcrnrlon=114,resolution='f')

lons, lats = np.meshgrid(lon, lat)
x,y = map(lons,lats)
x2 = np.linspace(x[0][0],x[0][-1], x.shape[1]*5)
y2 = np.linspace(y[0][0],y[-1][0], y.shape[0]*5)
x2, y2 = np.meshgrid(x2, y2)
data2 = interp(SigH[1,:,:],  x[0],y[:, 0], x2, y2,order=1)
lons2, lats2 = map(x2, y2, inverse=True)
mdata = maskoceans(lons2, lats2, data2, resolution='h', grid=1.25, inlands=True)

map.drawcoastlines(color='0.15')
map.contourf(x2, y2, mdata)

На базовой карте нет заполненных данных. Результат:

result

Мой файл данных в формате nc

...