Bug in Basemap

All (with a special hello to Jeff W.),
I'm running into a problem with the latest basemap (r6355), illustrated in the
following. Looks like the resolution 'i' causes a TopologyException

GEOS_ERROR: TopologyException: found non-noded intersection
between -42.7171 -2.56422, -42.7313 -2.57589
and -42.7059 -2.58961, -42.7475 -2.56714 -42.7313 -2.57589

Note that it works at lower resolution, and works also when using
basemap-0.9.6.1

···

_____
use_new = False
if use_new:
    from mpl_toolkits.basemap import Basemap
else:
    from matplotlib.toolkits.basemap import Basemap
(llcrnrlon, llcrnrlat, urcrnrlon, urcrnrlat) = (-86.50, 30.50,-80.00, 35.01)
for resolution in (None,'l','i','h'):
    basemap = Basemap(projection='aea',
                      llcrnrlon=llcrnrlon,llcrnrlat=llcrnrlat,
                      urcrnrlon=urcrnrlon,urcrnrlat=urcrnrlat,
                      lat_1=29.5,lat_2=45.5,lat_0=23,lon_0=-96,
                      resolution=resolution)
    print 'resol',resolution
_____

As a side note, would it be possible for the config script to search whether
GEOS is installed in /usr ?

Any suggestion/cooment welcome,
Thanks a lot in advance
P.

Pierre GM wrote:

All (with a special hello to Jeff W.),
I'm running into a problem with the latest basemap (r6355), illustrated in the following. Looks like the resolution 'i' causes a TopologyException

GEOS_ERROR: TopologyException: found non-noded intersection between -42.7171 -2.56422, -42.7313 -2.57589 and -42.7059 -2.58961, -42.7475 -2.56714 -42.7313 -2.57589

Note that it works at lower resolution, and works also when using basemap-0.9.6.1
  
Hi Pierre: Version 0.9.6.1 didn't use the GEOS library. Your example works for me with geos 2.2.3, so I suspect you're using geos 3? I've found that geos version 3 is a bit buggy, and chokes on coastline polygons that geos 2.2.3 handles perfectly well. I have geos 3 installed at home, so I'll try your example when I get home today and see if I can find a workaround.

_____
use_new = False
if use_new:
    from mpl_toolkits.basemap import Basemap
else:
    from matplotlib.toolkits.basemap import Basemap
(llcrnrlon, llcrnrlat, urcrnrlon, urcrnrlat) = (-86.50, 30.50,-80.00, 35.01)
for resolution in (None,'l','i','h'):
    basemap = Basemap(projection='aea',
                      llcrnrlon=llcrnrlon,llcrnrlat=llcrnrlat,
                      urcrnrlon=urcrnrlon,urcrnrlat=urcrnrlat,
                      lat_1=29.5,lat_2=45.5,lat_0=23,lon_0=-96,
                      resolution=resolution)
    print 'resol',resolution
_____

As a side note, would it be possible for the config script to search whether GEOS is installed in /usr ?
  
Done (r6357).

-Jeff

···

Any suggestion/cooment welcome,
Thanks a lot in advance
P.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options
  
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...236...
325 Broadway Office : Skaggs Research Cntr 1D-113
Boulder, CO, USA 80303-3328 Web : Jeffrey S. Whitaker: NOAA Physical Sciences Laboratory