[geos-devel] GEOSIntersection returns the input
Jürgen E. Fischer
jef at norbit.de
Tue Aug 25 03:22:41 EDT 2009
Hi Giacomo,
some comments:
On Tue, 25. Aug 2009 at 09:03:47 +0200, Giacomo Piva wrote:
> coordseq = (GEOSCoordSeq) GEOSCoordSeq_create(5, 2); //5 points bi-dimensional
[...]
> area_1 = GEOSGeom_createLinearRing(coordseq);
[...]
> area_2 = GEOSGeom_createLinearRing(coordseq);
You need a new coordinate sequence here. GEOSGeom_createLinearRing takes
ownership of it.
> intersection = GEOSIntersection(area_1, area_2);
You're intersecting two rings here. You might want to GEOSGeom_createPolygon
from the rings and intersect those.
> GEOSCoordSeq_destroy(coordseq);
The coordinate sequence is owner by the linear ring. So you shouldn't destroy
it here.
> coordseq = (GEOSCoordSeq) GEOSCoordSeq_create(2, 2); //2 points bi-dimensional
The (pointer to the) coordinate sequence you allocate here is lost...
> coordseq = (GEOSCoordSeq) GEOSGeom_getCoordSeq(geom);
...when you overwrite it here.
hth
Jürgen
--
Jürgen E. Fischer norBIT GmbH Tel. +49-4931-918175-20
Dipl.-Inf. (FH) Rheinstraße 13 Fax. +49-4931-918175-50
Software Engineer D-26506 Norden http://www.norbit.de
--
norBIT Gesellschaft fuer Unternehmensberatung und Informationssysteme mbH
Rheinstrasse 13, 26506 Norden
GF: Jelto Buurman, HR: Amtsgericht Emden, HRB 5502
More information about the geos-devel
mailing list