You are not logged in.

#1 2013-07-16 14:38:50

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Zugriff auf PostGIS-DB mittels QGIS

hi!

nachdem nun meine PostGIS-DB wohl erfolgreich aufgesetzt worden (-> http://forum.openstreetmap.org/viewtopic.php?id=21810)ist und ich die Daten von Schleswig-Holstein gelesen haben soll möchte ich an QGIS mit der ersten Verbindung versuchen.

Nicht das ich gleich wieder aufgebe - aber irgendwie kommt mir das Ergebnis merkwürdig vor.

Zunächst habe ich eine Verbingung versucht zu erstellen und der Test war auch erfolgreich.

jt_qgis_verbindung_20130716.jpg

Dann wurde da aber nur ein Layer angezeigt für die Nodes...

jt_qgis_layerlisten_20130716a.jpg

und erst als ich auch die geometrielosen Tabellen habe listen lassen wurden auch die Ways angezeigt.

jt_qgis_layerlisten_20130716b.jpg

Gibt es eine Erklärung dafür oder kann der Osmosis-Import noch etwas verschluckt haben obwohl es zu keiner Fehlermeldung gekommen ist ?

Gruß Jan :-)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#2 2013-07-16 14:47:47

gis_jam
Member
Registered: 2011-10-14
Posts: 81

Re: Zugriff auf PostGIS-DB mittels QGIS

Sind die fraglichen Tabellen in der Tabelle geometry_columns gelistet? Wenn nicht, musst du die da noch eintragen.

Grüße, gis_jam

Last edited by gis_jam (2013-07-16 14:48:00)

Offline

#3 2013-07-16 14:53:53

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

hi !

SELECT * FROM geometry_columns

liefert nur 3 Einträge ...

jt_qgis_geometry_column_20130716.jpg

Sieht nicht toll aus - aber wieso? Kann man diese nachlesen ?

Kann man eigentlich irgendwie die Tabellenwerte formatiert übernehmen damit man nicht immer über ein Bild gehen muss?

Gruß Jan :-)

Last edited by Lübeck (2013-07-16 14:54:18)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#4 2013-07-16 15:05:21

gis_jam
Member
Registered: 2011-10-14
Posts: 81

Re: Zugriff auf PostGIS-DB mittels QGIS

Ich hab das hier nicht komplett mitgeschnitten und weiß nicht, was Osmosis da alles anstellt. Aber normalerweise werden die korrekten Werte automatisch in die Tabelle geometry_columns eingetragen, wenn mit Hilfe von AddGeometryColumn eine Spalte mit Geometrie an eine vorhandene Tabelle angefügt wird. Auch beim Import von Shapefiles mittels shp2pgsql werden die korrekten Werte eingetragen. Sollte das alles nicht stattgefunden haben kann man das aber auch noch nachträglich mittels

INSERT INTO geometry_columns (f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, type) VALUES ('osm','public','tabellenname', 'geometriespalte', dimensionen, epsg-code, 'typ');

eintragen (so oder ähnlich).

Grüße, gis_jam

Last edited by gis_jam (2013-07-16 15:17:57)

Offline

#5 2013-07-16 15:11:56

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

Hi !

wenn das immer alles so einfach wäre ....

FEHLER:  Spalte »spatial_index_enabled« von Relation »geometry_columns« existiert nicht
LINE 1: ..., f_geometry_column, coord_dimension, srid, type, spatial_in...
                                                             ^

********** Fehler **********

FEHLER: Spalte »spatial_index_enabled« von Relation »geometry_columns« existiert nicht
SQL Status:42703
Zeichen:93

Gruß Jan :-)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#6 2013-07-16 15:18:58

gis_jam
Member
Registered: 2011-10-14
Posts: 81

Re: Zugriff auf PostGIS-DB mittels QGIS

Lübeck wrote:

Hi !

wenn das immer alles so einfach wäre ....

Habe mein ursprüngliches Posting angepasst. Das Schema der geometry_columns kann variieren...

gis_jam

Offline

#7 2013-07-16 15:24:30

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

hi !

nach dem aktuellen SQL aus #4 ...

FEHLER:  Spalte »dimensionen« existiert nicht
LINE 1: ...'osm','public','tabellenname', 'geometriespalte', dimensione...
                                                             ^

********** Fehler **********

FEHLER: Spalte »dimensionen« existiert nicht
SQL Status:42703
Zeichen:184

Gruß Jan :-)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#8 2013-07-16 15:26:49

