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

git at osgeo.org git at osgeo.org
Tue Apr 25 10:56:46 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  b284ec0233a3ea7e68f615a960fe6beaab939814 (commit)
      from  fe55745374aa5622b35fe349b46c0dd4ecfa3cb0 (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 b284ec0233a3ea7e68f615a960fe6beaab939814
Author: Martin Davis <mtnclimb at gmail.com>
Date:   Tue Apr 25 10:56:18 2023 -0700

    Add gesoop operation unaryUnionSR

diff --git a/util/geosop/GeometryOp.cpp b/util/geosop/GeometryOp.cpp
index a82e017bf..3f72be214 100644
--- a/util/geosop/GeometryOp.cpp
+++ b/util/geosop/GeometryOp.cpp
@@ -54,6 +54,7 @@
 #include <geos/operation/polygonize/Polygonizer.h>
 #include <geos/operation/polygonize/BuildArea.h>
 #include <geos/operation/overlayng/CoverageUnion.h>
+#include <geos/operation/overlayng/UnaryUnionNG.h>
 #include <geos/operation/relate/RelateOp.h>
 #include <geos/operation/union/CoverageUnion.h>
 #include <geos/precision/GeometryPrecisionReducer.h>
@@ -783,7 +784,15 @@ std::vector<GeometryOpCreator> opRegistry {
     [](const std::unique_ptr<Geometry>& geom, const std::unique_ptr<Geometry>& geomB, double d) {
         geos::geom::PrecisionModel pm(d);
         return new Result( OverlayNG::overlay(geom.get(), geomB.get(), OverlayNG::UNION, &pm) );
-});
+    });
+}},
+{"unaryUnionSR", [](std::string name) { return GeometryOp::createAgg(name,
+    catOverlay,
+    "compute aggregate union",
+    [](const std::unique_ptr<Geometry>& geom, double d) {
+        geos::geom::PrecisionModel pm(d);
+        return new Result( geos::operation::overlayng::UnaryUnionNG::Union(geom.get(), pm ));
+    });
 }},
 {"node", [](std::string name) { return GeometryOp::create(name,
     catOverlay,

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

Summary of changes:
 util/geosop/GeometryOp.cpp | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list