[Git][debian-gis-team/mkgmap-splitter][master] 4 commits: New upstream version 0.0.0+svn650

Bas Couwenberg (@sebastic) gitlab at salsa.debian.org
Fri Apr 1 08:53:17 BST 2022



Bas Couwenberg pushed to branch master at Debian GIS Project / mkgmap-splitter


Commits:
aa07db12 by Bas Couwenberg at 2022-04-01T09:42:37+02:00
New upstream version 0.0.0+svn650
- - - - -
c391a1ec by Bas Couwenberg at 2022-04-01T09:42:39+02:00
Update upstream source from tag 'upstream/0.0.0+svn650'

Update to upstream version '0.0.0+svn650'
with Debian dir 410378989e32e1bc9f9d58c87b4840bca74d766c
- - - - -
ccc2621f by Bas Couwenberg at 2022-04-01T09:42:56+02:00
New upstream SVN snapshot.

- - - - -
922f1d7a by Bas Couwenberg at 2022-04-01T09:43:35+02:00
Set distribution to unstable.

- - - - -


4 changed files:

- debian/changelog
- resources/splitter-version.properties
- src/uk/me/parabola/splitter/DataStorer.java
- src/uk/me/parabola/splitter/solver/SplittableDensityArea.java


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,9 @@
+mkgmap-splitter (0.0.0+svn650-1) unstable; urgency=medium
+
+  * New upstream SVN snapshot.
+
+ -- Bas Couwenberg <sebastic at debian.org>  Fri, 01 Apr 2022 09:43:26 +0200
+
 mkgmap-splitter (0.0.0+svn647-1) unstable; urgency=medium
 
   * New upstream SVN snapshot.


=====================================
resources/splitter-version.properties
=====================================
@@ -1,2 +1,2 @@
-svn.version: 647
-build.timestamp: 2022-02-16T20:10:00+0000
+svn.version: 650
+build.timestamp: 2022-03-28T13:44:07+0100


=====================================
src/uk/me/parabola/splitter/DataStorer.java
=====================================
@@ -185,7 +185,7 @@ public class DataStorer {
 		List<Area> distinctAreas = distinctDataStorer.getAreaDictionary().getAreas();
 		Map<Area, Integer> map = new HashMap<>();
 		for (Area distinctArea : distinctAreas) {
-			if (distinctArea.getMapId() < 0 && !distinctArea.isPseudoArea()) {
+			if (!distinctArea.isPseudoArea()) {
 				AreaSet w = new AreaSet();
 				for (int i = 0; i < getNumOfAreas(); i++) {
 					if (this.areaDictionary.getArea(i).contains(distinctArea)) {
@@ -193,7 +193,7 @@ public class DataStorer {
 					}
 				}
 				map.put(distinctArea, this.areaDictionary.translate(w));
-			}
+			} 
 		}
 
 		for (Entry<Long, Integer> e : distinctDataStorer.oneDistinctAreaOnlyRels.entrySet()) {
@@ -202,7 +202,9 @@ public class DataStorer {
 			int pos = singleArea.iterator().next();
 			if (!distinctAreas.get(pos).isPseudoArea()) {
 				Integer areaIdx = map.get(distinctAreas.get(pos));
-				oneTileOnlyRels.put(e.getKey(), areaIdx != null ? areaIdx : e.getValue());
+				if (areaIdx == null)
+					throw new SplitFailedException("failed to find index for area " + distinctAreas.get(pos)); 
+				oneTileOnlyRels.put(e.getKey(), areaIdx);
 			} else {
 				oneTileOnlyRels.put(e.getKey(), AbstractMapProcessor.UNASSIGNED);
 			}


=====================================
src/uk/me/parabola/splitter/solver/SplittableDensityArea.java
=====================================
@@ -169,20 +169,26 @@ public class SplittableDensityArea {
 			return getAreas(split(), null);
 		if (polygonArea.isSingular()) {
 			java.awt.geom.Area rasteredArea = allDensities.rasterPolygon(polygonArea);
-			if (rasteredArea.isEmpty()) {
-				System.err.println("Bounding polygon doesn't intersect with the bounding box of the input file(s)");
-				return Collections.emptyList();
-			}
-			if (rasteredArea.isSingular()) {
-				prepare(polygonArea);
-				Tile tile = new Tile(extraDensityInfo, rasteredArea.getBounds());
-				Solution solution = findSolutionWithSinglePolygon(0, tile, rasteredArea);
-				if (solution == null && rasteredArea.isRectangular()) 
-					solution = split();
-				if (solution != null) { 
-					return getAreas(solution, polygonArea);
+			List<List<Point>> shapes = Utils.areaToShapes(rasteredArea);
+			List<Area> areas = new ArrayList<>();
+			for (List<Point> shape : shapes) {
+				java.awt.geom.Area rasteredPart = Utils.shapeToArea(shape);
+				if (rasteredPart.isEmpty()) {
+					System.err.println("Bounding polygon doesn't intersect with the bounding box of the input file(s)");
+					return Collections.emptyList();
+				}
+				if (rasteredPart.isSingular()) {
+					prepare(polygonArea);
+					Tile tile = new Tile(extraDensityInfo, rasteredPart.getBounds());
+					Solution solution = findSolutionWithSinglePolygon(0, tile, rasteredPart);
+					if (solution == null && rasteredPart.isRectangular()) 
+						solution = split();
+					if (solution != null) { 
+						areas.addAll(getAreas(solution, polygonArea));
+					}
 				}
 			}
+			return areas;
 		}
 		if (polygonArea.intersects(Utils.area2Rectangle(allDensities.getBounds(), 0)))
 			return splitPolygon(polygonArea);



View it on GitLab: https://salsa.debian.org/debian-gis-team/mkgmap-splitter/-/compare/f7b0abec2a40003e2ba66cfd2f9fc6cf5450514b...922f1d7aba64baf0e012811e2387076de43b3d29

-- 
View it on GitLab: https://salsa.debian.org/debian-gis-team/mkgmap-splitter/-/compare/f7b0abec2a40003e2ba66cfd2f9fc6cf5450514b...922f1d7aba64baf0e012811e2387076de43b3d29
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20220401/1cbe6b34/attachment-0001.htm>


More information about the Pkg-grass-devel mailing list