[Community] buffer problem
Sean Gillies
sean.gillies at gmail.com
Thu Aug 6 16:49:02 EEST 2009
Jaakko Salli has been making GEOS DLLs for the Shapely windows
installers. I'll see if he's able to make an updated one.
Sean
On Aug 3, 2009, at 12:12 PM, Daniel O'donohue wrote:
> hi my search for libgeos showed that I have three versions on my
> machine
> libgeos-3-0-0.dll is the only one included in the python path
> the other two versions are
> libgeos-2.dll and libgeos_c-1.dll which are part of Quantum GIS
>
> any ideas as to how I can get a hold of libgoes-3-0-0-1??
>
> bearing in mind I an using shapely-1.0.12
>
>
> thanks
>
> dan
>
> > From: sean.gillies at gmail.com
> > To: community at lists.gispython.org
> > Date: Fri, 31 Jul 2009 09:54:12 +0200
> > Subject: Re: [Community] buffer problem
> >
> > 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: sean.gillies at gmail.com
> > > > To: community at lists.gispython.org
> > > > 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
> > > > Community at lists.gispython.org
> > > > 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
> > > Community at lists.gispython.org
> > > http://lists.gispython.org/mailman/listinfo/community
> >
> > --
> > Sean Gillies
> > Programmer
> > Institute for the Study of the Ancient World
> > New York University
> >
> > _______________________________________________
> > Community mailing list
> > Community at lists.gispython.org
> > http://lists.gispython.org/mailman/listinfo/community
>
> Share your memories online with anyone you want anyone you
> want._______________________________________________
> Community mailing list
> Community at lists.gispython.org
> http://lists.gispython.org/mailman/listinfo/community
--
Sean Gillies
Programmer
Institute for the Study of the Ancient World
New York University
More information about the Community
mailing list