[geos-commits] [SCM] GEOS branch 3.8 updated. 6b12bcc25871f89c0dd3d4038132979d22362d74
git at osgeo.org
git at osgeo.org
Tue Mar 10 09:31:17 PDT 2020
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".
The branch, 3.8 has been updated
via 6b12bcc25871f89c0dd3d4038132979d22362d74 (commit)
from 17110ec835b9f1f61d45fce37c00f574e640e195 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6b12bcc25871f89c0dd3d4038132979d22362d74
Author: Daniel Baston <dbaston at gmail.com>
Date: Fri Dec 6 11:29:20 2019 -0500
Lazily build index in IndexedPointInAreaLocator
diff --git a/NEWS b/NEWS
index f5aa0b0..010c0fc 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,7 @@ Changes in 3.8.1
(#1013, Dan Baston)
- Fix missing vtable for LineString and CoordinateArraySequenceFactory
(#299 and #1016, Evgen Bodunov)
+ - Reduce performance regression in GEOSBuffer (#1020)
Changes in 3.8.0
2019-10-10
diff --git a/src/algorithm/locate/IndexedPointInAreaLocator.cpp b/src/algorithm/locate/IndexedPointInAreaLocator.cpp
index 181ecf5..7a01ce0 100644
--- a/src/algorithm/locate/IndexedPointInAreaLocator.cpp
+++ b/src/algorithm/locate/IndexedPointInAreaLocator.cpp
@@ -96,13 +96,15 @@ IndexedPointInAreaLocator::IndexedPointInAreaLocator(const geom::Geometry& g)
&& areaGeomId != typeid(geom::LinearRing)) {
throw util::IllegalArgumentException("Argument must be Polygonal or LinearRing");
}
-
- buildIndex(areaGeom);
}
geom::Location
IndexedPointInAreaLocator::locate(const geom::Coordinate* /*const*/ p)
{
+ if (index == nullptr) {
+ buildIndex(areaGeom);
+ }
+
algorithm::RayCrossingCounter rcc(*p);
IndexedPointInAreaLocator::SegmentVisitor visitor(&rcc);
-----------------------------------------------------------------------
Summary of changes:
NEWS | 1 +
src/algorithm/locate/IndexedPointInAreaLocator.cpp | 6 ++++--
2 files changed, 5 insertions(+), 2 deletions(-)
hooks/post-receive
--
GEOS
More information about the geos-commits
mailing list