[geos-commits] [SCM] GEOS branch main updated. fe55745374aa5622b35fe349b46c0dd4ecfa3cb0

git at osgeo.org git at osgeo.org
Mon Apr 24 19:18:13 PDT 2023


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, main has been updated
       via  fe55745374aa5622b35fe349b46c0dd4ecfa3cb0 (commit)
       via  09c10ed41c826ed0ea6c02da6f80709e4f30fe2b (commit)
      from  fb8c78acbf351ac1e124d2a872f997c9d4851a0c (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 fe55745374aa5622b35fe349b46c0dd4ecfa3cb0
Author: Martin Davis <mtnclimb at gmail.com>
Date:   Mon Apr 24 19:17:43 2023 -0700

    Add geosop node operation

diff --git a/util/geosop/GeometryOp.cpp b/util/geosop/GeometryOp.cpp
index 228e6b116..a82e017bf 100644
--- a/util/geosop/GeometryOp.cpp
+++ b/util/geosop/GeometryOp.cpp
@@ -35,6 +35,7 @@
 #include <geos/geom/util/Densifier.h>
 #include <geos/geom/util/GeometryFixer.h>
 #include <geos/linearref/LengthIndexedLine.h>
+#include <geos/noding/GeometryNoder.h>
 #include <geos/operation/buffer/BufferBuilder.h>
 #include <geos/operation/buffer/BufferOp.h>
 #include <geos/operation/buffer/BufferParameters.h>
@@ -784,6 +785,13 @@ std::vector<GeometryOpCreator> opRegistry {
         return new Result( OverlayNG::overlay(geom.get(), geomB.get(), OverlayNG::UNION, &pm) );
 });
 }},
+{"node", [](std::string name) { return GeometryOp::create(name,
+    catOverlay,
+    "compute fully noded geometry",
+    [](const std::unique_ptr<Geometry>& geom) {
+        return new Result( geos::noding::GeometryNoder::node( *geom ) );
+});
+}},
 {"clipRect", [](std::string name) { return GeometryOp::create(name,
     catOverlay,
     "clip geometry A to envelope of B",

commit 09c10ed41c826ed0ea6c02da6f80709e4f30fe2b
Author: Martin Davis <mtnclimb at gmail.com>
Date:   Mon Apr 24 19:17:30 2023 -0700

    Add note to try sorting in CoverageUnion

diff --git a/src/coverage/CoverageUnion.cpp b/src/coverage/CoverageUnion.cpp
index 010dfb198..4ff5e5fe2 100644
--- a/src/coverage/CoverageUnion.cpp
+++ b/src/coverage/CoverageUnion.cpp
@@ -18,6 +18,7 @@
 #include <geos/geom/GeometryCollection.h>
 #include <geos/geom/GeometryFactory.h>
 #include <geos/operation/overlayng/CoverageUnion.h>
+//#include <geos/shape/fractal/HilbertEncoder.h>
 
 using geos::geom::Geometry;
 using geos::geom::GeometryCollection;
@@ -35,6 +36,10 @@ CoverageUnion::Union(std::vector<const Geometry*>& coverage)
     if (coverage.size() == 0)
         return nullptr;
 
+    //TODO? spatial sort polgyons to improve performance
+    // Test results are somewhat inconclusive
+    //shape::fractal::HilbertEncoder::sort(coverage.begin(), coverage.end());
+
     const GeometryFactory* geomFact = coverage[0]->getFactory();
     std::unique_ptr<GeometryCollection> geoms(geomFact->createGeometryCollection(coverage));
     return operation::overlayng::CoverageUnion::geomunion(geoms.get());
@@ -43,5 +48,3 @@ CoverageUnion::Union(std::vector<const Geometry*>& coverage)
 
 } // namespace geos.coverage
 } // namespace geos
-
-

-----------------------------------------------------------------------

Summary of changes:
 src/coverage/CoverageUnion.cpp | 7 +++++--
 util/geosop/GeometryOp.cpp     | 8 ++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list