You are not logged in.
- Topics: Active | Unanswered
Announcement
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.***
Pages: 1
#1 2015-06-10 19:32:41
- Lactans
- Member
- Registered: 2015-06-07
- Posts: 5
gosmore rebuild bricht ab
Hallo zusammen,
langsam verzweifle ich am gosmore rebuild. Ich habe die europa-latest.osm.bz2 heruntergeladen und möchte sie nun für gosmore compilen. Ich nutze dafür einen PC mit 16GB RAM und Fedora 22, es bricht aber immer an der gleichen Stelle ab:
root@localhost:gosmore# bzcat osm-maps/europe-latest.osm.bz2 | ./gosmore rebuild
Building gosmore.pak using style elemstyles.xml...
Icon public.png not found
Icon public.png not found
Icon religion/synagogue.png not found
Icon religion/mosque.png not found
Icon rendering/landuse/cemetery.png not found
Icon wlan.png not found
Icon rendering/landuse/cemetery.png not found
Processing without relations table
1 while (xmlTextReaderRead (xml) == 1)
nOther=1365758813 FIRST_LOWZ_OTHER=1996488704
gosmore: jni/libgosm.cpp:2021: int RebuildPak(const char*, const char*, const char*, const char*, const int*): Assertion `bucketsMin1 < (1<<26)' failed.
Abgebrochen (Speicherabzug geschrieben)Leider weiß ich nicht, wo der Speicherabzug geschrieben wurde. Kurz vor dem Abbruch wird immer mehr in den RAM gepackt:
Mi 10. Jun 17:36:37 CEST 2015
-rw-r--r--. 1 root root 6,1G 10. Jun 17:36 gosmore.pak
total used free shared buff/cache available
Mem: 16030 8191 156 2 7681 7536
###########################################################
Mi 10. Jun 17:46:37 CEST 2015
-rw-r--r--. 1 root root 6,4G 10. Jun 17:46 gosmore.pak
total used free shared buff/cache available
Mem: 16030 8707 156 2 7166 7021
###########################################################
Mi 10. Jun 17:56:37 CEST 2015
-rw-r--r--. 1 root root 6,6G 10. Jun 17:56 gosmore.pak
total used free shared buff/cache available
Mem: 16030 9226 151 2 6653 6502
###########################################################
Mi 10. Jun 18:06:37 CEST 2015
-rw-r--r--. 1 root root 6,9G 10. Jun 18:06 gosmore.pak
total used free shared buff/cache available
Mem: 16030 11136 149 2 4743 4591Die Datei ist immer exakt gleich groß, wenn ich den Vorgang wiederhole, nämlich:
root@localhost:gosmore# ls -la gosmore.pak
-rw-r--r--. 1 root root 7348779516 10. Jun 18:09 gosmore.pakWenn ich z.B. luxembourg-latest.osm.bz2 verwende, dann funktioniert das, ich brauche aber die Karten für die ganze Welt (und planet-latest.osm.bz2 schmiert noch früher ab) und möchte nicht jedes Land einzeln compilen.
Hat jemand einen Tipp oder ggf. eine gosmore.php, die viele einzelne pak files nutzt und nicht nur zwei (eurasien und america) wie in der Datei im SVN?
Vielen Dank,
Lactans
Offline
#2 2015-06-11 16:53:16
- stephan75
- Member
- Registered: 2008-05-28
- Posts: 2,918
Re: gosmore rebuild bricht ab
Als erste Idee kam mir, ob Gosmore mit den höheren IS-Nummern der OSM-Daten nicht zurecht kommt, aber laut http://wiki.openstreetmap.org/wiki/64-bit_Identifiers soll das ja seit 2012 klappen.
Es scheint auch so, dass der Hauptentwickler Nic Roets nicht mehr so aktiv ist, zumindest laut Wiki:
http://wiki.openstreetmap.org/wiki/Spec … utions/Nic
Ich gehe auch mal davon aus, dass du ein 64bit-Linux betreibst, oder? siehe Hinweise auf der Wikiseite zu Gosmore.
Offline
#3 2015-06-11 20:33:08
- gormo
- Member
- Registered: 2013-08-01
- Posts: 2,119
- Website
Re: gosmore rebuild bricht ab
Geht es mit kleineren .osm.bz2-Dateien? Zieh mal nur die für das Saarland und guck, was dann passiert.
OSM hat nicht das Ziel bis Ende des Monats einen vollständigen Datensatz der Welt zu enthalten.
(nach S.W.) - Aber weil die Welt vielfältig ist, weil sie auch im Detail interessant ist, mag ich genaue Karten (nach C.)
Offline
#4 2015-06-11 21:57:54
- Lactans
- Member
- Registered: 2015-06-07
- Posts: 5
Re: gosmore rebuild bricht ab
Danke für Eure Antworten.
Ja, ich nutze ein 64bit Linux ;-).
Und ja, mit kleineren Dateien, z.B. für Luxembourg, geht es.
Ich habe folgenden Artikel gefunden, mit dem konnte ich zumindest schonmal Europa bauen (hat aber knapp 8 Stunden gedauert mit 14GB RAM und 3 Cores in einer VM):
http://forum.openstreetmap.org/viewtopic.php?pid=458546
Hier ist der Link auf eine andere elemstyles.xml enthalten, die ich verwendet habe. Ob es aber nun das tut, was ich möchte, muss ich erst testen.
Hat jemand viele .pak-Dateien im Einsatz und eine entsprechend gosmore.php dafür, um immer die richtige Datei zu nehmen?
Viele Grüße,
Andreas
Offline
#5 2015-06-11 22:37:34
- woodpeck
- Member
- Registered: 2009-12-02
- Posts: 1,210
Re: gosmore rebuild bricht ab
Hat jemand viele .pak-Dateien im Einsatz und eine entsprechend gosmore.php dafür, um immer die richtige Datei zu nehmen?
Richtig gut geht das Aufsplitten halt nur an einer Seegrenze, und da kommt man nicht viel weiter als Amerika - Eurasafrika - Australien/Ozeanien. Und wenn Du nicht rechteckig ausschneidest, wird das Testen im PHP auch aufwendiger...
Hast du mal darüber nachgedacht, evtl. einen der moderneren Router - OSRM oder GraphHopper - zu verwenden? Die werden im Gegensatz zu Gosmore auch noch gepflegt...
Bye
Frederik
Offline
#6 2015-06-11 22:40:41
- Lactans
- Member
- Registered: 2015-06-07
- Posts: 5
Re: gosmore rebuild bricht ab
Wie kann ich denn Eurasien bauen? Dafür gibt es ja leider kein osm.bz2 file...
Und ja, GraphHopper habe ich überlegt, ist aber kostenpflichtig und daher (vorerst) keine Option. Mit OSRM kam ich nicht klar...
Offline
#7 2015-06-12 08:30:22
- woodpeck
- Member
- Registered: 2009-12-02
- Posts: 1,210
Re: gosmore rebuild bricht ab
Wie kann ich denn Eurasien bauen? Dafür gibt es ja leider kein osm.bz2 file...
Ein File für die komplette östliche Erdhälfte baust Du zum Beispiel so:
osmosis --read-pbf planet-latest.osm.pbf --bb left=... right=180 top=90 bottom=-90 clipIncompleteEntities=true --write-xml - | bzip2 > eurasien.osm.bz2
Bei dem Wert für "left" nimmst Du -25 oder so, das muss dann eben zu Deinem PHP-Skript passen. Wenn Du nur Eurasien (ohne Afrika und Austrlaien/Ozeanien) willst, wählst Du halt entsprechend andere Grenzkoordinaten, allerdings hast Du, wenn Du mit Rechtecken arbeitest und Indien drin haben willst, immer auch Nordafrika mit dabei. Da musst Du dann evtl. einen Polygon-Ausschnitt machen, das geht auch, aber wird etwas aufwendiger, auch im PHP später.
Zur Bestimmung von Kartenausschnitten ist das hier hilfreich: http://tools.geofabrik.de/calc/#type=ge … 8049&tab=1
Statt osmosis kann man genauso osmconvert nutzen, um einen Ausschnitt aus dem Planet zu erzeugen.
Und ja, GraphHopper habe ich überlegt, ist aber kostenpflichtig und daher (vorerst) keine Option. Mit OSRM kam ich nicht klar...
Doku von OSRM ist eigentlich ganz gut, einziger Nachteil vielleicht, dass es recht viel Speicher braucht, um einen weltweiten Routinggraphen aufzubauen. Sowohl OSRM als auch Graphhopper sind Open Source und können kostenlos von Github heruntergeladen, installiert, und benutzt werden.
Bye
Frederik
Last edited by woodpeck (2015-06-12 08:37:11)
Offline
#8 2015-06-12 21:41:08
- Lactans
- Member
- Registered: 2015-06-07
- Posts: 5
Re: gosmore rebuild bricht ab
Sehr gute Tipps, ich baue gerade Amerika und Eurasien. Mal sehen ;-).
Ich kannte bei GraphHopper bisher nur die Website, hatte noch nicht gesehen, dass das auf GitHub verfügbar ist. Vielleicht schaue ich mir das mal als Alternative an.
Ich melde mich dann wieder, wenn osmosis fertig osmosiert hat ;-)
Offline
#9 2015-06-16 18:33:20
- Lactans
- Member
- Registered: 2015-06-07
- Posts: 5
Re: gosmore rebuild bricht ab
Es hat funktioniert!
Folgende Schritte habe ich gemacht in einer VM mit 4 Cores und 14GB RAM.
1. Die Datei elemstyles.xml im gosmore Ordner habe ich ersetzt durch diese hier:
http://www.yournavigation.org/elemstyles.xml.routing
2. Anschließend habe ich die planet-latest.osm.pbf von hier heruntergeladen:
http://ftp.heanet.ie/mirrors/openstreetmap.org/pbf/
3. Das planet-latest.osm.pbf habe ich dann in eurasien.osm.bz2 und america.osm.bz2 aufgeteilt mit diesen Befehlen:
./bin/osmosis --read-pbf osm-maps/planet-latest.osm.pbf --bb left=-26.63 right=180 top=90 bottom=-90 clipIncompleteEntities=true --write-xml - | bzip2 > eurasien.osm.bz2Dauer: ca. 32h
./bin/osmosis --read-pbf osm-maps/planet-latest.osm.pbf --bb left=-180 right=-26.63 top=90 bottom=-90 clipIncompleteEntities=true --write-xml - | bzip2 > america.osm.bz2Dauer: ca. 16h
Natürlich muss osmosis dafür installiert sein! Und da gosmore nur auf einer CPU lief und der bzip nur bei ca. 50-60% CPU war, habe ich beide Befehle gleichzeitig laufen lassen.
4. Nun müssen natürlich noch die .pak Dateien für gosmore erstellt werden. Diese können nur nacheinander gestartet werden, damit die gosmore.pak nicht überschrieben wird:
bzcat2 eurasien.osm.bz2 |./gosmore rebuild-> gosmore.pak umbenennen in eurasien.pak
bzcat2 america.osm.bz2 |./gosmore rebuild-> gosmore.pak umbenennen in america.pak
Leider habe ich die Dauer nicht gemessen, lag aber bei eurasien.pak bei >10h und america.pak bei ca. 6h.
Anschließend habe ich die gosmore.php (im yours/www Ordner) noch angepasst, damit die richtige Datei geladen wird:
if ($flon > -180 && $flon <= -26.63) {
// American continents (North and South)
$pak = $yours_dir.'/america.pak';
} else {
// Europe, Asia, Africa and Oceania continents
$pak = $yours_dir.'/eurasien.pak';
}Und schon ging es! Danke an alle für die Tipps!
Offline
Pages: 1