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

Reply via email to