def getWMS(url_base):
    mercator_url1 = "http://nrtcmems.mercator-ocean.fr/thredds/wms/global-analysis-forecast-phys-001-024"
    mercator_url2 = "http://nrtcmems.mercator-ocean.fr/thredds/wms/global-analysis-forecast-phys-001-024-2hourly-t-u-v-ssh"
    mercator_url3 = "http://rancmems.mercator-ocean.fr/thredds/wms/dataset-global-reanalysis-phy-001-025-ran-fr-glorys2v4-daily"
    ll_request = False
    if url_base is mercator_url1 or url_base is mercator_url2 or url_base is mercator_url3:
        print "Mercator case"
        if 'http_proxy' in os.environ:
            del os.environ['http_proxy']
        if 'https_proxy' in os.environ:
            del os.environ['https_proxy']
    else:
        print "Not internal server"
        if not "http_proxy" in os.environ:
            print "Set the http_proxy variable to pass the proxy"
            sys.exit(1)
    serverurl = url_base[0]
    version = "1.1.1"
    url = url_base[
        0] + '?service=WMS&version=' + version + '&request=GetCapabilities'
    lon_min = -118.8
    lon_max = -108.6
    lat_min = 22.15
    lat_max = 32.34
    m = Basemap(llcrnrlon=lon_min,
                urcrnrlat=lat_max,
                urcrnrlon=lon_max,
                llcrnrlat=lat_min,
                resolution='i',
                epsg=4326)
    m.wmsimage(serverurl,
               xpixels=500,
               verbose=True,
               layers=['thetao'],
               elevation='-0.49402499198913574',
               colorscalerange='271.2,308',
               numcolorbands='20',
               logscale=False,
               styles=['boxfill/ferret'])
    # styles=['boxfill/rainbow'])
    #time=datetime.utcnow().strftime('%Y-%m-%dT12:00:00.000Z'),
    plt.figure()
    m.drawcoastlines(linewidth=0.25)
    parallels = np.arange(20, 36, 2.)
    a = m.drawparallels(parallels, labels=[1, 0, 0, 0], fontsize=10)
    meridians = np.arange(-120, -100, 2.)
    b = m.drawmeridians(meridians, labels=[0, 0, 0, 1], fontsize=10)
Beispiel #2
0
def plot_city_map(city_slice: CitySlice, field: CityField, need_show=True):
    plt.figure(figsize=(10, 10))
    if city_slice.city_name == 'msc':
        lat0, lon0 = 55.75378, 37.6223
    elif city_slice.city_name == 'spb':
        lat0, lon0 = 59.92697, 30.31852

    dx = 0.3
    lon_min = lon0 - dx
    lon_max = lon0 + dx
    lat_min = lat0 - dx
    lat_max = lat0 + dx

    print('map borders:', lon_min, lat_min, lon_max, lat_max)
    bm = Basemap(llcrnrlon=lon_min, urcrnrlat=lat_max,
                 urcrnrlon=lon_max, llcrnrlat=lat_min,
                 resolution='h', epsg=4326)
    bm.drawcoastlines()

    # bm.bluemarble(alpha=0.3)
    bmlons, bmlats = bm(city_slice.points_lons, city_slice.points_lats)
    bmxi, bmyi = bm(field.xi, field.yi)
    gauss_field = gaussian_filter(field.zi, 1.)
    contourf = bm.contourf(bmyi, bmxi, gauss_field, alpha=0.6, cmap='rainbow')
    contour = bm.contour(bmyi, bmxi, gauss_field, colors='k', interpolation='none')

    serverurl = 'http://vmap0.tiles.osgeo.org/wms/vmap0?'
    bm.wmsimage(
        serverurl, xpixels=900, verbose=True,
        layers=['basic', 'river', 'inwater', 'ctylabel', 'rail', 'priroad', 'secroad'],
        format='jpeg'
    )
    bm_scatter_plot = bm.scatter(bmlons, bmlats, s=10, color='red')
    plt.colorbar(contourf)
    expr_name = '{} {}'.format(city_slice.expr, city_slice.date)
    plt.title(expr_name)
    img_ofile = 'img/{}_{}.png'.format(expr_name, field.xi.shape[0]).replace(':', '_')
    print(img_ofile)
    plt.savefig(img_ofile, dpi=300)

    if need_show:
        plt.show()
cs2cs_args = "epsg:26949"

tex_levels = list(np.arange(0,135,5))

ss_level=[0,2.5,5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5,35]
       
