I've created a new basemap branch

https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/trunk/toolkits/basemap-testing

with lots of under-the-hood optimizations and code refactoring.  The most 
significant change is that I now use the GEOS library 
(http://geos.refractions.net) to determine whether a given coastline or 
political boundary feature is within the map projection region or not.  If it 
is, the library clips it to the map region, and only the clipped features are 
processed.  This results in big speedups (more than a factor of 10) for small 
map regions with high-resolution coastlines and boundaries.   These changes 
were motivated by the oceanographers (Eric and Rob Hetland) who often deal with 
quite small domains.  

There are a couple of downsides:

1) an external dependency on the GEOS lib (which is LGPL).  I've included a 
copy of the source in svn, but there's still an extra ./configure; make; make 
install required.  Eric and I searched high and low for a lighter weight, 
well-tested, BSD licensed solution, without much luck.  General, robust polygon 
clipping is trickier than I thought.

2) more code paths through Pyrex C-extension code, increasing the probability 
of segfaults and bus errors. 

All in all, I think the speed gains and increased code readability are worth 
it.  However, before I make a new release I'd appreciate any feedback.  Are 
there build issues? (esp. on Windows, which I've not tested)  Does it feel 
faster?  Is the dependence on an LGPL'ed lib a problem?

-Jeff

-- 
Jeffrey S. Whitaker         Phone  : (303)497-6313
Meteorologist               FAX    : (303)497-6449
NOAA/OAR/PSD  R/PSD1        Email  : [EMAIL PROTECTED]
325 Broadway                Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web    : http://tinyurl.com/5telg


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to