Brett Henderson писал 2013-02-07 13:05:
Hi! As some of you have read
(http://lists.openstreetmap.org/pipermail/dev/2013-February/026495.html
[1]), in three days node ids are expected to surpass 2147483647 [2],
and this method
https://github.com/openstreetmap/osmosis/blob/master/core/src/main/java/org/openstreetmap/osmosis/core/util/LongAsInt.java#L30
[3] will throw an exception "Cannot represent " + value + " as an
integer." It is used in every IdTracker implementation, so id trackers
will become unusable.
This will affect tag and area filters. Regional extracts that are
made with osmosis will break. There is a comment at the start of each
IdTracker class: "The current implementation only supports 31 bit
numbers, but will be enhanced if and when required." I guess, now is
the time. Can anybody fix that? There must be a reason why this hasn't
done sooner.
Thanks for the heads up. I could be wrong but I don't think this is
an issue.
It is used by ListIdTracker and BitSetIdTracker so those
implementations will soon fail if you try to use them. However, the
default implementation is now DynamicIdTracker which doesn't suffer
from this issue (I hope ;-).
The idTrackerType arguments could probably be removed from the
--bounding-box and --bounding-polygon tasks now because the default
implementation should be better than specifying one in the vast
majority of cases.
Thanks for clarification. I've checked and agree with you. But as the
documentation states, ListIdTracker is still the default options for
--used-node and --used-way:
http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage_0.41#--used-node_.28--un.29
Will those break?
I'd like idTrackerType removed, since after tomorrow using it will
certainly cause osmosis to fail. I doubt this options was useful, and it
only puzzled those who were learning osmosis, sometimes being the only
option besides inPipe and outPipe.
IZ
_______________________________________________
osmosis-dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/osmosis-dev