gis_jam
Member
Registered: 2011-10-14
Posts: 81

Re: Zugriff auf PostGIS-DB mittels QGIS

Äh, du solltest die einzutragenden Beispielwerte durch die tatsächlichen Werte ersetzen. Also für dimensionen z.B. eine 2, wenn deine Daten nicht über einen z-Wert für die Höhe verfügen...

gis_jam

Offline

#9 2013-07-16 15:31:16

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

hi !

jetzt wo Du es sagst verstehe ich was Du meinst.

Aber wie Du schon schreibst müßte das automatisch erfolgen .... kann man das nicht vom System machen lassen. Ich weiß leider noch nicht so ganz was da fehlt!??!?!

Gruß Jan :-)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#10 2013-07-16 15:36:32

gis_jam
Member
Registered: 2011-10-14
Posts: 81

Re: Zugriff auf PostGIS-DB mittels QGIS

Lübeck wrote:

kann man das nicht vom System machen lassen

Wie gesagt, normalerweise wird die Tabelle geometry_columns während des Einspielens der Daten automatisch gefüllt, bei mir erledigt das osm2pgsql. Ich weiß aber nicht, wie deine Daten in das System gekommen sind. Evtl. ist da auch was schief gegangen bei den vielen Versuchen ;-)

gis_jam

Offline

#11 2013-07-16 15:41:08

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

HI !

Ich weiß aber nicht, wie deine Daten in das System gekommen sind. Evtl. ist da auch was schief gegangen bei den vielen Versuchen ;-)

wie gesagt die Daten sind mit osmosis eingelesen worden und ich habe heute morgen die DB osm nochmal gelöscht und neu angefangen.

Alle Schritte und deren Reihenfolge sind in http://wiki.openstreetmap.org/wiki/User … QL-Scripte geschrieben.

Gruß Jan :-)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#12 2013-07-16 15:44:09

gis_jam
Member
Registered: 2011-10-14
Posts: 81

Re: Zugriff auf PostGIS-DB mittels QGIS

Yup, und da weiß ich dann auch nicht mehr weiter. Keine Ahnung, was Osmosis beim Import alles so anstellt. Osmosis-Cracks vor!

Gis_jam

Offline

#13 2013-07-16 15:46:07

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

Danke trotzdem ...

Habe eben nochmal gegoogled und auf http://wiki.openstreetmap.org/wiki/Osmo … tGIS_Setup unter dem Punkt Check Results eine Auflistung gefunden....

Beim mir ist diese aber längst nicht so groß  - kann das ein Hinweis sein und wie behebt man das ?

jt_psql_osm_20130716.jpg

Gruß Jan :-)

Last edited by Lübeck (2013-07-16 15:52:12)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#14 2013-07-16 15:50:07

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

Re: Zugriff auf PostGIS-DB mittels QGIS

Lübeck wrote:

Schau mal genau hin: bei bbox und linestring von ways steht "prüfe" dran. qgis versucht an die Infos für die beiden Geometrien ranzukommen und hat dabei Probleme. Dauert ewig, da er ALLE Objekte abfragt - und das jedesmal.
Ich habe selbst für mich noch keine vernünftige Lösung gefunden und bin mal gespannt, ob dieser Thread was bringt.
Die Postgis- und erst recht OSM-Unterstützung in QGIS ist nicht so besonders. Es sei denn, es gibt Tricks, die ich noch nicht kenne.

Frag doch mal deinen "Kumpel", dessen spezielle Anwendung ja anscheinend funktioniert.

Gruss
walter

Last edited by wambacher (2013-07-16 16:19:55)

Offline

#15 2013-07-16 15:52:48

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

Re: Zugriff auf PostGIS-DB mittels QGIS

Lübeck wrote:

hi !

SELECT * FROM geometry_columns

liefert nur 3 Einträge ...

Sieht nicht toll aus - aber wieso?

Ist doch genau richtig. In der OSM-DB gibt es genau 2 Tabellen mit ingesamt 3 GEOMETRIE-Spalten. Stimmt.

Gruss
walter

Offline

#16 2013-07-16 15:56:28

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

hi !

den habe ich schon angemailt mit der Bitte um Mitlesen - habe gerade woanders noch den Hinweis auf

psql -d test -f /usr/share/postgresql/8.4/contrib/hstore.sql

gefunden. Ist das dasselbe wie

CREATE EXTENSION hstore;

??

Gruß Jan :-)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#17 2013-07-16 16:10:14

viw
Member
Registered: 2010-05-15
Posts: 2,623

