Hello Pascal, thanks for the hint: I'll check if rebuilding geos with gcc 4.2 solves the problem and let you know.
Mario On Mon, May 11, 2009 at 10:44 AM, Pascal Leroux <[email protected]> wrote: > 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 > > _______________________________________________ Community mailing list [email protected] http://lists.gispython.org/mailman/listinfo/community
