0
가스 배출량의 글로벌 맵을 표시하려고합니다. 그러나, 그것은 내 데이터 (NH3idx) 앰프에 음모를 얻을 수없는 것 같습니다. 위도 경도 좌표에서지도 투영 좌표로의 변환이 잘못되었는지 또는 내가 음모를 꾸미려고하는 데이터를 읽을 수 없는지 여부는 알 수 없습니다.내 데이터를 basemap에 countour 맵으로 플롯 할 수 없습니다.
import numpy as np
import pylab as plt
import math
from mpl_toolkits.basemap import Basemap
import csv
dlat = 0.1
dlon = 0.1
nlat = 1800
nlon = 3600
longrid = -180 + np.arange(nlon) * dlon
latgrid = -90 + np.arange(nlat) * dlat
NH3idx = np.zeros([nlon,nlat])
with open ('NH3_2008.txt') as csvfile:
plots = csv.reader(csvfile, delimiter=';')
for row in plots:
inlon = float(row[1])
inlat = float(row[0])
lonidx = int(abs(inlon + 180)/dlon)
latidx = int(abs(inlat +90)/dlat)
NH3idx[lonidx,latidx] = float(row[2])
plt.figure(figsize=(20,10))
m = Basemap(projection='cyl', llcrnrlat=-90,urcrnrlat=90,\
llcrnrlon=-180,urcrnrlon=180,resolution='l')
y,x = np.meshgrid(latgrid, longrid)
m.drawcoastlines()
m.drawmeridians(np.arange(-180.,180.,20.))
m.drawparallels(np.arange(-90.,90.,20.))
m.drawmapboundary(fill_color='white')
plt.contourf(x,y,NH3idx)
plt.colorbar()
plt.show()
내 데이터는 다음과 같다 :
the columns are lat, lon, emissions
먼저베이스 맵에 좌표를 변환 할 필요가