[osmosis-dev] --read-xml and --sort osmosis operations of Srtm2osm output file failed with error: "...Cannot represent 70730 as a char"

Fedor Snegov (MTS phone) fsnegov at gmail.com
Sun Apr 28 09:11:54 UTC 2013


Hi, dear osmosis-dev list members

I am trying to merge osm map file containing Srtm2osm contours of 
interested area ( 
boundaries='http://www.openstreetmap.org/?lat=60.22&lon=32.04&zoom=7&layers=M' 
) with osm.pbf Openstreetmaps map file in order to obtain Garmin map.

I employ osmosis (great tool) for merging procedure. The merging 
procedure fails every time with errors which are presented below.

For test reasons I am trying simply to convert Srtm2osm program output 
file to pbf format. The command line invoking osmosis is the following:

"./osmosis-0.43.1/bin/osmosis \
--read-xml file=$contours_file_name.$contours_file_extension \
--sort \
--write-pbf file=$contours_file_name.osm.pbf omitmetadata=true 
compress=deflate"

But it stops and gives me again the same error log like this:

"Apr 27, 2013 11:35:22 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.43.1
Apr 27, 2013 11:35:22 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
Apr 27, 2013 11:35:22 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
Apr 27, 2013 11:35:22 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
Apr 27, 2013 11:35:42 PM 
org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCom
SEVERE: Thread for task 1-read-xml failed
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Cannot represent 
70730 as a char.
         at 
org.openstreetmap.osmosis.core.util.IntAsChar.intToChar(IntAsChar.java:32)
         at 
org.openstreetmap.osmosis.core.domain.v0_6.Way.store(Way.java:200)
         at 
org.openstreetmap.osmosis.core.container.v0_6.WayContainer.store(WayContainer.java:49)
         at 
org.openstreetmap.osmosis.core.store.BaseObjectWriter.writeObject(BaseObjectWriter.java:6
         at 
org.openstreetmap.osmosis.core.store.SegmentedObjectStore.add(SegmentedObjectStore.java:1
         at 
org.openstreetmap.osmosis.core.store.ChunkedObjectStore.add(ChunkedObjectStore.java:78)
         at 
org.openstreetmap.osmosis.core.sort.common.FileBasedSort.flushAddBuffer(FileBasedSort.jav
         at 
org.openstreetmap.osmosis.core.sort.common.FileBasedSort.add(FileBasedSort.java:118)
         at 
org.openstreetmap.osmosis.core.sort.v0_6.EntitySorter.process(EntitySorter.java:49)
         at 
org.openstreetmap.osmosis.xml.v0_6.impl.NodeElementProcessor.end(NodeElementProcessor.jav
         at 
org.openstreetmap.osmosis.xml.v0_6.impl.OsmHandler.endElement(OsmHandler.java:107)
         at 
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
         at 
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown 
Source)
         at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown 
Source)
         at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(
         at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown 
Source)
         at 
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Sour
         at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
         at 
org.openstreetmap.osmosis.xml.v0_6.XmlReader.run(XmlReader.java:111)
         at java.lang.Thread.run(Thread.java:722)

Apr 27, 2013 11:35:42 PM org.openstreetmap.osmosis.core.Osmosis main
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more 
tasks failed
         at 
org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForComple
         at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92)
         at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
         at java.lang.reflect.Method.invoke(Method.java:601)
         at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Laun
         at 
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
         at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
         at 
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
         at org.codehaus.classworlds.Launcher.main(Launcher.java:47)"


I am not a programmer, but it seems, that the reason for such an  errors 
is some osmosis limit for maximum number of nodes in a way...
It is clear that for some not small areas with flat landscape Srtm2osm 
could generate a very long ways with huge amount of nodes.

Please, could you give any suggestions or advices to overcome this problem?

-- 
Yours sincerely,
Fedor (aka FMS in OSM)
Saint-Petersburg,
Russia

e-mail:     fsnegov at gmail.com




More information about the osmosis-dev mailing list