fig = plt.figure(figsize=(15,6))
ax = fig.add_subplot(1,5,1)
ax.set_title('50 square pixel')
m = Basemap(projection='merc', 
            epsg=cs2cs_args.split(':')[1], 
            llcrnrlon=np.min(glon-0.0009), 
            llcrnrlat=np.min(glat-0.0006),
            urcrnrlon=np.max(glon+0.0009), 
            urcrnrlat=np.max(glat+0.0009))
m.wmsimage(server='http://grandcanyon.usgs.gov/arcgis/services/Imagery/ColoradoRiverImageryExplorer/MapServer/WmsServer?', layers=['0'], xpixels=1000)
x,y = m.projtran(glon, glat)
im = m.contourf(x,y,ss_data_50.T, cmap='Greys_r',levels=ss_level)
im2 = m.contourf(x, y, tex_data_50.T, alpha=0.4, cmap='YlOrRd', levels=tex_levels)#levels=tex_levels
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.1)
cax2 = divider.append_axes("right", size="5%", pad=0.3)
cbr = plt.colorbar(im, cax=cax)
cbr2 = plt.colorbar(im2,cax=cax2)



ax1 = fig.add_subplot(1,5,2)
ax1.set_title('70 square pixel')
m1 = Basemap(projection='merc', 
            epsg=cs2cs_args.split(':')[1], 
Beispiel #4
0
lon_min = -118.8
lon_max = -108.6
lat_min = 22.15
lat_max = 32.34
m = Basemap(llcrnrlon=lon_min,
            urcrnrlat=lat_max,
            urcrnrlon=lon_max,
            llcrnrlat=lat_min,
            resolution='i',
            epsg=4326)
plt.figure()
m.wmsimage(serverurl,
           xpixels=500,
           verbose=True,
           layers=['Temperature_height_above_ground'],
           styles=['boxfill/rainbow'],
           time=datetime.utcnow().strftime('%Y-%m-%dT00:00:00.000Z'),
           elevation='2',
           colorscalerange='271.2,308',
           numcolorbands='20',
           logscale=False)
m.drawcoastlines(linewidth=0.25)
parallels = np.arange(20, 36, 2.)
a = m.drawparallels(parallels, labels=[1, 0, 0, 0], fontsize=10)
meridians = np.arange(-120, -100, 2.)
b = m.drawmeridians(meridians, labels=[0, 0, 0, 1], fontsize=10)

epsg = 32661
m = Basemap(epsg=epsg, resolution='l', width=20000.e3, height=20000.e3)
plt.figure()
m.wmsimage(serverurl,
           xpixels=500,
Beispiel #5
0
 
     circ5 = Line2D([0], [0], linestyle="none", marker="o", markersize=10, markerfacecolor=colors[4],alpha=a_val)
    
     
     #Total extents (i.e. misplaced SS and multibeam)
     fig, (ax,ax1) = plt.subplots(figsize=(13,8),ncols=2)
     
     #Start with april sidescan sonar
     ax.set_title('April 2014 \n Sidescan Sonar Imagery')
     m = Basemap(projection='merc', 
                 epsg=cs2cs_args.split(':')[1], 
                 llcrnrlon=np.nanmin(april_lon)-0.0001, 
                 llcrnrlat=np.nanmin(april_lat)-0.0002,
                 urcrnrlon=np.nanmax(april_lon)+0.0001, 
                 urcrnrlat=np.nanmax(april_lat)+0.0002,ax=ax)
     m.wmsimage(server='http://grandcanyon.usgs.gov/arcgis/services/Imagery/ColoradoRiverImageryExplorer/MapServer/WmsServer?', layers=['3'], xpixels=1000)
     x,y = m.projtran(april_lon, april_lat)
     im = m.contourf(x,y,april_ss.T, cmap='Greys_r', levels=[0,2.5,5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5,35])
     divider = make_axes_locatable(ax)
     cax = divider.append_axes("right", size="5%", pad=0.1)
     cbr = plt.colorbar(im, cax=cax)
     cbr.set_label('Sidescan Intensity [dBW]')
     m.readshapefile(r"C:\workspace\Reach_4a\Multibeam\mb_sed_class\output\shapefiles\visual_seg_2_geo","layer",drawbounds = False)
     #sand, sand/gravel, gravel, sand/rock, rock
     s_patch,  g_patch, r_patch,  = [],[],[]
     for info, shape in zip(m.layer_info, m.layer):
         if info['substrate'] == 'sand' :
             s_patch.append(Polygon(np.asarray(shape),True))
        
         if info['substrate'] == 'gravel':
             g_patch.append(Polygon(np.asarray(shape),True))      
Beispiel #6
0
 ########################################################################################################################
 #                   Begin Subplot 1
 #########################################################################################################################
 #########################################################################################################################
 print 'Now Plotting April 2014...'
 fig = plt.figure(figsize=(9,10))
 ax = plt.subplot2grid((10,2),(0, 0),rowspan=9)
 ax.set_title(title_04)
 m = Basemap(projection='merc', 
             epsg=cs2cs_args.split(':')[1], 
             llcrnrlon=np.min(glon_04) - 0.0004, 
             llcrnrlat=np.min(glat_04) - 0.0006,
             urcrnrlon=np.max(glon_04) + 0.0006, 
             urcrnrlat=np.max(glat_04) + 0.0009)
 x,y = m.projtran(glon_04, glat_04)
 m.wmsimage(server=wms_url, layers=['3'], xpixels=1000)
 im = m.contourf(x,y,data_04.T, cmap=c_ramp)
 divider = make_axes_locatable(ax)
 cax = divider.append_axes("right", size="5%", pad=0.05)
 cbr = plt.colorbar(im, cax=cax)
 cbr.set_label(cbr_txt, size=10)
 #read shapefile and create polygon collections
 m.readshapefile(geo_shp_04,"layer",drawbounds = False)
 
 #sand, gravel, boulders
 s_patch, g_patch, b_patch  =[],[],[]
 
 for info, shape in zip(m.layer_info, m.layer):
     if info['substrate'] == 'sand':
         s_patch.append(Polygon(np.asarray(shape),True))   
     if info['substrate'] == 'gravel':
Beispiel #7
0
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

map = Basemap(llcrnrlon=8.35,
              llcrnrlat=41.225,
              urcrnrlon=10.01,
              urcrnrlat=43.108,
              projection='cyl',
              epsg=4326)

wms_server = "http://www.ga.gov.au/gis/services/topography/Australian_Topography/MapServer/WMSServer"
wms_server = "http://wms.geosignal.fr/metropole?"

map.wmsimage(wms_server,
             layers=["Communes", "Nationales", "Regions"],
             verbose=True)
plt.show()
Beispiel #8
0
lat_min = -60; lat_max =  30.0

# BR
lon_min = -80; lon_max = -30.0
lat_min = -37; lat_max =  13.0

m = Basemap(llcrnrlon=lon_min, urcrnrlat=lat_max,
            urcrnrlon=lon_max, llcrnrlat=lat_min,resolution='i',epsg=4326)

m.drawcoastlines(linewidth=0.25)
m.drawcountries(linewidth=0.25)


m.wmsimage(wmsl_oneg['server_url'], xpixels=500,verbose=True,
           layers=wmsl_oneg['layers'],
           format='image/png',
           transparent=True,
           alpha=0.5,
           )


m.wmsimage(wmsl_br_blt['server_url'], xpixels=500,verbose=True,
           layers=wmsl_br_blt['layers'],
           format='image/png',
           transparent=True,
           alpha=0.5,
           )


#f = plt.figure()

plt.show()
# Begin the plot
cs2cs_args = "epsg:26949"
fig = plt.figure(figsize=(15, 12))
ax = plt.subplot2grid((5, 2), (0, 0), rowspan=4)
ax.set_title("R02028: 3 meter grid")
m = Basemap(
    projection="merc",
    epsg=cs2cs_args.split(":")[1],
    llcrnrlon=np.nanmin(r28_lon) - 0.0004,
    llcrnrlat=np.nanmin(r28_lat) - 0.0004,
    urcrnrlon=np.nanmax(r28_lon) + 0.0004,
    urcrnrlat=np.nanmax(r28_lat) + 0.0004,
)
m.wmsimage(
    server="http://grandcanyon.usgs.gov/arcgis/services/Imagery/ColoradoRiverImageryExplorer/MapServer/WmsServer?",
    layers=["3"],
    xpixels=1000,
)
x, y = m.projtran(r28_lon, r28_lat)
im = m.contourf(x, y, R02028.T, cmap="Greys_r", levels=ss_level)
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.1)
cbr = plt.colorbar(im, cax=cax)
m.readshapefile(
    r"C:\workspace\Reach_4a\Multibeam\mb_sed_class\output\shapefiles\may2014_3m_buff_geo", "layer", drawbounds=False
)
# sand, sand/gravel, gravel, sand/rock, rock
s_patch, sg_patch, g_patch, sr_patch, r_patch, = [], [], [], [], []
bound = max(stat["count"] for stat in z_stats_28)
for info, shape in zip(m.layer_info, m.layer):
    if info["substrate"] == "sand" and info["count_28"] == bound:
Beispiel #10
0
from mpl_toolkits.basemap import Basemap, pyproj
from datetime import datetime
import numpy as np
import matplotlib.pyplot as plt


serverurl='http://motherlode.ucar.edu:8080/thredds/wms/fmrc/NCEP/NAM/CONUS_12km/NCEP-NAM-CONUS_12km-noaaport_best.ncd?'

lon_min = -118.8; lon_max = -108.6
lat_min = 22.15;  lat_max = 32.34
m = Basemap(llcrnrlon=lon_min, urcrnrlat=lat_max,
            urcrnrlon=lon_max, llcrnrlat=lat_min,resolution='i',epsg=4326)
plt.figure()
m.wmsimage(serverurl,xpixels=500,verbose=True,
      layers=['Temperature_height_above_ground'],
      styles=['boxfill/rainbow'],
      time=datetime.utcnow().strftime('%Y-%m-%dT00:00:00.000Z'),
      elevation='2',
      colorscalerange='271.2,308',numcolorbands='20',logscale=False)
m.drawcoastlines(linewidth=0.25)
parallels = np.arange(20,36,2.)
a=m.drawparallels(parallels,labels=[1,0,0,0],fontsize=10)
meridians = np.arange(-120,-100,2.)
b=m.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10)

