Hi Mario,

I use libgeos 3.1 (on Ubuntu and MacOSX)
But I've already got strange/wrong results with shapely when libgeos is
built (configure;make;make install) with g++ version 4.3.
I've rebuilt libgeos with g++ version 4.2 and that works fine (don't know
why).

(see http://lists.gispython.org/pipermail/community/2009-March/001995.html)

Pascal

2009/5/11 Mario Ceresa <[email protected]>

> Hello Pascal,
> thanks for your prompt response! Now I see why using the polygon or
> its exterior is different: it makes much more sense. Still I confirm
> that all the intersections of both the linear ring and the polygon
> with the points in your example return True. Contains works as
> expected.
>
> I'm wondering whether there is any known bug in the geos library.
> Could you please let me know if you are using the 3.1 too or a
> different version?
>
> Thanks a lot for your help
>
> Mario
>
>
>
> On Thu, May 7, 2009 at 8:42 PM, Pascal Leroux <[email protected]> wrote:
> > Hi Mario,
> >
> > I'm surprised with your results. That's what I get with Shapely 1.0.12 :
> >
> >>>> from shapely.geometry import Point
> >>>> from shapely.geometry.polygon import LinearRing
> >>>> test = LinearRing(((1,1),(2,3),(4,2),(3,0)))
> >>>> points = [ Point((2,2)),Point((1,0.5)),Point((1.5,0.5)) ]
> >>>> map(test.intersects,points)
> > [False, False, False]
> >>>> map(test.contains,points)
> > [False, False, False]
> >
> > But, don't forget that a LinearRing instance is a 1D object/shape.
> > So your "test" LinearRing is different from a Polygon whose outer ring is
> > "test" :
> >
> >  >>> from shapely.geometry import Polygon
> >>>> poly = Polygon(((1,1),(2,3),(4,2),(3,0)))
> >>>> map(poly.intersects,points)
> > [True, False, False]
> >>>> map(poly.contains,points)
> > [True, False, False]
> >
> > Pascal
> >
> > 2009/5/7 Mario Ceresa <[email protected]>
> >>
> >> Hello everybody,
> >> I'm sorry to ask a very stupid question, but I don't undestand well
> >> how intersects and contains work:
> >>
> >> >> test = LinearRing([(1,1),(2,3),(4,2),(3,0)])
> >> >> points = [Point(2,2),Point(1,0.5),Point(1.5,0.5)]
> >> >> map(test.intersects,points)
> >> returned [True, True, True] and I was expecting [True,False,False]
> >> >> map(test.contains,points)
> >> returned [False, False, False] and I was expected [True,False,False]
> >>
> >> It may be that I'm thinking at the wrong geometry but why (1;0.5) and
> >> (1.5;0.5) are considered intersected with the polygon if they are
> >> outside? Is the intersection done with the bounding box of the
> >> objects?
> >>
> >> Is there any way to retrieve the points contained within the polygon?
> >>
> >> I'm using Shapely-1.0.12-py2.5 and geos 3.1 on a x86_64 Fedora 9
> >>
> >> Thanks and regards,
> >>
> >> Mario
> >> _______________________________________________
> >> Community mailing list
> >> [email protected]
> >> http://lists.gispython.org/mailman/listinfo/community
> >
> >
> > _______________________________________________
> > Community mailing list
> > [email protected]
> > http://lists.gispython.org/mailman/listinfo/community
> >
> >
> _______________________________________________
> Community mailing list
> [email protected]
> http://lists.gispython.org/mailman/listinfo/community
>
_______________________________________________
Community mailing list
[email protected]
http://lists.gispython.org/mailman/listinfo/community

Reply via email to