Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
efiring Merge pull request #466 from WeatherGod/dedent_fix
Try using inspect.cleandoc() instead of matplotlib.cbook.dedent()
Latest commit b8e2281 Jul 3, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Updating old sourceforge links. Other doc improvments and such. Nov 8, 2018
examples add future imports Apr 27, 2018
geos-3.3.3 add root .gitignore from mpl, and geos-3.3.3/.gitignore Aug 21, 2012
lib/mpl_toolkits Merge pull request #466 from WeatherGod/dedent_fix Jul 3, 2019
src recompile cython geoslib wrapper Aug 13, 2018
utils Don't reset the offset while processing river shapefiles Sep 23, 2016
.cvsignore added build dir to .cvsignore Sep 19, 2005
.gitignore make sure basemap does not fail when creating empty polygons Nov 8, 2017
.requirements-2.6.txt Removed argparse Dec 16, 2015
.travis.yml Ok, specify libgeos-3.4.2 for the Travis Trusty image... Oct 19, 2017
API_CHANGES update Sep 18, 2012
Changelog Tagging release v1.2.0 Sep 26, 2018
FAQ reformatting Mar 14, 2007
KNOWN_BUGS update Aug 1, 2012
LICENSE_data data is from GMT, so use GPL Sep 8, 2005
LICENSE_epsg Added license file for the epsg config file Apr 23, 2019
LICENSE_geos add GEOS License (LGPL). Nov 15, 2007 add lib/mpl_toolkits/ Jul 10, 2013
PKG-INFO Initial revision Feb 1, 2005 Merge pull request #423 from kant/patch-1 Apr 23, 2019
nad2bin.c bug fixes from proj4 svn Sep 5, 2012
requirements-dev.txt requirements for dev and examples Apr 27, 2018
requirements.txt Updating old sourceforge links. Other doc improvments and such. Nov 8, 2018 Updating old sourceforge links. Other doc improvments and such. Nov 8, 2018


Plot on map projections (with coastlines and political boundaries) using matplotlib.

Warning: this package is being deprecated in favour of cartopy.


  • Python 2.6 (or higher)

  • matplotlib

  • numpy

  • pyproj

  • pyshp

  • The GEOS (Geometry Engine - Open Source) library (version 3.1.1 or higher). Source code is included in the geos-3.3.3 directory.

  • On linux, if your python was installed via a package management system, make sure the corresponding "python-dev" package is also installed. Otherwise, you may not have the python header (Python.h), which is required to build python C extensions.


  • OWSLib (optional) It is needed for the BaseMap.wmsimage function.

  • Pillow (optional) It is needed for Basemap warpimage, bluemarble, shadedrelief, and etop methods. PIL should work on Python 2.x. Pillow is a maintained fork of PIL.


Source code for the GEOS library is included in the geos-3.3.3 directory under the terms given in LICENSE_geos.

The land-sea mask, coastline, lake, river and political boundary data are extracted from datasets provided with the Generic Mapping Tools (GMT) and are included under the terms given in LICENSE_data.

Everything else (including src/_geos.c, and src/_geos.pyx):

copyright (c) 2011 by Jeffrey Whitaker.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notices appear in all copies and that both the copyright notices and this permission notice appear in supporting documentation. THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.



see scripts in examples directory for example usage.

read the FAQ and/or email the matplotlib-users mailing list if you have problems or questions.


  1. Install pre-requisite python modules numpy and matplotlib.

  2. Then download basemap-X.Y.Z.tar.gz (approx 100 mb) from the GitHub Releases page, unpack and cd to basemap-X.Y.Z.

  3. Install the GEOS library. If you already have it on your system, just set the environment variable GEOS_DIR to point to the location of libgeos_c and geos_c.h (if libgeos_c is in /usr/local/lib and geos_c.h is in /usr/local/include, set GEOS_DIR to /usr/local). Then go to step (3). If you don't have it, you can build it from the source code included with basemap by following these steps:

     > cd geos-3.3.3
     > export GEOS_DIR=<where you want the libs and headers to go>
       A reasonable choice on a Unix-like system is /usr/local, or
       if you don't have permission to write there, your home directory.
     > ./configure --prefix=$GEOS_DIR 
     > make; make install
  4. cd back to the top level basemap directory (basemap-X.Y.Z) and run the usual python install. Check your installation by running "from mpl_toolkits.basemap import Basemap" at the python prompt.

  5. To test, cd to the examples directory and run python To run all the examples (except those that have extra dependencies or require an internet connection), execute python

An alternative method is using pip:

pip install --user git+


Ben Root


Special thanks to John Hunter, Andrew Straw, Eric Firing, Rob Hetland, Scott Sinclair, Ivan Lima, Erik Andersen, Michael Hearne, Jesper Larsen, Ryan May, David Huard, Mauro Cavalcanti, Jonas Bluethgen, Chris Murphy, Pierre Gerard-Marchant, Christoph Gohlke, Eric Bruning, Stephane Raynaud, Tom Loredo, Patrick Marsh, Phil Elson, and Henry Hammond for valuable contributions.

You can’t perform that action at this time.