Re: Zugriff auf PostGIS-DB mittels QGIS

Ich hatte euch in dem anderen Thread gewarnt!
Eine solche DB macht später ärger. Ich habe die Datenbank mit osm2pgsql eingelesen und da sind alle Geometrien angelegt. Es gibt eine Tabelle mit Straßen usw. Für den Rest gibt es dann noch eine Kompletttabelle. Leider gibt es für die neuste Version unter Windows kein hstore mehr.

Offline

#18 2013-07-16 16:10:37

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

Re: Zugriff auf PostGIS-DB mittels QGIS

ja. ab 9.1 ist hstore installiert und muß nur noch mit "create extension hstore" aktiviert werden. Du hast aber hstore drin und aktiv. schau dir mal die Spalte TAGS an, die ist vom Typ hstore.

Und so eine Query sollte bei dir Ähnliches ausgeben:

planet=# select id, tags from nodes
where tags ? 'amenity'
limit 5;

    id     |                                            tags                                            
-----------+--------------------------------------------------------------------------------------------
 602607298 | "amenity"=>"bicycle_parking"
 602607356 | "amenity"=>"parking"
 602608197 | "seats"=>"4", "colour"=>"green", "amenity"=>"bench", "backrest"=>"yes", "material"=>"wood"
 602608208 | "amenity"=>"parking", "parking"=>"surface"
 602608418 | "ele"=>"456.988892", "amenity"=>"bench", "wpt_description"=>"01-JAN-10 12:57:48"
(5 rows)

tag ? 'amenity' bedeutet übrigens: liste alles auf, was ein Tag "amenity" besitzt.
näheres: http://www.postgresql.org/docs/9.2/static/hstore.html

Gruss
walter

Last edited by wambacher (2013-07-16 16:11:31)

Offline

#19 2013-07-16 16:22:37

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

Re: Zugriff auf PostGIS-DB mittels QGIS

viw wrote:

Leider gibt es für die neuste Version unter Windows kein hstore mehr.

Sicher? Ich sehen in Jans Tabellen hstore-Spalten. Und wenn er gleich mal die Testquery macht, werden wir wohl auch die Tags sehen.

Nachtrag: erst denken, dann schreiben - ich glaube, du redest von hstore beim neuesten osm2pgsql unter windows. Dann sollte alles klar sein.

Sorry
walter

Last edited by wambacher (2013-07-16 16:25:02)

Offline

#20 2013-07-16 16:39:51

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

Wenn #18 an mich gerichtet war, dann bekomme ich ein vergleichbares Ergebnis!

Gruss Jan

PS: sogar die abgewandelte way Abfrage liefert ein Ergebnis!

Last edited by Lübeck (2013-07-16 16:42:43)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#21 2013-07-16 21:25:25

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

Re: Zugriff auf PostGIS-DB mittels QGIS

Lübeck wrote:

Wenn #18 an mich gerichtet war, dann bekomme ich ein vergleichbares Ergebnis!

Gruss Jan

PS: sogar die abgewandelte way Abfrage liefert ein Ergebnis!

jo, dann ist damit alles in Butter.

Offline

#22 2013-07-18 21:54:55

Osmonav
Member
Registered: 2013-05-19
Posts: 33

Re: Zugriff auf PostGIS-DB mittels QGIS

Hi,

also erst mal würde ich mir einen User unter postgresql einrichten. create user jan .... mit entsprechenen Rechten, siehe psql, \h create user. Ständig als posgres arbeiten = Arbeit als Root = Arbeit als Administrator = do not.

osm2postgresql erzeugt, wie mehrfach gesagt/geschrieben, Tabellen und macht schon ein paar Auswertungen, ohne tags zu filtern.
Ansonsten, osmosis direkt, geht auch.

Wenn ich Jans Posting sehe, ist eigentlich bis auf die Flächen (logisch, osmosis) alles da. Es gibt eine Tabelle ways, in der unter linestring (so heißt das Ding in postgis -> manual Postgis pdf -> lesen) die Linien da sind. Jetzt muss man sich Spalten (oder weitere Tabellen) erzeugen, die die Tags in entsprechenden (Text-)Spalten haben, weil qgis mit hstore nichts anfangen kann.

alter table ways add column straße text;
update ways set straße = tags -> 'highway' where tags ? 'highway';
alter table ways add column bach text;
update ways set bach = 'Fluss' where tags @> 'waterway=>river';

etc. - oder anders

