You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2013-09-16 13:29:44

methylglobin
Member
Registered: 2013-09-16
Posts: 4

Eigene Vektorkarten -> osmosis -> OSM 2 MAP

Hallo!

Es ist etwas OT, aber ich habe eine Frage an die Gemeinde, da ich Tools aus dem osm-Projekt verwende.

"Früher" habe ich eigene Vektorkarten mittels GPSmapEdit für mein Garmin erstellt. Nun benutze ich ein Android-Gerät und Locus Maps usw.

Wie viele Applikationen auch, unterstützt Locus Maps auch Karten im Mapsforge-Format.

Mit Global Mapper v14 habe ich eine Karte in das OSM-XML-Format exportiert und möchte es gerne mittels osmosis in das map-Format umwandeln.
Hier entsteht jedoch immer ein Fehler, den ich nicht nachvollziehen kann.

org.openstreetmap.osmosis.core.OsmosisRuntimeException: Node -180687 does not ha
ve a version attribute as OSM 0.6 are required to have.  Is this a 0.5 file?

Natürlich verstehe ich, dass es hier einen Versionsfehler geben kann, aber Global Mapper exportiert unter der API 0.6.
Gibt es vielleicht Einschränkungen in der Art, wie OSM-Files aufgebaut werden müssen?
Ich habe in einer Beispieldatei einfach nur die administrativen Grenzen von Mosambik in eine MAP-Datei umwandeln wollen. Später sollen es eigene thematische Karten für die Geländearbeit werden.

Generische OSM-Daten von der Geofafrik können ohne Fehler konvertiert werden.


Kann mir bitte jemand einen Hinweis geben, ob die osm-Datei einfach nur nicht standartgemäß ist?
Hier der Link: http://webdoc.urz.uni-halle.de/dl/643/pub/mbz.osm


Kleine Frage am Rande:
Wie kann man denn relativ einfach Vektorkarten für das Mapsforge-Format erstellen? Ich erstelle die Vektordaten normaler Weise in ArcGIS und benutze die Shape-Files für den Import.



Vielen Dank!

Michael

Offline

#2 2013-09-16 13:40:09

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

methylglobin wrote:

Kann mir bitte jemand einen Hinweis geben, ob die osm-Datei einfach nur nicht standartgemäß ist?

Klaro: Die Daten, die da drin stehen, sind noch nicht zu Osm hochgeladen worden. Daher haben alle Objekte negative IDs.

Gruss
walter

Last edited by wambacher (2013-09-16 13:40:24)

Offline

#3 2013-09-16 13:46:09

methylglobin
Member
Registered: 2013-09-16
Posts: 4

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

wambacher wrote:

Klaro: Die Daten, die da drin stehen, sind noch nicht zu Osm hochgeladen worden. Daher haben alle Objekte negative IDs.

Die Daten sollen ja auch nicht hochgeladen werden, da sie nicht für das OSM-Projekt gedacht sind. Ich möchte eigene thematische Karten erstellen, die für meine Arbeit im Gelände relevant sind. Hochladen würde für das Projekt keinen Sinn ergeben.

Ich möchte gerne MAP-Files erstellen, um diese auf meinem Android-Gerät anzeigen lassen zu können.

Gruß, Michael

Offline

#4 2013-09-16 13:52:50

rayquaza
Member
From: DE-BW
Registered: 2012-11-18
Posts: 2,007

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

methylglobin wrote:

Kann mir bitte jemand einen Hinweis geben, ob die osm-Datei einfach nur nicht standartgemäß ist?
Hier der Link: http://webdoc.urz.uni-halle.de/dl/643/pub/mbz.osm

Jein: Negative IDs sind ungewöhnlich (nicht hochgeladene Objekte oder Zählerüberlauf?) und Objekt-Version, Changeset, Timestamp und Benutzer-ID/-Name fehlen (könnte man vermutlich für diesen Anwendungsfall einfach mit osmconvert oder osmosis auf irgendetwas setzen). Das ist laut [[OSM XML]] alles zulässig – bis auf die fehlende Version, von der die Fehlermeldung handelt – aber auch das andere mögen nicht alle Anwendungen…

Offline

#5 2013-09-16 13:54:27

wambacher
Member
From: Schlangenbad/Wambach, Germany
Registered: 2009-12-16
Posts: 16,769
Website

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

methylglobin wrote:
wambacher wrote:

Klaro: Die Daten, die da drin stehen, sind noch nicht zu Osm hochgeladen worden. Daher haben alle Objekte negative IDs.

Die Daten sollen ja auch nicht hochgeladen werden, da sie nicht für das OSM-Projekt gedacht sind. Ich möchte eigene thematische Karten erstellen, die für meine Arbeit im Gelände relevant sind. Hochladen würde für das Projekt keinen Sinn ergeben.

Ich möchte gerne MAP-Files erstellen, um diese auf meinem Android-Gerät anzeigen lassen zu können.

Gruß, Michael

jo, dann lade ein kleines OSM-File vom OSM-Server runter  (Bremen von der Geofabrik ?) und stelle die formalen Unterschiede fest. Einer besteht in den negativen IDs - die müssen weg. Es wird aber auch noch andere Kleinigkeiten geben.

