Как связать pcolormesh в шейп-файле - PullRequest
0 голосов
/ 05 июня 2019

Я использую базовую карту pcolormesh для создания карты данных о температуре.Единственная проблема заключается в том, что pcolormesh требует хорошо разнесенной сетки точек для правильной интерполяции между точками.Это означает, что если у вас есть объект неправильной формы, например страна или штат, вы в конечном итоге создадите сетку, которая пересекает края объекта, и будет прямоугольной.

Например, вот температураданные, собранные на нескольких измерительных станциях, сопоставленных с шейп-файлом Калифорнии:

#Shapefile info for California
map.readshapefile('tl_2016_06_cousub/tl_2016_06_cousub', 'comarques')
#initialize map
map = Basemap(projection='lcc', lat_0=38.3004, lon_0=-119.4179, width=1300000, height=1300000)


#lon2 and lat2 are the appropriate np.meshgrids
map.pcolormesh(lon2, lat2, z, latlon=True, cmap='RdBu_r')
plt.clim(dec_31[1:].min(),dec_31[1:].max())
plt.colorbar()
cs = map.contourf(lon2,lat2,z,range(0, 3600, 200))


x, y = map(stat_lon,stat_lat)
map.scatter(x, y, marker='D',color='m')


plt.show()

Это создает что-то вроде этого: https://imgur.com/a/n1EqUKz

Итак, я хочу либо ограничить отображение pcolormeshс помощью шейп-файла или замаскировать все, что находится вне шейп-файла, чтобы я получил карту температур по всей Калифорнии.

...