epsg = 32661
m = Basemap(epsg=epsg, resolution='l',width=20000.e3,height=20000.e3)
plt.figure()
m.wmsimage(serverurl,xpixels=500,
      layers=['Temperature_height_above_ground'],
      styles=['boxfill/rainbow'],
      time=datetime.utcnow().strftime('%Y-%m-%dT00:00:00.000Z'),
print 'Now plotting September 2014...'
#ortho_lon, ortho_lat = trans(ortho_x, ortho_y, inverse=True)
cs2cs_args = "epsg:26949"
ss_level=[0,2.5,5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5,35]

fig = plt.figure(figsize=(15,12))
ax = plt.subplot2grid((10,2),(0, 0),rowspan=9)
ax.set_title('September 2014 \n R01767')
m = Basemap(projection='merc', 
            epsg=cs2cs_args.split(':')[1], 
            llcrnrlon=np.min(glon) - 0.0002, 
            llcrnrlat=np.min(glat) - 0.0006,
            urcrnrlon=np.max(glon) + 0.0002, 
            urcrnrlat=np.max(glat) + 0.0006)
m.wmsimage(server=wms_url, layers=['3'], xpixels=1000)
x,y = m.projtran(glon, glat)
im = m.contourf(x,y,data.T, cmap='Greys_r',levels=ss_level)
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)
cbr = plt.colorbar(im, cax=cax)
cbr.set_label('Sidescan Intensity [dBW]', size=10)

