OSM-Daten in PostGIS-Datenbank einlesen

Hallo,

ich möchte unter Ubuntu 13.04 OSM-Daten von geofabrik in eine PostgreSQL/PostGIS Datenbank einlesen. Dazu habe ich

Ich habe dann zwei gescheiterte Versuche unternommen, die Datenbank zu befüllen:

  1. 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”

  1. 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.

Viele Grüße

Dietmar

[1] https://wiki.openstreetmap.org/wiki/PostGIS/Installation

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

-snip- doppelpost

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.

Sieht so aus als ob du ein Benutzerproblem hättest:

psql [b]--username=gisuser[/b] --dbname=gis --command="\d"

Aber imortieren möchtest du mit dem User postgis.

Sieht so aus als ob du ein Benutzerproblem hättest:

psql --username=gisuser --dbname=gis --command="\d"

Aber imortieren möchtest du mit dem User postgis.

schau mal http://switch2osm.org/serving-tiles/manually-building-a-tile-server-12-04/
Da ist es Schritt für Schritt erklärt

hallo,

http://wiki.openstreetmap.org/wiki/DE:HowTo_minutely_hstore

bei mir lief es erst danach…

grüße von lutz

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.

Mit

osm2pgsql -U gisuser -d gis --slim Downloads/sachsen-latest.osm.pbf 

hat es nun funktioniert. Eigenartig aber, daß es vorher mit osmosis nicht funktioniert hat.

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. :wink:

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.

Wie oben (#11) geschrieben, habe ich die Daten nun erfolgreich mit osm2pgsql importiert.

alles klar, hab ich überlesen. Gratuliere.

Fragen:

  • welchen Bereich in etwa willst du abdecken? Mehr als Sachsen?
  • wie oft willst du aktualisieren?
  • wieviel Memory und Cores hat dein Rechner?

Ansonsten viel Spass und Erfolg

Gruss
walter

  • 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.
  • 6 GB Ram, 240 GB SSD, 2 Cores.

Komische Mischung :wink:

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.

Gruss
walter

Was ist daran komisch? Auf dem Elberadweg bin ich in 2 Stunden in Tschechien. Und in Spanien bin ich oft im Urlaub.

Bis jetzt habe ich noch gar keine Sorgfalt walten lassen, sondern nur das osm2pgsql aus den Ubuntu-Paketen verwendet.

jo, wenn man Tschechien mit Tschetschenien verwechselt, kommt man schon mal in’s Grübeln :wink:

Gruss
walter

Soviele geographische Kenntnisse sollte ein erfahrener OSM-Nutzer doch schon haben :roll_eyes:

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 :wink:

Gruss
walter

ps: werde mal meinen “Kleinen Legastheniker” auffrischen müssen.