Hi Jeff and Basemap users,
Here at NASA's Jet Propulsion Laboratory, we're very happy Basemap users. We've been using it to create plots of spacecraft launch trajectory ground tracks.
I've just attempted to upgrade from basemap 0.2 to 0.5. I have a problem.
The basemap 0.2 interface worked with an Axes object that you supplied explicitly:
axes = figure.add_axes( ... )
bMap = Basemap( ... )
bMap.drawcoastlines( axes )
bMap.drawcountries( axes )
bMap.fillcontinents( axes )
The basemap 0.5 interface has changed so that you don't pass in an Axes object to Basemap functions. Instead, functions are called like so:
bMap.drawcoastlines()
bMap.drawcountries()
bMap.fillcontinents()
and inside each function there's a call to mpylab.gca(), so that the map gets drawn on the pylab current axes.
Our software is written without any dependencies on pylab, so we are unable to upgrade to basemap 0.5.
For us, it's important to have a pure OO-interface. Jeff, would it be possible to restore the v0.2 Basemap class interface which doesn't make any pylab calls?
What was the intent of the basemap interface change? Was it to present a more "pylab-like" interface? If so, perhaps we could keep the Basemap class pylab-free, and add a "basemap-lab" layer atop it, just as pylab sits atop the Matplotlib classes.
Anyway, just wanted to get people's thoughts. My agenda is that I'd very much like to get a Basemap pure-OO interface (with no pylab dependencies) restored.
(Another less important question: why did the name of the basemap data directory change from 'basemap' to 'basemap-pyVERSION'? Is there something python-version-specific in there?)
Thanks,
Michael Brady