[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