def plot_pierce_points(self,depth=410.0,ax='None',**kwargs):
####################################################################################
'''
Plots pierce points for a given depth. If an axes object is supplied
as an argument it will use it for the plot. Otherwise, a new axes
object is created.
kwargs:
depth: pierce point depth
proj: map projection. if none given, a default basemap axis is
made, defined by the coordinates of the corners. if 'ortho'
is given, a globe centered on Lat_0 and Lon_0 is made.
ll_corner_lat: latitude of lower left corner of map
ll_corner_lon: longitude of lower left corner of map
ur_corner_lat: latitude of upper right corner of map
Lat_0: latitude center of ortho
Lon_0: logitude center of ortho
return_ax: whether or you return the basemap axis object. default False
'''
proj=kwargs.get('proj','default')
ll_lat=kwargs.get('ll_corner_lat',-35.0)
ll_lon=kwargs.get('ll_corner_lon',0.0)
ur_lat=kwargs.get('ur_corner_lat',35.0)
ur_lon=kwargs.get('ur_corner_lon',120.0)
Lat_0=kwargs.get('Lat_0',0.0)
Lon_0=kwargs.get('Lon_0',0.0)
return_ax =kwargs.get('return_ax',False)
if ax == 'None':
if proj == 'default':
m = Basemap(llcrnrlon=ll_lon,llcrnrlat=ll_lat,urcrnrlon=ur_lon,urcrnrlat=ur_lat)
elif proj == 'ortho':
m = Basemap(projection='ortho',lat_0=Lat_0,lon_0=Lon_0)
m.drawmapboundary()
m.drawcoastlines()
m.fillcontinents()
else:
m = ax
found_points = False
for ii in self.pierce:
if ii['depth'] == depth:
x,y = m(ii['lon'],ii['lat'])
found_points = True
if found_points == True:
m.scatter(x,y,100,marker='+',color='r',zorder=99)
else:
print "no pierce points found for the given depth"
###############################################################################
评论列表
文章目录