Wollte mal eure Meinung hören wie man konzeptionell mit Rasterdaten umgehen sollte.
Und zwar hab ich ne Seite, wo man Vektordaten und Rasterdaten hochladen kann. Vektordaten sind kein Problem und werden dann per Google Maps angezeigt.
Jetzt zu den Rasterdaten. Ich würde mich da momentan auf .TIF-Dateien beschränken die auch noch .RRD, .AUX und .TFW-Dateien mitbringen.
Was meint, sollte man diese einfach gezipped oder ungezipped auf den Server schieben und in der PostGIS-DB nur n Eintrag machen wo diese liegen, oder gibt es Gründe, die dafür sprechen diese auch in die DB zu importieren? Wenn ja, wie ginge das mit PostGIS?
Glaube das geht nicht direkt, aber rasdaman.org bietet sowas an oder?
Das geht als BLOB auch direkt, hat mit PostGIS direkt nichts zu tun. Und wo du die Bilder hintust, hängt davon ab was du damit machen willst. wenn du sie nur anschauen willlt oder als Hintergrund einbinden willst, ist das Filesystem idR schneller und IMHO einfacher zu händeln. Du kannst auch mit den GDALTools ein Indexshape erstellen, das du in PostGIS verwalten kannst und z.B. im UMN als Tiled Raster darstellen kannst. Rasdaman wäre dafür in etwa wie die Jagd auf Spatzen mit Hilfe von taktischen Nuklersprengkörpern, aber wichtig, wenn du Animationen oder Analysen der Bilder machen willst. Wichtig von den zusätzlichen Dateien ist eigentlich nur .tfw, daqs worldfile. Die anderen stellen eine ‘Indizierung’ des Bildes dar (‘build pyramids’) und können bei Bedarf von der jeweiligen Anwendung neu erstellt werden.
vielen Dank. Ja als BLOB war auch noch eine Option, werd ich mal umsetzen.
Wie isn das, speichert man alle Dateien jeweils als BLOB oder nur die TIF?
Hab n Buch da wird das nur fürn JPG gemacht mit Java…
Hm, gute Frage. Die rrds und aux brauchst du nicht und ich denke aus einer DB würden die auch nicht genutzt. Das Worldfile ist ein bisschen ASCII und enthält die Projektionsdaten des Rasters. Die Information sollte wichtig sein, aber das kann man auch in einem varchar oder so unterbringen. Ich hatte ehrlich gesagt noch nicht die Notwendigkeit, ‘dumme’ Rasterdaten in eine DB zu verfrachten.
Zusatz: Hier ist ein Link,den ich gerade gefunden hab. Vielleicht hilft der dir weiter…
Welchen Vorteil hat die Speicherung der Daten als BLOB eigentlich? Darauf wird hier im Buch gar nich eingegangen.
Und noch eine Frage: Wie gehe ich mit der Georeferenzierung um beim Speichern als BLOB?
Ich hab ne Tabelle mit 3 Spalten: ID, Kartenname, Blob
Die erweitere ich dann um ne räumliche Spalte und füge da die räumlichen Daten ein…
aber woher bekomme ich die räumlichen Daten?
Das sind genau die Dinge die ich nicht genau weiß, allerdings scheint darüber was in dem Link zu stehen.
Bisher fand ich selbst keinen triftigen Grund z.B. Luftbilder als BLOBs in die Datenbank zu pressen. Ich will sie ja nur in einem WMS zur Ansicht bringen. Dafür erstelle ich mir dann ein Indexlayer aus den Boundarys der Bilder (Gdal-Tool, macht ein shape aus den Boundaries der Bilder) das ich dann auch in PostGIS verwalten kann. Da sind dann die Boundarys als Geometrie und eine Referenz auf das Bild drin, den Rest erledigt die Applikation (hier ein UMN). Das Bild und sein Worldfile liegen irgendwo im Filesystem. Ob das auch mit BLOBs geht, weiß ich nicht.
Die Vor- und Nachteile von Rasterbildern in der DB stehen im Übrigen auch in dem Link unter 3.1.3, mehr kann ich dazu auch net sagen. Allerdings weiß ich auch net so richtig, was du denn machen willst. Luftbilder zu Googlemaps hochladen? Oder einfach irgendwelche Bilder? Sollen die editiert werden?
Mmmh naja ich soll egtl untersuchen was das bringt die als BLOB zu speichern…
Kann man denn ne .tif-Datei bei Google Maps anzeigen? ne oder? Reicht ja aus sich das Luftbild so anzuzeigen…
Dann wärs aber einfacher die so im Filesystem abzulegen…
Editiert werden sollen die Bilder nichund es geht nur um .tif Bilder (sind Luftaufnahmen ja).
Könntet ihr mir noch kurz sagen, welche Möglichkeiten es gibt Rasterdaten im Browser anzuzeigen?
Du hattest ja bereits beschrieben, wie du das machst, aber geht das vllt noch einfacher nur mit PHP-Mitteln son .tif anzuzeigen?
Naja, du kannst es natürlich einfach als Bilddatei einbinden, das sollte auch in PHP recht einfach gehen, andernfalls gehts auch im nackten HTML.
Oder, falls du die Geographie brauchst, über einen Webservice (WMS oder WCS). Diese liefern eigentlich auch nichts anderes als eine Bilddatei des gewählten Auschnittes/Inhalts an den Client zurück. Für große geographische Datensammlungen bietet sich ein tiled Raster an, d.h. du machst ein Raster aus aneinander grenzenden Kacheln, den Rest erledigt dann der Webmapserver. Oder du baust dir einen TiledMapService (TMS) auf, der die Kacheln vorgefertigt cached, mit dem Nachteil, das das stufenlose Zoomen hops geht. Luftbilder kommen oft schon in Form solcher Kacheln, die liessen sich mit den GDAL-Tools recht schnell als tiled layer aufbereiten.