Hi Marko,
Please try the attached patch and see if it gets rid of the "can't be
merged" error you are getting when generating sea.
Mark
diff --git a/src/uk/me/parabola/mkgmap/reader/osm/xml/Osm5XmlHandler.java b/src/uk/me/parabola/mkgmap/reader/osm/xml/Osm5XmlHandler.java
index b90fda1..d6cacab 100644
--- a/src/uk/me/parabola/mkgmap/reader/osm/xml/Osm5XmlHandler.java
+++ b/src/uk/me/parabola/mkgmap/reader/osm/xml/Osm5XmlHandler.java
@@ -1292,10 +1292,12 @@ class Osm5XmlHandler extends DefaultHandler {
hNext = getEdgeHit(seaBounds, segment.getPoints().get(segment.getPoints().size()-1));
}
else {
- w.addPoint(hit.getPoint(seaBounds));
+ Coord hitPoint = hit.getPoint(seaBounds);
+ w.addPoint(hitPoint);
hNext = hits.higher(hit);
if (hNext == null)
hNext = hFirst;
+ Coord nextPoint = hNext.getPoint(seaBounds);
Coord p;
if (hit.compareTo(hNext) < 0) {
@@ -1303,8 +1305,10 @@ class Osm5XmlHandler extends DefaultHandler {
for (int i=hit.edge; i<hNext.edge; i++) {
EdgeHit corner = new EdgeHit(i, 1.0);
p = corner.getPoint(seaBounds);
- log.debug("way: ", corner, p);
- w.addPoint(p);
+ if(!p.equals(hitPoint) && !p.equals(nextPoint)) {
+ log.debug("way: ", corner, p);
+ w.addPoint(p);
+ }
}
}
else if (hit.compareTo(hNext) > 0) {
@@ -1312,17 +1316,21 @@ class Osm5XmlHandler extends DefaultHandler {
for (int i=hit.edge; i<4; i++) {
EdgeHit corner = new EdgeHit(i, 1.0);
p = corner.getPoint(seaBounds);
- log.debug("way: ", corner, p);
- w.addPoint(p);
+ if(!p.equals(hitPoint) && !p.equals(nextPoint)) {
+ log.debug("way: ", corner, p);
+ w.addPoint(p);
+ }
}
for (int i=0; i<hNext.edge; i++) {
EdgeHit corner = new EdgeHit(i, 1.0);
p = corner.getPoint(seaBounds);
- log.debug("way: ", corner, p);
- w.addPoint(p);
+ if(!p.equals(hitPoint) && !p.equals(nextPoint)) {
+ log.debug("way: ", corner, p);
+ w.addPoint(p);
+ }
}
}
- w.addPoint(hNext.getPoint(seaBounds));
+ w.addPoint(nextPoint);
}
hits.remove(hit);
hit = hNext;
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev