From 7581fcde5d26ffa965fdd09698a6eab580281376 Mon Sep 17 00:00:00 2001 From: AdenKoperczak Date: Tue, 16 Jul 2024 10:17:40 -0400 Subject: [PATCH] Moved to using (likely) public API in geos --- scwx-qt/source/scwx/qt/util/geographic_lib.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scwx-qt/source/scwx/qt/util/geographic_lib.cpp b/scwx-qt/source/scwx/qt/util/geographic_lib.cpp index 2557fd15..84bf2354 100644 --- a/scwx-qt/source/scwx/qt/util/geographic_lib.cpp +++ b/scwx-qt/source/scwx/qt/util/geographic_lib.cpp @@ -5,8 +5,7 @@ #include #include -#include -#include +#include #include #include @@ -258,20 +257,19 @@ GetDistanceAreaPoint(const std::vector& area, // Get the closes point on the geometry auto geometryFactory = geos::geom::GeometryFactory::getDefaultInstance(); auto lineString = geometryFactory->createLineString(sequence); + auto zeroPoint = geometryFactory->createPoint(zero); - geos::algorithm::distance::PointPairDistance distancePair; - geos::algorithm::distance::DistanceToPoint::computeDistance( - *lineString, zero, distancePair); - - geos::geom::CoordinateXY closestPoint = distancePair.getCoordinate(0); + std::unique_ptr closestPoints = + geos::operation::distance::DistanceOp::nearestPoints(lineString.get(), + zeroPoint.get()); double closestLat; double closestLon; gnomonic.Reverse(point.latitude_, point.longitude_, - closestPoint.x, - closestPoint.y, + closestPoints->getX(0), + closestPoints->getY(0), closestLat, closestLon); @@ -279,6 +277,7 @@ GetDistanceAreaPoint(const std::vector& area, point.longitude_, closestLat, closestLon); + } return distance; }