[geos-commits] [SCM] GEOS branch main updated. 1ae8b36bf61933ed20456da4e5356d239251dc8a
git at osgeo.org
git at osgeo.org
Wed Jun 4 15:52:41 PDT 2025
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 1ae8b36bf61933ed20456da4e5356d239251dc8a (commit)
from b577e3056f5a3ecec7bb1ded2181591a87b06149 (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 1ae8b36bf61933ed20456da4e5356d239251dc8a
Author: Daniel Baston <dbaston at gmail.com>
Date: Wed Jun 4 18:52:14 2025 -0400
CoverageRingEdges: optimize findBoundaryNodes (#1270)
diff --git a/src/coverage/CoverageRingEdges.cpp b/src/coverage/CoverageRingEdges.cpp
index e6ec619b7..9d5eba07f 100644
--- a/src/coverage/CoverageRingEdges.cpp
+++ b/src/coverage/CoverageRingEdges.cpp
@@ -278,25 +278,10 @@ CoverageRingEdges::findMultiRingNodes(const std::vector<const Geometry*>& covera
Coordinate::UnorderedSet
CoverageRingEdges::findBoundaryNodes(LineSegment::UnorderedSet& boundarySegments)
{
- std::map<Coordinate, std::size_t> counter;
+ std::unordered_map<Coordinate, std::size_t, Coordinate::HashCode> counter;
for (const LineSegment& seg : boundarySegments) {
- // counter.put(line.p0, counter.getOrDefault(line.p0, 0) + 1);
- // counter.put(line.p1, counter.getOrDefault(line.p1, 0) + 1);
- auto search0 = counter.find(seg.p0);
- if (search0 != counter.end()) {
- counter[seg.p0] = search0->second + 1;
- }
- else {
- counter[seg.p0] = 0;
- }
-
- auto search1 = counter.find(seg.p1);
- if (search1 != counter.end()) {
- counter[seg.p1] = search1->second + 1;
- }
- else {
- counter[seg.p1] = 0;
- }
+ counter[seg.p0] += 1;
+ counter[seg.p1] += 1;
}
Coordinate::UnorderedSet nodes;
@@ -307,10 +292,6 @@ CoverageRingEdges::findBoundaryNodes(LineSegment::UnorderedSet& boundarySegments
nodes.insert(v);
}
return nodes;
-
- // return counter.entrySet().stream()
- // .filter(e->e.getValue()>2)
- // .map(Map.Entry::getKey).collect(Collectors.toSet());
}
-----------------------------------------------------------------------
Summary of changes:
src/coverage/CoverageRingEdges.cpp | 25 +++----------------------
1 file changed, 3 insertions(+), 22 deletions(-)
hooks/post-receive
--
GEOS
More information about the geos-commits
mailing list