georeferenzierte Rasterdaten

Hallo Liste,

kann ich gereferenzierte tiff’s oder allg. Rasterdaten(tiff datei und tfw file) in postgres einlesen?


bin gespannt auf die Antwort, Danke!!!..

geog

Direkt sicherlich nicht, aber was genau möchtest du anstellen?

Geodaten können direkt in PG Datentypen abgelegt werden, die zugehörigen Images vielleicht in einem BLOB.

Hallo,

ob es Sinn macht oder nicht, sei mal dahingestellt.
Ich möchte ein georeferenziertes TIFF ebenso in die Datenbank ein- bzw. auslesen wie z.B. eine Shapedatei.

geht das ???

geog

Ich habe nicht gesagt, das es keinen Sinn macht :wink:
Nur gefragt, was genau du machen möchtest.

Was ist eine Shapedatei?

Angenommen, du hast ein Bild und legst zugehörige Geodaten mit ab, was möchtest du damit machen? Bloss die Koordinate haben, die auf dem Bild zu sehen ist?

Solange ich mir keine rechte Vorstellung machen kann, was du konkret erreichen möchtest, kann ich dir schwerlich weiterhelfen.

Hallo,

1.) eine Shapedatein ist eine Formatsbezeichnung wie z.B. *.doc. Hier heisst es eben *.shp. Dieses Format wird in einer Vielzahl von Geographischen Informationssystemem verwendet. Das Format *.shp besteht kurz gesagt aus einer Geometriekomponente (Punkt, Linie, Fläche) und alphanumerischen Daten. Mit dem Postgisaufsatz ist es möglich dieses Format in die Datenbank Postgres zu schreiben und auch von dort zu lesen.

2.) was möchte ich tun?
Wenn man mit Geographischen Informationssystemen arbeitet, dann arbeitet man (ganz grob gesagt) mit Vektordaten und Rasterdaten. Der Sinn eines solchen Systems besteht darin, dass jeder Punkt eine eindeutige Koordinate besitzt, unverwechselbar. Um dies bei Rasterdaten zu gewährleisten, wird ein Rasterdatensatz im Format *.tif in zwei Dateien abgespeichert. Karte.tif und karte.tfw. In Karte.tif ist das Luftbildild, die Karte, das Satellitenbild…
In Karte.tfw steht die Information um welches Bezugsystem es sich handelt, die Grösse der Pixel.
Wenn ich nun Karte.tif und Karte.tfw in ein GIs lade, dann hängt sich mein Rastersatz automatisch an die richtige Position im Koordinatensystem ein.

Da ich also eine *.shp Datei in Postgres schreiben kann und über ein GIS wieder auslesen kann, möchte ich dies nun mit Rasterdaten auch tun. Eine saubere Sache also. Rasterdaten und Vektordaten in einer Datenbank.

Geht das???


schönes Wochenende und danke für deine Hilfe,

geog

Also, komplett habe ich das nicht verstanden, aber das wird damit zu tun haben, das ich mit der Thematik nichts zu tun habe.

Gut, du hast also eine Datei mit einer Grafik und eine mit diversen Daten. Bist du in der Lage, letztere Datei zu zerlegen und die einzelnen Daten herauszubekommen?
Dann könntest du eine Tabelle erstellen mit den diversen Spalten, die du in der Datendatei hast … plus eine Spalte als Blob (oder eine Spalte in einer extra Tabelle), die die Grafik enthält.

Was nicht direkt möglich sein wird, das du die Datendatei in Postgres einspielst und dann auf die Daten darin zugreifen kannst.

Hallo ads,

wo liegt Dein Verständnisproblem? Gesucht wird jemand, der den Code für den Import der Daten liefert! Anders kann man diesen Satz doch nicht verstehen:

bin gespannt auf die Antwort

Wenn man die Doku gelesen hat, kennt man die Befehle für den Import und Export von Daten. Andere Befehle gibt es doch nicht!



mfg

fristo

fristo: großes Fragezeichen

Wenn mir jemand sagt, wie die Datendatei aufgebaut ist, kann ich auch in einer mir bekannten Programmiersprache Code liefern, der das einlesen kann. Zur Not ja auch innerhalb der Datenbank, so das man theoretisch wirklich die Datei in die Datenbank schiebt und die einzelnen Datensätze werden erzeugt …

Vielleicht hilft Dir http://www.postgis.org/ weiter?

Wenn ich das richtig sehe, möchtest Du doch etwas machen, was eigentlich ein GEO-Informationssystem machen sollte. z.B. Grass: http://grass.itc.it/. Für GRASS (OpenSource) gibt es auch eine Erweiterung PostGRASS, um PostgreSQL mit (ich glaube) PostGIS an GRASS anzubinden.

Für Esri ShapeFiles würde man die PostgreSQL-Erweiterung PostGIS verwenden.
Mit

shp2pgsql -D NameDesShapeFiles.shp Tabellenname DBName | psql DBName

kann man, wenn PostGIS installiert und für die DB initialisiert ist ein ShapeFile einlesen.

Für GeoTiffs gibt es diese Funktionalität meines Wissens nicht, da PostGIS soviel ich weiß ausschließlich mit Vektordaten und nicht mit Rasterdaten arbeitet. da müsste man sich also etwas einfallen lassen und jedem Pixel eine Koordinate zuordnen. Dann könnte man die Rasterpunkte einzeln mit der PostGIS-Funktion MakePoint einlesen. Da gibt es sicherlich Bibliotheken für.

Eine Frage noch: Willst du das nur einmalig machen oder soll das ganze mehrmals bzw. operationell laufen?