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.

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

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

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

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

Grüße, gis_jam

hi !

SELECT * FROM geometry_columns

liefert nur 3 Einträge …

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

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

Hi !

wenn das immer alles so einfach wäre …

Gruß Jan :slight_smile:

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

gis_jam

hi !

nach dem aktuellen SQL aus #4

Gruß Jan :slight_smile:

Ä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

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

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

gis_jam

HI !

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:L%C3%BCbeck/Postgis92_Win7_64bit#Schritt_6_-_zwei_weitere_SQL-Scripte geschrieben.

Gruß Jan :slight_smile:

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

Gis_jam

Danke trotzdem …

Habe eben nochmal gegoogled und auf http://wiki.openstreetmap.org/wiki/Osmosis/PostGIS_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 ?

Gruß Jan :slight_smile:

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

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

Gruss
walter

hi !

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

gefunden. Ist das dasselbe wie

??

Gruß Jan :slight_smile:

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.

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

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

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

Gruss Jan

PS: sogar die abgewandelte way Abfrage liefert ein Ergebnis!