#read shapefile and create polygon collections
##NOTE: Shapefile has to be in WGS84
m.readshapefile( r"C:\workspace\Merged_SS\window_analysis\shapefiles\tex_seg_2014_09_67_geo","layer",drawbounds = False)

#sand, sand/gravel, gravel/sand, ledge, gravel, gravel/boulders, boulders, boulder
s_patch, g_patch, b_patch  =[],[],[]

for info, shape in zip(m.layer_info, m.layer):
Beispiel #12
0
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

map = Basemap(llcrnrlon=8.35,llcrnrlat=41.225,urcrnrlon=10.01,urcrnrlat=43.108,
              projection='cyl', epsg=4326)

wms_server = "http://www.ga.gov.au/gis/services/topography/Australian_Topography/MapServer/WMSServer"
wms_server = "http://wms.geosignal.fr/metropole?"

map.wmsimage(wms_server, layers=["Communes", "Nationales", "Regions"], verbose=True)
plt.show()

Beispiel #13
0
m = Basemap(llcrnrlon=lon_min,
            urcrnrlat=lat_max,
            urcrnrlon=lon_max,
            llcrnrlat=lat_min,
            resolution='i',
            epsg=4326)

m.drawcoastlines(linewidth=0.25)
m.drawcountries(linewidth=0.25)

m.wmsimage(
    wmsl_oneg['server_url'],
    xpixels=500,
    verbose=True,
    layers=wmsl_oneg['layers'],
    format='image/png',
    transparent=True,
    alpha=0.5,
)

m.wmsimage(
    wmsl_br_blt['server_url'],
    xpixels=500,
    verbose=True,
    layers=wmsl_br_blt['layers'],
    format='image/png',
    transparent=True,
    alpha=0.5,
)