Search for libgeos SO or DLL files on your system. If you're using an older version like 2.2.3, it's very possible that you've found a GEOS bug.
Sean On Jul 30, 2009, at 5:06 PM, Daniel O'donohue wrote: > I'm not sure how to find out what version of GEOS I'm using > but I have deleted the shapely module and reinstalled it using the > latest > version. > after that I also run a copy of your code > > from shapely.geometry import MultiPoint > polya = MultiPoint([(-1.0, -2.0), (1.0, -2.0), (-1.0, 2.0), > (1.0,2.0)]).convex_hull > polyb = MultiPoint([(-1.0, -2.0), (1.0, -2.0), (-1.0, 2.0), > (1.0,2.0)]).convex_hull > buffa = polya.buffer(1.0) > buffb = polya.buffer(1.0) > > print buffa.contains(polya) > > print buffb.contains(polya) > > print buffb.contains(polyb) > > print buffa.contains(polyb) > > print polya.equals(polyb) > > which produces the following > > False > False > False > False > True > > I'm stuck > > cheers > dan > > > > From: [email protected] > > To: [email protected] > > Date: Thu, 30 Jul 2009 14:11:11 +0200 > > Subject: Re: [Community] buffer problem > > > > On Jul 28, 2009, at 8:55 PM, Daniel O'donohue wrote: > > > > > hi there > > > > > > I'm am trying to use the following algorthyim to test to see if > two > > > geometries match > > > > > > Geometry A matches geometry B if > > > A is contained in buffer(B, d) > > > and B is contained in buffer(A, d) > > > and boundary(A) is contained in buffer(boundary(B), d) > > > and boundary(B) is contained in buffer(boundary(A), d) > > > > > > > > > > > > polya = MultiPoint([(-1.0, -2.0), (1.0, -2.0), (-1.0, 2.0), (1.0, > > > 2.0)]).convex_hull > > > polyb = MultiPoint([(-1.0, -2.0), (1.0, -2.0), (-1.0, 2.0), (1.0, > > > 2.0)]).convex_hull > > > > > > buffa = polya.buffer(1.0) > > > buffb = polya.buffer(1.0) > > > > > > polya_bound = polya.boundary > > > polyb_bound = polyb.boundary > > > > > > > > > print buffa.contains(polyb) > > > print buffb.contains(polya) > > > print buffa.contains(polyb_bound) > > > print buffb.contains(polya_bound) > > > > > > > > > I use a convex hull to ensure that the polygon created is only > > > considering the outside points > > > and my points are not ordered so this ensures that I valid polygon > > > is returned > > > > > > How ever the last four print statments return > > > > > > False > > > False > > > True > > > True > > > > > > both geometries are identical so why would the buffer of one not > > > contain the either one of the > > > original geometires?? > > > > > > I am really studk here and would be greatfull for any help > > > > > > cheers > > > > > > dan > > > > Hi Dan, > > > > I can't reproduce this problem. Here's what I get, using Shapely > > 1.0.12 and GEOS 3.1.0: > > > > >>> from shapely.geometry import MultiPoint > > >>> polya = MultiPoint([(-1.0, -2.0), (1.0, -2.0), (-1.0, 2.0), > (1.0, > > 2.0)]).convex_hull > > >>> polyb = MultiPoint([(-1.0, -2.0), (1.0, -2.0), (-1.0, 2.0), > (1.0, > > 2.0)]).convex_hull > > >>> buffa = polya.buffer(1.0) > > >>> buffb = polya.buffer(1.0) > > >>> buffa.contains(polya) > > True > > >>> buffb.contains(polya) > > True > > >>> buffb.contains(polyb) > > True > > >>> buffa.contains(polyb) > > True > > >>> polya.equals(polyb) > > True > > > > What's your GEOS version? > > > > Sean > > > > _______________________________________________ > > Community mailing list > > [email protected] > > http://lists.gispython.org/mailman/listinfo/community > > Explore the new Windows Live Looking for a place to manage all your > online stuff?_______________________________________________ > Community mailing list > [email protected] > http://lists.gispython.org/mailman/listinfo/community -- Sean Gillies Programmer Institute for the Study of the Ancient World New York University _______________________________________________ Community mailing list [email protected] http://lists.gispython.org/mailman/listinfo/community