Die Doku steht wie gesagt im posgis-Manual. Die Doku für hstore ist im postgresql-Manual ziemlich weit hinten (acroread suchen nach hstore).

Was du noch brauchst, wenn du direkt mit osmosis arbeitest, ist eine Tabelle für die Flächen. Postgis kann geschlossene Flächen selbst erkennen, dafür gibt es eine Funktion (->Manual). Für die Multipolygone (und admin-Grenzen) muss man sich dann selbst erst die zusammengehörigen Linien zusammensetzen (postgis) und dann die Linien gruppieren nach Zusammengehörigkeit. Am besten über ein paar temporäre Tabellen, da kann man die Zwischenergebnisse ganz gut verfolgen. Die Relationen dafür sind unter den tables 'relations' und 'relation_members' abgelegt, die sind praktisch selbsterklärend.

IIRC erzeugt osm2postgresql die Flächen-Tabelle selbst, ich weiß aber nicht mehr, wie vollständig.

Ansonsten erzeugt das Script eine Art Klassenregister. class=highway/railway/waterway etc. Ist ganz nett, stößt aber an Grenzen, beispielsweise bei der Drehbrücke in Lübeck, wenn das Gleis auf der Straße liegt.

Man kann das Script zum Eingewöhnen benutzen, das ist ratsam. Auf Dauer verbraucht es viel Zeit und letztlich schmeißt man doch einen großen Teil der Ergebnisse weg, deshalb ist es ebenso sinnvoll, sich in postgis einzulesen und die Aufstellung der Flächen selbst aufzudröseln. Etwas Erfahrung in posgis und postgresql sollte man dafür aber vorher sammeln.

Gruß, Wolfgang

Offline

#23 2013-07-19 00:23:26

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

Re: Zugriff auf PostGIS-DB mittels QGIS

Osmonav wrote:

Jetzt muss man sich Spalten (oder weitere Tabellen) erzeugen, die die Tags in entsprechenden (Text-)Spalten haben, weil qgis mit hstore nichts anfangen kann.

Wirklich?

ein Filter  wie (tags->'highway'='residential') oder (tags ? 'building') klappt bei mir prima - muttu nur die beiden Klammern drum machen.

Gruss
walter

mag  sein, dass du eine veraltete Version von qgis einsetzt . ich fahre 1.9, meine aber, dass es unter 1.8 auch schon geklappt hat.

Last edited by wambacher (2013-07-19 01:00:37)

Offline

#24 2013-07-19 04:53:13

Lübeck
Member
Registered: 2009-02-17
Posts: 2,830

Re: Zugriff auf PostGIS-DB mittels QGIS

hi !

danke für die Rückmeldungen.

@Wolfgang: wenn ich Dich dann richtig verstehe sind das mit den fehlenden Tabellen auch die Gründe für die Lahmheit von qgis ? Aber so ganz würdest Du mir zu Anfang auch nicht von osm2postgresql abtraten. Dann hatte ich das falsch verstanden.

--- gestrichen anfang ---
Werde dann vielleich nochmal die DB mal mit osm2postgresql probieren und vergleichen.

Ist ja sonst auch schnell wieder erstellt.
--- gestrichen ende ---

Bin schon gespannt - das letzte Posting war es wohl nicht !

Gruß Jan :-)

PS: habe dann mal

SELECT * FROM nodes limit 10;

abgesetzt  - da ist aber die Spalte hstore leer im Gegensatz zur Abfrage

SELECT * FROM ways limit 10;

Ist das richtig ?

Kann ich mir irgendwie nicht vorstellen!

Last edited by Lübeck (2013-07-19 13:31:01)


Redmi Note 9 Pro  mit Android 11, Tablet Android 8.1, PC: Win10

Offline

#25 2013-07-23 19:45:41

brogo
Member
From: 54,11 +-1°
Registered: 2009-06-02
Posts: 552

Re: Zugriff auf PostGIS-DB mittels QGIS

Osmonav wrote:

Wenn ich Jans Posting sehe, ist eigentlich bis auf die Flächen (logisch, osmosis) alles da. Es gibt eine Tabelle ways, in der unter linestring (so heißt das Ding in postgis -> manual Postgis pdf -> lesen) die Linien da sind.

Gibt es irgendwo eine Doku speziell für OSM (also nicht das Postgis-Handuch (englisch)), wie man nun aus den Linien (linestrings) am einfachsten Polygone und Multipolygone bastelt? Die Postgis-Funktionen sind ja doch sehr umfangreich.

Christian

Offline

Board footer

Powered by FluxBB