Python-Grundkarte: Fehler bei der Verwendung von Shadedrelief, Bluemarble oder Etopo (falsches Längenformat?)
Ich möchte eine Karte der südlichen Hemisphäre zeichnen, die auf dem Pazifik zentriert ist und auf der mit der Python Matplotlib-Basiskarte einiges gezeichnet ist.
Alles funktioniert einwandfrei, es sei denn, ich versuche, ein Hintergrundbild mit den Grundkartenroutinen shadedrelief, bluemarble oder etopo zu zeichnen. Der Code (ohne das Zeug, das ich auf die Karte zeichnen möchte) sieht folgendermaßen aus:
import numpy as np
from mpl_toolkits.basemap import Basemap
from matplotlib.backends.backend_pdf import PdfPages
latmin = -72.5
latmax = 40.
lonmin = 60.
lonmax = 370.
pp = PdfPages('datamap.pdf')
m = Basemap(projection='merc', llcrnrlat=latmin, urcrnrlat=latmax, llcrnrlon=lonmin, urcrnrlon=lonmax, resolution="c")
m.drawcoastlines(linewidth=0.25)
#m.shadedrelief()
pp.savefig()
pp.close()
Wenn ich das m.shadedrelief () auskommentiere, erhalte ich Folgendes:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/xyz/datamap.py in <module>()
32
---> 33 m.shadedrelief()
34
/usr/local/lib/python2.7/site-packages/mpl_toolkits/basemap/__init__.pyc in shadedrelief(self, ax, scale, **kwargs)
3997 return self.warpimage(image='shadedrelief',ax=ax,scale=scale,**kwargs)
3998 else:
-> 3999 return self.warpimage(image='shadedrelief',scale=scale,**kwargs)
4000
4001 def etopo(self,ax=None,scale=None,**kwargs):
/usr/local/lib/python2.7/site-packages/mpl_toolkits/basemap/__init__.pyc in warpimage(self, image, scale, **kwargs)
4115 # any range of longitudes may be plotted on a world map.
4116 self._bm_lons = \
-> 4117 np.concatenate((self._bm_lons,self._bm_lons+360),1)
4118 self._bm_rgba = \
4119 np.concatenate((self._bm_rgba,self._bm_rgba),1)
IndexError: axis 1 out of bounds [0, 1)
Wenn ich (zu Testzwecken) wähle, wie kleinere Karten, die auch keine Länge größer als 180 Grad haben, funktionieren alle (einschließlich Schattenrelief) einwandfrei. Dies führt mich zu der Annahme, dass hier etwas mit dem Format der Länge nicht funktioniert. Ich habe einige Dinge ausprobiert, aber ich kann keinen Weg finden, wie ich das lösen kann, während ich immer noch den gleichen Kartenausschnitt plotte
Hast du eine Idee, wie ich ein Schattenrelief im Hintergrund meiner Karte zeichnen könnte?
Beste
xilian