Probleme beim OSM Import mit Osmosis in Postgresql/PostGIS

Hallo,

ich hoffe mir kann jemand helfen. Ich versuche es jetzt schon seit Stunden und komme nicht weiter.

Ziel ist es die Datei “potsdam.osm”, die ich per bbox von der openstreetmap.org Website exportiert habe in eine Postgresql/PostGIS Datenbank zu importieren und dabei das OSM Schema beizubehalten. Dazu nutze ich das Tool “osmosis”

Mein Betriebssystem ist: Ubuntu 16.04

Meine bisherige Vorgehensweise ist wie folgt:

  1. Postgresql/Postgis und pgAdmin III installiert -> funktioniert

  2. Osmosis installiert -> funktioniert

  3. Datenbanknutzer (Superuser) im Terminal angelegt: -> funktioniert

sudo -u postgres createuser pdm_nutzer -W -s
  1. Datenbank im Terminal angelegt: -> funktioniert
sudo -u postgres createdb -O pdm_datenbank
  1. Erweiterungen für die Datenbank “pdm_datenbank” installiert: -> funktioniert
psql -d pdm_datenbank 'CREATE EXTENSION postgis; CREATE EXTENSION hstore;'
  1. OSM-Schema in die Datenbank “pdm_Datenbank” importiert: -> funktioniert
psql -d pdm_datenbank -f /usr/share/doc/osmosis/examples/pgsnapshot_schema_0.6.sql

und

psql -d pdm_datenbank -f /usr/share/doc/osmosis/examples/pgsnapshot_schema_0.6_linestring.sql
  1. Osmosis mit folgendem Befehl zum Import der potsdam.osm zu bewegen: -> Problem :confused:
osmosis --read-xml file="/home/reese/Schreibtisch/potsdam.osm" --write-pgsql database="pdm_datenbank" user="pdm_nutzer" password="12345"

Das Ergebnis ist folgende Fehlermeldung:

Mai 10, 2016 1:13:33 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Osmosis Version 0.44.1
Mai 10, 2016 1:13:33 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Preparing pipeline.
Mai 10, 2016 1:13:33 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Launching pipeline execution.
Mai 10, 2016 1:13:33 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Pipeline executing, waiting for completion.
log4j:WARN No appenders could be found for logger (org.springframework.jdbc.datasource.DataSourceUtils).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Mai 10, 2016 1:13:33 PM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SCHWERWIEGEND: Thread for task 1-read-xml failed
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Cannot begin reading in Add stage, must call complete first.
at org.openstreetmap.osmosis.core.store.RandomAccessObjectStore.initializeReadingStage(RandomAccessObjectStore.java:156)
at org.openstreetmap.osmosis.core.store.RandomAccessObjectStore.createReader(RandomAccessObjectStore.java:181)
at org.openstreetmap.osmosis.core.store.IndexStore.createReader(IndexStore.java:151)
at org.openstreetmap.osmosis.core.store.IndexedObjectStore.createReader(IndexedObjectStore.java:96)
at org.openstreetmap.osmosis.pgsnapshot.common.CompactPersistentNodeLocationStore.getNodeLocation(CompactPersistentNodeLocationStore.java:50)
at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.WayGeometryBuilder.createWayLinestring(WayGeometryBuilder.java:204)
at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.CopyFilesetBuilder.process(CopyFilesetBuilder.java:206)
at org.openstreetmap.osmosis.core.container.v0_6.WayContainer.process(WayContainer.java:58)
at org.openstreetmap.osmosis.pgsnapshot.v0_6.impl.CopyFilesetBuilder.process(CopyFilesetBuilder.java:131)
at org.openstreetmap.osmosis.pgsnapshot.v0_6.PostgreSqlCopyWriter.process(PostgreSqlCopyWriter.java:110)
at org.openstreetmap.osmosis.xml.v0_6.impl.WayElementProcessor.end(WayElementProcessor.java:117)
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.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
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 Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:189)
at org.openstreetmap.osmosis.xml.v0_6.XmlReader.run(XmlReader.java:111)
at java.lang.Thread.run(Thread.java:745)

Mai 10, 2016 1:13:33 PM org.openstreetmap.osmosis.core.Osmosis main
SCHWERWIEGEND: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed.
at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)
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.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:328)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
at org.codehaus.classworlds.Launcher.main(Launcher.java:31)

Das sieht mir jetzt nicht nach einem Problem in PG aus, sondern eher log4j.

Hallo,

Das sieht mir jetzt nicht nach einem Problem in PG aus, sondern eher log4j.

Leider weis ich damit nix anzufangen. Kannst Du das bitte noch etwas ausführen?

Die Meldung von log4j ist nur eine Warnung - ein Hinweis, dass Default-Einstellungen verwendet werden.

Die eigentliche Fehlermeldung ist das hier:

Irgendein Fehler beim Parsen der XML Datei.

org.openstreetmap.osmosis.core.OsmosisRuntimeException: Cannot begin reading in Add stage, must call complete first.

Die Frage ist jetzt, wie muss ich das interpretieren? Also wo muss ich nach dem Problem suchen?

Unten gibts was zum Thee Hilfe:

https://wiki.openstreetmap.org/wiki/DE:Osmosis

Gruß Uwe