To install mpl_toolkits.basemap use;
sudo apt-get install python-mpltoolkits.basemap
%matplotlib inline
# adapted BaseMap example original by geophysique.be
# tutorial 01
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(6,4))
#Custom adjust of the subplots
plt.subplots_adjust(left=0.05,right=0.95,top=0.90,bottom=0.05,wspace=0.15,hspace=0.05)
ax = plt.subplot(111)
#Let's create a basemap around Netherlands & Belgium
m = Basemap(resolution='i',projection='merc', llcrnrlat=49.0,urcrnrlat=54.0,llcrnrlon=1.,urcrnrlon=8.0,lat_ts=51.0)
m.drawcountries(linewidth=0.5)
m.drawcoastlines(linewidth=0.5)
m.drawparallels(np.arange(49.,54.,1.),labels=[1,0,0,0],color='black',dashes=[3,1],linewidth=0.2) # draw parallels
m.drawmeridians(np.arange(1.,9.,1.),labels=[0,0,0,1],color='black',dashes=[3,1],linewidth=0.2) # draw meridians
plt.title('Benelux in Mercator Projection')
plt.show()
fig.savefig('test1.png', dpi=300)
#Let's create a basemap around Netherlands & Belgium
m.drawcountries(linewidth=0.5,color='white')
m.drawcoastlines(linewidth=0.5,color='white')
m.drawparallels(np.arange(49.,54.,1.),labels=[1,0,0,0],color='white',dashes=[3,1],linewidth=0.2) # draw parallels
m.drawmeridians(np.arange(1.,9.,1.),labels=[0,0,0,1],color='white',dashes=[3,1],linewidth=0.2) # draw meridians
m.bluemarble()
plt.title('Benelux in Mercator Projection')
plt.show()
m.drawcountries(linewidth=0.5,color='gray')
m.drawcoastlines(linewidth=0.5,color='gray')
m.drawmapboundary(fill_color='gray')
m.drawparallels(np.arange(49.,54.,1.),labels=[1,0,0,0],color='gray',dashes=[3,1],linewidth=0.4) # draw parallels
m.drawmeridians(np.arange(1.,9.,1.),labels=[0,0,0,1],color='gray',dashes=[3,1],linewidth=0.4) # draw meridians
m.fillcontinents(color='black',lake_color='gray')
plt.title('Benelux in Mercator Projection')
plt.show()
%matplotlib inline
#
# BaseMap example by geophysique.be
# tutorial 02
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(11.7,8.3))
#Custom adjust of the subplots
plt.subplots_adjust(left=0.05,right=0.95,top=0.90,bottom=0.05,wspace=0.15,hspace=0.05)
ax = plt.subplot(111)
m = Basemap(resolution='i',projection='merc', llcrnrlat=49.0,urcrnrlat=54.0,llcrnrlon=1.,urcrnrlon=8.0,lat_ts=51.0)
m.drawcountries(linewidth=0.5)
m.drawcoastlines(linewidth=0.5)
m.drawparallels(np.arange(49.,54.,1.),labels=[1,0,0,0],color='black',dashes=[3,1],linewidth=0.2) # draw parallels
m.drawmeridians(np.arange(1.,9.,1.),labels=[0,0,0,1],color='black',dashes=[3,1],linewidth=0.2) # draw meridians
lon = np.random.random_integers(11,79,100)/10.
lat = np.random.random_integers(491,539,100)/10.
depth = np.random.random_integers(0,300,100)/10.
magnitude = np.random.random_integers(0,100,100)/10.
# with x,y=m(lon,lat) we calculate the x,y position of each quake in the map coordinates
x,y = m(lon,lat)
m.scatter(x,y,s=10*magnitude,c=depth) # we will scale the dots by 10 time the magnitude
c = plt.colorbar(orientation='horizontal')
c.set_label("Depth")
plt.title('Earthquakes Benelux in Mercator Projection')
plt.show()
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
# test arcgisimage method for retrieving images from web map servers.
plt.figure(figsize=(8,8))
epsg=4326
m=Basemap(projection='cyl',llcrnrlon=-90,llcrnrlat=30,urcrnrlon=-60,urcrnrlat=60,resolution='i')
# default 'blue marble' image.
m.arcgisimage(verbose=True)
m.drawmeridians(np.arange(-180,180,10),labels=[0,0,0,1],color='y')
m.drawparallels(np.arange(-90,90,10),labels=[1,0,0,0],color='y')
m.drawcoastlines(linewidth=0.5,color='0.5')
plt.title('test WMS map background EPSG=%s'%epsg)
plt.figure(figsize=(8,8))
epsg = 3413; width = 18000.e3; height = 18000.e3
m=Basemap(epsg=epsg,resolution='l',width=width,height=height)
# default 'blue marble' image.
m.arcgisimage()
m.drawmeridians(np.arange(-180,180,30),labels=[0,0,0,1],color='y')
m.drawparallels(np.arange(0,80,10),labels=[1,0,0,0],color='y')
m.drawcoastlines(linewidth=0.5,color='0.5')
plt.title('test WMS map background EPSG=%s' % epsg)
plt.figure(figsize=(10,6.6666))
epsg = 2263; width=600.e3; height = 400.e3
m=Basemap(epsg=epsg,resolution='h',width=width,height=height)
# specify a different server.
m.arcgisimage(server='http://maps.ngdc.noaa.gov',service='etopo1',verbose=True)
m.drawmeridians(np.arange(-180,180,2),labels=[0,0,0,1])
m.drawparallels(np.arange(0,80,1),labels=[1,0,0,0])
m.drawcoastlines(linewidth=0.25)
plt.title('test WMS map background EPSG=%s' % epsg)
plt.figure(figsize=(6,8))
epsg = 3086; lon1 = -85; lat1 = 24; lon2 = -79; lat2 =32
m=Basemap(epsg=epsg,resolution='i',llcrnrlon=lon1,llcrnrlat=lat1,\
urcrnrlon=lon2,urcrnrlat=lat2)
# specify a different service
m.arcgisimage(service='NatGeo_World_Map',verbose=True,xpixels=600,interpolation='bicubic')
m.drawmeridians(np.arange(-180,180,2),labels=[0,0,0,1])
m.drawparallels(np.arange(0,80,1),labels=[1,0,0,0])
m.drawcoastlines(linewidth=0.25)
plt.title('test WMS map background EPSG=%s' % epsg)
plt.show()
http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/export?bbox=-90.0,30.0,-60.0,60.0&bboxSR=4326&imageSR=4326&size=400,400&dpi=96&format=png32&f=image http://maps.ngdc.noaa.gov/rest/services/etopo1/MapServer/export?bbox=2.01506532941e-08,-656166.666655,1968500.0,656166.666679&bboxSR=2263&imageSR=2263&size=400,266&dpi=96&format=png32&f=image http://server.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/export?bbox=298249.340285,412.568106814,872634.811051,897312.433926&bboxSR=3086&imageSR=3086&size=600,936&dpi=96&format=png32&f=image
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
map = Basemap(llcrnrlon=3.75,llcrnrlat=39.75,urcrnrlon=4.35,urcrnrlat=40.15, epsg=5520)
#http://server.arcgisonline.com/arcgis/rest/services
map.arcgisimage(service='ESRI_Imagery_World_2D', xpixels = 1500, verbose= True)
plt.show()
http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/export?bbox=1564270.96202,4401598.72606,1615017.05604,4446612.18494&bboxSR=5520&imageSR=5520&size=1500,1330&dpi=96&format=png32&f=image
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()
http://wms.geosignal.fr/metropole? id: OGC:WMS, version: 1.1.1 title: Serveur Geosignal, abstract: Ce serveur met à disposition les données créées par Géosignal depuis 13 ans. available layers: ['RASTER25k', 'RASTER500k', 'Communes', 'Arrondissements', 'Regions', 'RASTER250k', 'RASTER1000k', 'RASTER5k', 'Autoroutes', 'RASTER100k', 'Cantons', 'Monde', 'Departementales', 'RASTER4000k', 'CommunesXY', 'RASTER50k', 'Serveur Geosignal', 'Voirie', 'Autres', 'Secondaires', 'Nationales', 'Departements'] projection options: ['EPSG:27572', 'EPSG:4269', 'EPSG:4326', 'EPSG:2154', 'EPSG:3949', 'EPSG:27582', 'EPSG:27561', 'EPSG:27563', 'EPSG:27571']
arcgisimage(server='http://server.arcgisonline.com/ArcGIS', service='ESRI_Imagery_World_2D', xpixels=400, ypixels=None, dpi=96, verbose=False, **kwargs)
%matplotlib inline
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
map = Basemap(llcrnrlon=18.10,llcrnrlat=30.1,urcrnrlon=44.1,urcrnrlat=40.1, epsg=5520)
#hhttp://www.arcgis.com/home/item.html?id=d14795cbe0d241b8b8c028749b738f02
map.arcgisimage(server='http://www.arcgis.com/home/webmap/viewer.html?webmap=d14795cbe0d241b8b8c028749b738f02',service='ESRI_Imagery_World_2D', xpixels = 1500, verbose= False)
plt.show()
--------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) <ipython-input-4-789af0c4257b> in <module>() 6 #hhttp://www.arcgis.com/home/item.html?id=d14795cbe0d241b8b8c028749b738f02 7 ----> 8 map.arcgisimage(server='http://www.arcgis.com/home/webmap/viewer.html?webmap=d14795cbe0d241b8b8c028749b738f02',service='ESRI_Imagery_World_2D', xpixels = 1500, verbose= False) 9 plt.show() /usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.pyc in arcgisimage(self, server, service, xpixels, ypixels, dpi, verbose, **kwargs) 4268 if verbose: print basemap_url 4269 # return AxesImage instance. -> 4270 return self.imshow(imread(urllib2.urlopen(basemap_url)),origin='upper') 4271 4272 def wmsimage(self,server,\ /usr/lib/pymodules/python2.7/matplotlib/image.pyc in imread(fname, format) 1256 return handler(fd) 1257 else: -> 1258 return handler(fname) 1259 1260 RuntimeError: _image_module::readpng: file not recognized as a PNG file