sachsen-latest.osm.pbf von Geofabrik heruntergeladen
Ich habe dann zwei gescheiterte Versuche unternommen, die Datenbank zu befüllen:
Mit osm2pgsql
$ osm2pgsql -s -U postgis -d gis Downloads/sachsen-latest.osm.pbf
osm2pgsql SVN version 0.80.0 (64bit id space)
Error: Connection to database failed: FATAL: Peer authentication failed for user “postgis”
Mit osmosis
$ bin/osmosis --read-pbf ~/Downloads/sachsen-latest.osm.pbf --wp user=“gisuser” database=“gis”
Dec 28, 2013 10:32:45 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.43.1
Dec 28, 2013 10:32:46 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
Dec 28, 2013 10:32:46 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
Dec 28, 2013 10:32:46 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
Dec 28, 2013 10:32:46 PM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-read-pbf failed
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The server requested password-based authentication, but no password was provided.)
Ich habe keine Änderungen in der Datenbank-Konfiguration vorgenommen. Was tun?
Vermutlich hast Du Login-Probleme wg. Authorisierung, sieh Dir mal im OSM-Wiki [1] den Text unter
"Enable easy database login by user gisuser you must change some lines in one of the database configuration files. "
an.
Ich habe nun die Konfigurationsdatei wie im Link beschrieben geändert. Jetzt läuft osmosis eine Weile und liefert dann diese Fehlermeldung:
$ bin/osmosis --read-pbf ~/Downloads/sachsen-latest.osm.pbf --wp user="gisuser" database="gis"
Dec 28, 2013 11:03:57 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.43.1
Dec 28, 2013 11:03:57 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
Dec 28, 2013 11:03:57 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
Dec 28, 2013 11:03:57 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
Dec 28, 2013 11:04:44 PM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-read-pbf failed
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT version FROM schema_info]; nested exception is org.postgresql.util.PSQLException: ERROR: relation "schema_info" does not exist
Kann die momentan nicht weiter helfen, da ich die Wiki-Anleitung nicht genau kenne.
ABER: Ist dir klar, daß eine mit osm2pgsql aufgebaute Datenbank sich total von einer mit Osmosis erstellten unterscheidet. Beide Schemata haben komplett unterschiedliche Felder und auch die Dateninhalte sind nicht vergleichbar. Klar, die Nodes, Ways und Relations sind “irgendwie” drin aber sonst nicht miteinander zu vergleichen.
Frage: Was willst du mit der DB machen? Davon hängt die Wahl des Weges ab.
Gruss
walter
ps: wenn du einfach mal so loslegen willst, rate ich dir zu osm2pgsql - das benutzen fast alle, die eine DB besitzen und da ist Hilfe relativ schnell möglich.
Ich bin mir nicht sicher, ob meine Datenbank mit osm2pgsql aufgebaut ist, da der Versuch, die Daten mit osm2pgsql zu importieren, nicht erfolgreich war.
Ich will mit TileMill Kacheln für mein Smartphone erzeugen.
Hi, noch nicht ganz wach?
Deine DB ist mit osm2pgsql aufgebaut, wenn es dir gelingt, das mit osm2pgsql zu realisieren und sie ist mit osmosis aufgebaut, falls du das mit osmosis hinkriegen würdest. Derzeit hast du garnix.
Aha, rendern! Dann ganz eindeutig NICHT mit osmosis, denn dieses Schema wird für was anderes benötigt.
Also bleib auf der osm2pgsql-Schiene!
Gruss
walter
ps: wenn du Step 1 hinbekommen hast, melde sich nochmal. Einige Optionen bei osm2pgsql sind noch zu diskutieren. Hauptsächlich wegen der Performance.
Sachsen, Tschechien, Spanien, Kanaren. Ev. weitere Orte nach Bedarf. Ganz Europa verbraucht zuviel Speicherplatz, deshalb ist es vermutlich am einfachsten, die OSM-Daten mit osmosis zu mergen. Außerdem will ich Höhenlinien und Hillshades in der DB speichern.
Einmal im Jahr. Ich glaube, daß sich Straßen nicht so schnell verändern.
ok, mit osmosis mergen und danach mit osm2pgsql importieren; dabei drauf achten, daß die Extrakte aus der gleichen Nacht sind. Obwohl, die Extrakte berühren sich ja nicht, da könnte es egal sein.
Prima, kein Update sondern neuer Import.
Ich empfehle bei osm2pgsql neben den üblichen Optionen noch --latlong --cache 4000 --number-processes 2
–latlong ist Geschmackssache (ich komme besser damit zurecht, wenn ich die Koordinaten so in der DB habe) und der Rest macht den Import etwas schneller.
Plane dein Style-File sorgfältig, sonst musst du mehrfach neu aufsetzen.
Hab ich doch: Aber wenn ich lese: “Sachsen, Tschetschenien, Spanien, Kanaren” komm ich gerade wegen meiner Grundkenntnisse der Geographie leicht ins Stutzen.
Aber wer nicht Lesen kann, muss büßen
Gruss
walter
ps: werde mal meinen “Kleinen Legastheniker” auffrischen müssen.