I have been debugging a crash of mkgamp where it fails with the exception
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at
uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation$JoinedWay.<init
>(MultiPolygonRelation.java:2199)
at
uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation.joinWays(MultiP
olygonRelation.java:245)
at
uk.me.parabola.mkgmap.reader.osm.MultiPolygonRelation.processElements
(MultiPolygonRelation.java:763)
at
uk.me.parabola.mkgmap.reader.osm.ElementSaver.addRelation(ElementSave
r.java:166)
at
uk.me.parabola.mkgmap.reader.osm.xml.Osm5XmlHandler$SaxHandler.endEle
ment(Osm5XmlHandler.java:182)
The reason seems to be inconsistent data: a way without the nodes it
references. As mkgmap siletntly drops missing ways, but crashes on missing
nodes I assume this is a bug.
This can be fixed by changing Osm5XmlHandler, line 263 to
if ("way".equals(type)){
el = saver.getWay(id);
// remove ways without points
if( el != null &&
((Way)el).getPoints().isEmpty() )
el = null;
}
Maybe someone would like to apply this fix to make mkgmap more robust.
bye
Nop
--
View this message in context:
http://gis.19327.n5.nabble.com/mkgmap-crashes-if-nodes-are-missing-tp5711811.html
Sent from the Mkgmap Development mailing list archive at Nabble.com.
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev