Hilfe bei Postgis Einrichtung

Moin !

ich habe nun das mit der* legacy.sql* “versucht” mit folgendem Aufruf:

und erhalte folgendes Protokoll - leider ist der Anfang nicht mehr im Befehlszeilenfenster von Windows zu erreichen und auch ein > Dateiname für die Ausgabe liefert immer nur ein* CREATE FUNCTION*.

Weiter ist dieses das Ergebnis des zweiten Versuchs! Nur der vollständigkeithalber.

Ich verstehe nur Bahnhof … ? \help

Auch wenn noch nicht alles soweit ist - ich habe mir schon einmal die Tabellen angesehen wie diese mit den Spalten angelegt sind. Die Tags sind alle in der gleichnamigen Spalte hinterlegt. Könnte man den osmosis-Import später (nur mal so prinzipell) so konfigurieren das es Spalten zu den Standardtags highway, building, name etc. gibt. Würde doch sicherlich die Auswertung in den QGIS-Rules vereinfachen?

Dann eine Frage zum allgmeinen. Wenn man dann mal ein Projekt im Süden, im Norden und Westen hat und diese relativ räumlich begrenzt sind würde man diese Daten in eine DB aufnehmen oder zur jedes eine eigene DB?

Zu guter Letzt das Thema Update. Kommen neue Daten - ich spreche jetzt nicht von einem Intervall-Update ! - dann müßte man pgsnapshot_schema_0.6.sql nur neu einlesen und alles ist für diese DB zurückgesetzt ! Korrekt ?

… so nun muss erst einmal die ganze Sache rund gemacht werden.

Gruß Jan :slight_smile:

Der sieht vernünftig aus. kannst es das nächste mal mit psql osm postgres -f … versuchen. hat nix mit dem Problem zu tun, ist einfach weniger Tipperei.
(zumindest bei mir unter ubuntu)

Die Hinweise sind unkritisch. Was mit den Fehlern ist, kann ich auch nicht erklären. Hat denn der Import geklappt? Insbesonders die vorher berechtigte Meldung bei “SELECT AddGeometryColumn(‘nodes’, ‘geom’, 4326, ‘POINT’, 2);” sollte weg sein. Diesen Befehl einfach mal in PSQL eingeben. Entweder kommt der selbe Fehler (AddGeometryColumn nicht bekannt) oder er sagt, dass die Spalte “geom” in der Tabelle nodes bereits existiert.

So sollte **nodes **aussehen:

 walter@wno-server:/opt/install/yacy$ psql planet master
psql (9.1.9)
Type "help" for help.

planet=# \d nodes
                  Table "public.nodes"
    Column    |            Type             | Modifiers 
--------------+-----------------------------+-----------
 id           | bigint                      | not null
 version      | integer                     | not null
 user_id      | integer                     | not null
 tstamp       | timestamp without time zone | not null
 changeset_id | bigint                      | not null
 tags         | hstore                      | 
 geom         | geometry(Point,4326)        | 
Indexes:
    "pk_nodes" PRIMARY KEY, btree (id), tablespace "tablespace1"
    "idx_nodes_geom" gist (geom)

planet=# \q
walter@wno-server:/opt/install/yacy$ 

Wichtig ist die Spalte “geom”. Ich meine aber in deinem Output gesehen zu haben, dass irgendwo geom fehlt.

Nicht so einfach und mMn unnötig. Außerdem könntest du dann gleich osm2pgsql nehmen. Du willst ja “nur” das machen, was dein Kumpel (?) erstellt hat und solltest da sowenig wie möglich andern.

Ich würde EINE DB für alle Bereiche nehmen, diesen Bereich (Germany?) aber immer komplett importieren/pflegen. Du kommst dann nur in Versionskonflikte. Und spätestens, wenn du ein wenig mit Postgis “rumgespielt” hast, bekommst du das Problem, dass dir genau die Ecke fehlt, die du für irgend eine Ad-Hoc-Query brauchst.

Natürlich nicht :frowning: Du müsstes pgsnapshot_load_0.6.sql neu laufen lassen.

btw: hast du pgsnapshot_schema_0.6_bbox.sql und pgsnapshot_schema_0.6_linestring.sql laufen lassen? solltest du machen,** wenn die aktuellen Probleme weg sind.** dann muss aber pgsnapshot_load_0.6.sql laut eingebauten Kommentaren geändert werden.
Zeig mal den output von \d ways .

Gruss
walter

Möglicherweise postgis nicht korrekt installiert?

Das ist nicht falsch, aber afaik ab postgis 2 nicht mehr notwendig. Geometry-Columns können genauso wie alle anderen Datentypen erzeugt werden.

Das dürfte der hstore sein. Es ist sinnvoller, sich später die Spalten zu machen, die man dann wirklich braucht. Die paar Standardspalten lohnen den Aufwand nicht, den Gedankengängen der vorgefertigten Skripte folgen zu müssen. Bei mir habe ich alleine für Linien 85 Spalten. Vielleich käme ich mit 10% weniger aus, aber irgendwas braucht man immer für irgendeine Logig.

Das kommt darauf an, was du machen willst. Wenn du Pläne in verschiedenen Maßstäben machen willst, die voneinander unabhängig sind, sich teilweise sogar noch überlappen könnten, dann mache ich für jede Karte eine DB. Wenn du eine weltweite Karte online stellen oder sonstige Auswertungen fahren willst, ohne irgendwelche Daten manipulieren zu müssen, kommt es wieder auf deinen Platz, die Rechenkapazität und das Gebiet an. Ständige Auswertungen für ein einigermaßen zusammenhängendes Gebiet sind natürlich mit einer einzigen, ständig aktuell gehaltenen DB sinnvoller.

Installiere deine DB erst einmal sauber. Dann sieh dir den Prozess an und vollziehe es nach. Das ist sowieso wichtig, weil du früher oder später das noch einmal machen musst, spätestens auf einer neuen Platte/Rechner. Wenn das ganze reibungslos läuft, erstelle dir ein Script, das das Ganze automatisch erledigen kann. In den Punkt solltest du ruhig Arbeit stecken, davon lebst du später. Das Script vervollständigst du dann im Verlauf der weiteren Bearbeitung Schritt für Schritt. Dann kannst du jederzeit deine DB wegschmeißen und neu aufbauen, falls du nicht gerade ganz Europa laden willst. Während die Kiste läuft, holst du dir einen Kaffee und kannst dann weiter machen ;-). Wenn du die DB nicht löschst, sondern nur die Tabellen, kannst du qgis sogar weiterlaufen lassen. Natürlich nicht gerade dann zoomen oder sowas :wink: Dann kannst du auch Daten, die nicht gelöscht werden sollen, in einer extra-Tabelle aufheben, die erhalten bleibt und anschließend ggf. wieder eingepflegt wird.

Versionskonflikte gibt es dabei gar nicht. Falls wirklich postgres mit einer neuen Version eingespielt wird, prüfst du dein Script mit der neuen Version, haust die alten DBs weg und erzeugst sie, soweit gebraucht, neu. Erhaltenswerte Tabellen müssten dann mit pgdump vorher gesichert werden, aber das sollte das Script automatisch sowieso machen. Außerdem ist das ggf. auch eine Frage der Datensicherung.

Die einzigen Versionskonflikte, die wirklich ärgerlich sind, entstehen bei neuen Versionen von qgis. Der kann teilweise sein Konfig-file aus der vorhergehenden Version nicht korrekt lesen.

Wie gesagt, wenn du die ganze Welt mit allen Daten ständig aktuell vorhalten willst, sieht das natürlich anders aus.

Gruß, Wolfgang

Moin !

das sieht wohl nicht gut aus :frowning:

Ich hatte das in die Console unter Plugins>PSQL Console eingegeben!

Gruß Jan :slight_smile:

PS: habe nochmal gegoggeld und unter https://www.pg-forum.de/viewtopic.php?t=4565 einen Beitrag von dem akretschmer gefunden:

Kann das bei mir auch der Fehler sein ? Wie könnte ich das prüfen?

Hier noch mein Strukturbaum

Gruß Jan :slight_smile:

