class MapDrawer: mymap = None; projection = 'hammer'; def __init__(self, projection = 'hammer', lon_0 = 0, resolution = 'c'): self.mymap = Basemap(projection, lon_0, resolution); self.mymap.bluemarble() def show_map(self): self.mymap.show(); def draw_markers(self, lats, longs, title = '', clever_mode = 0): # draw parallels and meridians. lats = np.array(lats) longs = np.array(longs) if clever_mode: print "Clever mode is under construction" xpt,ypt = self.mymap(longs,lats) print xpt; self.mymap.plot(xpt, ypt, 'ro') if title: plt.title('Tweets about ' + title) plt.show() #mymap = Basemap(projection = 'hammer', lon_0 = 0, resolution = 'c'); #xpt,ypt = mymap(longs,lats) #mymap.plot(xpt, ypt, 'ro')
def basemapPGAPlot(lons, lats, pga): lonmesh, latmesh = np.meshgrid(lons, lats) pga = np.array(pga) pga = pga.reshape((len(lons), len(lats))) plt.close() m = Basemap(projection='cyl', llcrnrlat=lats.min(), urcrnrlat=lats.max(), llcrnrlon=lons.min(), urcrnrlon=lons.max(), resolution='i') m.drawcoastlines() #m.drawmapboundary(fill_color='PaleTurquoise') #m.fillcontinents(color='lemonchiffon',lake_color='PaleTurquoise', zorder=0) m.drawmapboundary()#fill_color='lightgray') #m.fillcontinents(color='darkgray',lake_color='lightgray', zorder=0) m.drawcountries() m.drawparallels(np.arange(round(lats.min()),round(lats.max()),2), labels=[1,0,0,0]) m.drawmeridians(np.arange(round(lons.min()),round(lons.max()),2), labels=[0,0,0,1]) #m.contourf(lonmesh, latmesh, pga) #m.plot(simx[::], simy[::], 'm.') m.pcolormesh(lonmesh, latmesh, pga, vmin = 0, vmax = 20, cmap="jet") cb = m.colorbar() cb.set_label("Peak Ground Acceleration (% g)") m.show()
['NY',42.1497,-74.9384], ['OH',40.3736,-82.7755], ['OK',35.5376,-96.9247], ['OR',44.5672,-122.1269], ['PA',40.5773,-77.2640], ['RI',41.6772,-71.5101], ['SC',33.8191,-80.9066], ['SD',44.2853,-99.4632], ['TN',35.7449,-86.7489], ['TX',31.1060,-97.6475], ['UT',40.1135,-111.8535], ['VA',37.7680,-78.2057], ['VT',44.0407,-72.7093], ['WA',47.3917,-121.5708], ['WI',44.2563,-89.6385], ['WV',38.4680,-80.9696], ['WY',42.7475,-107.2085]] for i in range(len(state2LatLong)): # Get the x,y coordinate for the geoplot. Note: It's Long / Lat. x, y = geoMap(state2LatLong[i][2],state2LatLong[i][1]) geoMap.plot(x,y,'ro') geoMap.text(x+10000,y+10000,state2LatLong[i][0], bbox=dict(facecolor='yellow',alpha=0.5)) # Adjust size of image geoMap.gcf().set_size_inches(12.0,8.0) # Add Title and show. geoMap.title("US Map with Labels") geoMap.show()