Offline

#6 2013-09-16 13:55:04

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

methylglobin wrote:

Hier entsteht jedoch immer ein Fehler, den ich nicht nachvollziehen kann.

org.openstreetmap.osmosis.core.OsmosisRuntimeException: Node -180687 does not ha
ve a version attribute as OSM 0.6 are required to have.  Is this a 0.5 file?

Ist doch deutlich, oder? Die node-Objekte haben kein version-Attribut, welches von osmosis aber verlangt wird, vgl. Deine Datei:

  <node id='-180687' lat='-14.9972100000' lon='30.2173830000'/>
  <node id='-180688' lat='-14.9972000000' lon='30.2174140000'/>
  <node id='-180686' lat='-14.9982570000' lon='30.2177090000'/>
  <node id='-180685' lat='-14.9986260000' lon='30.2178220000'/>
  <node id='-180684' lat='-15.0000000000' lon='30.2182530000'/>
  <node id='-180675' lat='-15.0625150000' lon='30.2206170000'/>
...

- kein version='%d'.
Wenn das zur Erzeugung verwendete Programm kein version-Attribut schreibt, kann man das auch z.B. per sed einbauen, etwa so:

 ... | sed -r "s/(node|way|relation) /&version='1' /" | ...

Derart verpfuschte Daten sollten natürlich erst recht nicht mehr zur API geladen werden, aber das ist ja hier nicht der Plan.

Ach ja, nach Einbau der obigen Lösung wird osmosis sich über den ebenfalls fehlenden timestamp beschweren. Also den sed-Befehl entsprechend ergänzen; dann Iteration, bis der Input von osmosis akzeptiert wird. version und timestamp reicht.

... | sed -r "s/(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /" | ...

PS.

Wie kann man denn relativ einfach Vektorkarten für das Mapsforge-Format erstellen? Ich erstelle die Vektordaten normaler Weise in ArcGIS und benutze die Shape-Files für den Import.

Dazu sei hiermit die Suchfunktion des Forums mit dem Suchwort mapsforge angepriesen.

Last edited by Oli-Wan (2013-09-16 14:11:25)


No animals were harmed in the writing of this posting.

Offline

#7 2013-09-16 14:58:04

methylglobin
Member
Registered: 2013-09-16
Posts: 4

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

Oli-Wan wrote:
... | sed -r "s/(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /" | ...

Dieser Code funktioniert leider nicht. sed rattert zwar durch die osm-datei, aber Änderungen finden nicht statt.

user@debian:~# sed -r "s/(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /" mbz.osm 
Oli-Wan wrote:

Dazu sei hiermit die Suchfunktion des Forums mit dem Suchwort mapsforge angepriesen.

Die Suche half nicht weiter. Die Themen tangieren nicht mein Anliegen, weshalb ich hier frage.


Trotzdem vielen Dank.

Last edited by methylglobin (2013-09-16 14:59:40)

Offline

#8 2013-09-16 15:26:34

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

methylglobin wrote:
Oli-Wan wrote:
... | sed -r "s/(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /" | ...

Dieser Code funktioniert leider nicht. sed rattert zwar durch die osm-datei, aber Änderungen finden nicht statt.

user@debian:~# sed -r "s/(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /" mbz.osm 

Wenn Du damit meinst, daß die Datei mbz.osm hinterher unverändert vorliegt: das ist logisch, sed heißt ja auch stream editor. Im Output von sed werden die Änderungen wie gewünscht vorgenommen. Diesen solltest Du weiterverarbeiten (oben angedeutet mit "... | ...") oder in eine Datei umleiten (">" -- nicht in die ursprüngliche Datei). Du kannst natürlich auch einen (interaktiven) Editor verwenden und direkt die Datei bearbeiten.

Edit: Besser noch ein "<" einbauen, hatte ich zuvor vergessen.

sed -r "s/<(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /"

Last edited by Oli-Wan (2013-09-16 21:10:13)


No animals were harmed in the writing of this posting.

Offline

#9 2013-09-17 08:10:05

methylglobin
Member
Registered: 2013-09-16
Posts: 4

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

Oli-Wan wrote:

Diesen solltest Du weiterverarbeiten (oben angedeutet mit "... | ...") oder in eine Datei umleiten (">" -- nicht in die ursprüngliche Datei).

Ich kenne mich mit sed nicht so genau aus. Kannst du bitte eine vollständige Kommandozeile posten? Das würde die Problemlösung beschleunigen. smile

Offline

#10 2013-09-17 08:17:42

Oli-Wan
Member
From: NRW
Registered: 2010-09-14
Posts: 2,814

Re: Eigene Vektorkarten -> osmosis -> OSM 2 MAP

sed -r "s/<(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /" mbz.osm > mbz2.osm

oder ohne den Umweg über eine zusätzliche Datei

sed -r "s/<(node|way|relation) /&version='1' timestamp='1970-01-01T00:00:00Z' /" mbz.osm | osmosis --rx - ...

wo anstelle von "..." die übrigen osmosis-Argumente zur Weiterverarbeitung folgen.

Last edited by Oli-Wan (2013-09-17 11:13:41)


No animals were harmed in the writing of this posting.

Offline

Board footer

Powered by FluxBB