Prüfe den Installtionsweg, besonders postgis. Ich habe nicht den Eindruck, dass es funzt.

Gruß, Wolfgang

Eben erste gesehen…

Ja, das ist wahrscheinlich der Fehler.

    psql -d "$DATENBANK" -f /usr/share/postgresql91/contrib/postgis-2.0/postgis.sql
    psql -d "$DATENBANK" -f /usr/share/postgresql91/contrib/postgis-2.0/postgis_comments.sql
    psql -d "$DATENBANK" -f /usr/share/postgresql91/contrib/postgis-2.0/spatial_ref_sys.sql
    psql -d "$DATENBANK" -c "create extension hstore;"

wird unter Windows wohl etwas anders heißen.

Das ist der Nachteil bei den Scripten: Man installiert dauernd und kennt die Einzelheiten nicht mehr;-)

Gruß, Wolfgang

Hallo Wolfgang,

ich mir derzeit nicht mehr sicher die 3-SQL eingebunden zu haben !?!??!?

Habe nochmal nachgesehen und unter http://wiki.openstreetmap.org/wiki/Osmosis/PostGIS_Setup#Postgres_9.1 wird bei 9.1. nicht mehr davon geschrieben.

Dann muss ich die wohl nochmal nachschießen !!

Gruß Jan :slight_smile:

Stimmt! Da sind viel zu wenige Funktionen drin. Du hast 216 und ich habe 1350 - siehe meinen 1 screenshot aus post #20. Ca 20 sind von mir also sollten es etwa 1330 sein.

→ PostGis nicht richtig installiert.

Gruss
walter

Könnte was dran sein :wink:

Hi !

ist da was von wegen Reihenfolge wichtig ?

Gruß Jan :slight_smile:

PS: habe nicht gewartet und habe die 3 SQL eingebunden…

Es gab keine Fehlermeldungen und aus 216 Funktionen sind jetzt schon einmal 741 geworden.

@wambacher: zu #25 - jetzt gibt es folgende Rückmeldungen…

und

looks better ?

hi !

ich habe jetzt einfach mal wieder Mut zur Lücke gehabt und den osmosis-Import in Betrieb genommen - dabei ist folgendes herausgekommen:

An den abweichenden Richtungen des osmosis-Aufrufs kann es nicht gelegen haben. Vielmehr ist es die Zeile

Wenn ich das richtig gesehen habe, dann hat meine DB das Schema 0.6 - wie kommt osmsis dann auf den Gedanken das Schema 0.5 anwenden und kann man das zuweisen ?? Das DB-Schema stammt doch aus dem osmosis-Verzeichnis … ?

Gruß Jan :slight_smile:

Hallo Jan,

könnte es sein, dass der Fehler das Einlesen der osm-Datei betrifft?

Hast du möglicherweise osm-Daten ohne user und Datum runtergeladen?

Oder eine veraltete osmosis-Version?

0.6 ist die aktuelle api von osm.

Gruß, Wolfgang

Klaro:
Willst du das Snapshot-Schema verwenden, dann mußt du das auch richtig angeben, that’s all.

D:\GIS\PostgreSQL>d:\DATEN\Jan\openstreetmap/osmosis/bin/osmosis.bat --read-xml
file=“innenstadt.osm” –write-pgsql user=“postgres” database=“osm”…

Ich brauche noch die Details von WAYS - du hast mir nodes aufgelistet. Es geht darum ob linestring und bbox als Spalten vorhanden sind. Die entsprechende Frage hast du noch nicht beantwortet.

Gruss
walter

Danke !

Versuche jetzt WE zu machen. Aber gute nachvollziehbare Ansätze.

Gruß Jan

Moin !

so jetzt werde ich diese Fragen mal abarbeiten.

@Omsonav: hattest recht

Werde mal Daten von Schleswig-Holstein von der Geofabrik ziehen und versuchen zu importieren.

Melde mich wieder …

Gruß Jan :slight_smile:

War schneller fertig als erwartet - aber loggt immer noch einen Fehler:

Hier noch die Testabfragen



ist das so ok ?

Wenn ich

