From d9d96a2e66ee3ff91c1498a0e4bcba7e6842b9f3 Mon Sep 17 00:00:00 2001 From: Martin Davis Date: Tue, 5 Nov 2024 14:45:36 -0800 Subject: [PATCH] Fix TaggedLineString as per JTS 1096 --- src/simplify/TaggedLineString.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/simplify/TaggedLineString.cpp b/src/simplify/TaggedLineString.cpp index e0dc40ddbf..9a6d09324d 100644 --- a/src/simplify/TaggedLineString.cpp +++ b/src/simplify/TaggedLineString.cpp @@ -169,7 +169,7 @@ TaggedLineString::extractCoordinates( if(size) { for(std::size_t i = 0; i < size; i++) { - TaggedLineSegment* seg = segs[i]; + TaggedLineSegment* seg = segs[i]; assert(seg); pts->add(seg->p0); } @@ -185,7 +185,6 @@ TaggedLineString::extractCoordinates( const Coordinate& TaggedLineString::getCoordinate(std::size_t i) const { - return parentLine->getCoordinateN(i); } @@ -198,6 +197,10 @@ TaggedLineString::size() const const Coordinate& TaggedLineString::getComponentPoint() const { + //-- when simplified use a valid coordinate + if (resultSegs.size() > 0) { + return resultSegs[0]->p0; + } return getParentCoordinates()->getAt(1); }