Absetze ist das Ausgabefeld leider leer - also muss ja noch etwas falsch gelaufen sein ??

Gruß Jan

Hier steht, was dir noch fehlt: http://forum.openstreetmap.org/viewtopic.php?pid=346759#p346759 bbox & linestring bei ways + die passenden indices bei nodes und ways. relations sieht sauber aus.

Achtung: die beiden Scripte GENAU in der Reihenfolge laden, wie es in der Doku steht.

Da du pgsnapshot_load_0.6.sql offensichtlich nicht verwendest, mußt du zumindest die Befehle zum Erzeugen der Indices laufen lassen.

Nachher muss ways so aussehen:


                  Table "public.ways"
    Column    |            Type             | Modifiers 
--------------+-----------------------------+-----------
 id           | bigint                      | not null
 version      | integer                     | not null
 user_id      | integer                     | not null
 tstamp       | timestamp without time zone | not null
 changeset_id | bigint                      | not null
 tags         | hstore                      | 
 nodes        | bigint[]                    | 
 bbox         | geometry(Geometry,4326)     | 
 linestring   | geometry(Geometry,4326)     | 
Indexes:
    "pk_ways" PRIMARY KEY, btree (id)
    "idx_ways_bbox" gist (bbox)
    "idx_ways_linestring" gist (linestring) CLUSTER

also bbox VOR linestring, sonst knallt es beim Import, den du eh neu machen musst.

und nodes:


                  Table "public.nodes"
    Column    |            Type             | Modifiers 
--------------+-----------------------------+-----------
 id           | bigint                      | not null
 version      | integer                     | not null
 user_id      | integer                     | not null
 tstamp       | timestamp without time zone | not null
 changeset_id | bigint                      | not null
 tags         | hstore                      | 
 geom         | geometry(Point,4326)        | 
Indexes:
    "pk_nodes" PRIMARY KEY, btree (id)
    "idx_nodes_geom" gist (geom)

Inzwischen ist die Lage bei dir ziemlich konfus und es ist schwer, Bedienungsfehler zu erkennen. Zumindest sehe ich, dass bis jetzt einiges fehlt. (Spalten und Indices).

Gruss
walter

Moin!

beide SQL sind in GENAU der Reihenfolge eingelaufen! Leider funktioniert das bei mir (Windows?) mit der Kurzschreibweise nicht! Hatte das wohl in dem anderen Posting irgendwie übersehen.

… was meinst Du damit - noch ein anderes spezielles Kommando oder Script ??

Anm.: Parallel schreibe ich schon ein Installationsprotokoll - dann kann man es später in einem Stück nochmal nachvollziehen …

Gruß Jan :slight_smile:

Moin !

so - heute morgen habe ich die DB nochmal gelöscht und nach meiner Zusammenfassung

http://wiki.openstreetmap.org/wiki/User:L%C3%BCbeck/Postgis92_Win7_64bit#Schritt_6_-_zwei_weitere_SQL-Scripte

alles Schritte nochmal nacheinander durchgeführt und dann hat auch osmosis gearbeitet OHNE etwas zu beanstanden.

Hier dann nochmal die abschließenden “\d-Test”:

Wenn es das gewesen sein soll, dann danke ich bisher erst einmal allen die soviel Geduld mit mir an dieser Stelle hatten.

Bis zum nächsten Mal .-)

Gruß Jan :slight_smile:

Prima Entschluss, die ganze Sache nochmals neu zu machen.

Irgendwo ist irgendwann irgendwas irgendwie komisch gelaufen - Schwamm drüber.

Gratulation
walter

p.s. ich hab damals - kurz nach dem Ardennenfeldzug - auch mehrere Tage gebraucht, bis meine erste DB rund lief.

… das ist nicht das Ende …!

http://forum.openstreetmap.org/viewtopic.php?pid=347569#p347569

mit einer Datenverbindung zu qgis !

Gruß Jan :slight_smile:

PS: wie http://forum.openstreetmap.org/viewtopic.php?pid=347595 war die DB-Installation doch noch nicht ganz fertig … vielleicht liest einer von Euch dort noch etwas mit.

Würde mich sehr freuen - war schon so euphorisch !