QGIS- und Raster-Mapping in der Ebene "Nahtlos"

8

Ich möchte das Ordnance Survey Base Mapping in QGIS verwenden. Ich möchte so etwas wie eine nahtlose Tabelle in MapInfo einrichten. Ich denke, dass das Äquivalent in QGIS eine virtuelle Rastertabelle ist. Die Dateien haben das gleiche TIF-Format wie beim Herunterladen.

Ich habe ein VRT erstellt, aber es scheint langsam zu laden, wenn ich die Ebene öffne. Ich habe auch versucht, Pyramiden für die Daten zu bauen, und dies scheint es nicht so sehr zu beschleunigen.

Gibt es eine Möglichkeit, dies zu beschleunigen? Vermisse ich etwas Gibt es gute Ressourcen für Schritte zur Vorbereitung von Rasterdaten für die Verwendung in QGIS?

Wäre es am besten, diese Informationen mit installiertem PostGIS Raster in eine PostGIS-Datenbank zu laden?

James S.
quelle
In den letzten Tagen habe ich zwei Rasterlite-Datenbanken mit OS OpenData-Rasterbildern erstellt. Jedes bedeckte ein 100 x 100 km großes OS-Rasterfeld, das erste (Vector Map District Rasters) mit einhundert Kacheln und das zweite (Streetview) mit vierhundert Kacheln. Ich könnte Ihnen das erklären, wenn Sie interessiert sind. Nick.
nhopton
Das wäre wirklich nützlich, um die Anweisungen dazu zu erhalten. Ich denke darüber nach, sie einer PostGIS-Datenbank hinzuzufügen, wenn ich mein PostGIS auf 2.0 aktualisiere.
James S.
Okay James, welches OS-Raster-Dataset wirst du verwenden? Nur damit ich die Kommandozeilen passend anpassen kann. Nick.
nhopton
Ich verwende VectorMap District Raster und auch die StreetView-Raster. Zunächst hauptsächlich an VectorMap District interessiert.
James S

Antworten:

9

Sind die TIFs gekachelt? Die OS Vector District-Rasterbilder, die ich habe, sind es nicht. Um QGIS zu verwenden, laden Sie eines der Raster und wählen Sie im Raster- Menü die Option Informationen . Klicken Sie auf OK, und irgendwo nach der Projektion und den Metadaten sollte eine Zeile wie folgt angezeigt werden:Band 1 Block=4000x65 Type=Byte, ColorInterp=Palette

Wenn, wie in diesem Fall, die Blockgröße die Breite des Bildes x eine bestimmte Anzahl von Zeilen ist, kann die Konvertierung in ein gekacheltes TIF in den meisten Fällen zu einer guten Beschleunigung führen. Dies liegt daran, dass wir in der Regel rechteckige Bereiche eines Bildes betrachten möchten und QGIS nicht eine ganze Pixelreihe laden muss, um die meisten davon zu verwerfen, da sie außerhalb der Ansicht liegen.

Verwenden Sie dazu den Menüpunkt Übersetzen im Raster- Menü. Sie können ein gesamtes Verzeichnis oder jeweils nur eine Datei konvertieren. Die Schlüsseleinstellung ist die, Creation Optionsdie Sie aktivieren TILEDund YESals Namen und als Wert eingeben sollten . Der Standardwert ist eine Kachelgröße von 256 x 256, was für die meisten Zwecke in Ordnung sein sollte. Es ist jedoch möglich, andere Größen anzugeben, indem Sie BLOCKXSIZEund BLOCKYSIZEzu den Erstellungsoptionen hinzufügen und die gewünschte Größe angeben .

Einstellungen für das Übersetzungswerkzeug


Nachtrag

Wenn Sie Ihre Bilder kacheln, werden Sie eine Zunahme der Dateigröße feststellen, da die Breite und Höhe Ihres Bildes wahrscheinlich kein Vielfaches der Kachelgröße beträgt. Mit dem OS Vector District-Raster beträgt die effektive Größe 4096 x 4096, was einer Erhöhung der Dateigröße um knapp 5% entspricht. QGIS und andere Tools behandeln sie jedoch transparent als 4000 x 4000.

MerseyViking
quelle
Wäre es vorteilhaft, Pyramiden zu bauen und die Bilder zu kacheln?
James S
1
Ja absolut. Abhängig von Ihren Daten müssen Sie möglicherweise verschiedene Algorithmen ausprobieren. Einige liefern bessere Ergebnisse als andere. "am nächsten" ist im Allgemeinen am schlechtesten, "kubisch" liefert normalerweise gute Ergebnisse in angemessener Zeit, aber Sie können feststellen, dass "kubischer Spline" oder "lanczos" bessere Ergebnisse liefern. Ich schlage vor, Sie probieren die verschiedenen Algorithmen für dasselbe Bild aus und führen in QGIS eine einfache visuelle Überprüfung durch, je nachdem, welcher am besten aussieht. Dies ist jedoch eine ziemlich subjektive Sache.
MerseyViking
Die obige Antwort ist jetzt etwas veraltet, die Menüoptionen sind jetzt unter Raster > Miscellaneous > Build Virtual Raster, das InformationMenü ist auch unter Sonstiges.
Alex
2

Laden von OS OpenData-Rasterbildern in eine Rasterlite-Datenbank.

Es gibt vorkompilierte Rasterlite / Spatialite-Binärdateien für Windows (32 und 64-Bit), daher habe ich diesen Weg eingeschlagen.

Schritt 1, installieren Sie die Software. Für 32-Bit-Windows gehen Sie hier: http://www.gaia-gis.it/gaia-sins/windows-bin-x86/ oder für 64-Bit-Windows hier: http://www.gaia-gis.it / gaia-sin / windows-bin-amd64 /

Laden Sie (mindestens) die folgenden Dateien herunter und entpacken Sie sie in ein Verzeichnis (ich habe C: / Spatialite verwendet).

rasterlite_load-1.1c-win-xxx.zip

rasterlite_pyramid-1.1c-win-xxx.zip

rasterlite_topmost-1.1c-win-xxx.zip

Spatialite-3.0.1-DLL-win-xxx.zip

Spatialite_gui-1.5.0-stable-win-xxx.zip

Sie benötigen außerdem eine aktuelle Version von sqlite3.dll (die mit OSGEO4W gelieferte ist zu alt). Diese finden Sie hier: http://www.sqlite.org/sqlite-dll-win32-x86-3071100.zip

Entpacken Sie dies in den Ordner C: / Spatialite.

Fügen Sie schließlich C: / Spatialite zu Ihrem Pfad hinzu.

Schritt 2: Bereiten Sie die Rasterbilder vor. OpenData-Raster sind indizierte TIFFs mit Weltdateien. Um in eine Rasterlite-Datenbank geladen zu werden, müssen diese stapelweise in Geotiffs konvertiert werden. Tun Sie dies in QGIS, Raster -> Konvertierung -> Übersetzen. Verwenden Sie den Batch-Modus und aktivieren Sie (am wichtigsten) 'Erweitern' und stellen Sie 'RGB' ein.

Schritt 3: Laden Sie das Verzeichnis der GeoTIFFs in eine Rasterlite-Datenbank. Gehen Sie zu Ihrem C: / Spatialite-Verzeichnis, klicken Sie auf Spatialite_gui und erstellen Sie eine neue Spatialite-Datenbank in dem Verzeichnis, das die GeoTIFFs enthält. Sie können dies beispielsweise als "vmd.sqlite" bezeichnen.

Öffnen Sie als Nächstes ein Befehlszeilenfenster in dem Verzeichnis, das die GeoTIFFs enthält, und geben Sie diesen Befehl ein:

rasterlite_load -d vmd.sqlite -T vmd -D. -i Wavelet -q 25

Dadurch sollten alle GeoTIFFs im Verzeichnis in vmd.sqlite in einer Tabelle mit dem Namen 'vmd' geladen werden. Es wird eine Weile dauern, aber der Fortschritt wird gemeldet.

Als nächstes bauen Sie Pyramiden:

rasterlite_pyramid -d vmd.sqlite -T vmd -i Wavelet -v

Wenn dies beendet ist, setzen Sie das Höchste:

rasterlite_topmost -d vmd.sqlite -T vmd -v

Laden Sie die neue Rasterlite-Datenbank über Layer -> Raster Layer hinzufügen in QGIS.

Weitere Informationen zu Rasterlite finden Sie unter: www.gaia-gis.it/gaia-sins/rasterlite-docs/rasterlite-how-to.pdf.

Abschließend. Sie können eine meiner VMD-Datenbanken (Rasterlite VectorMap District) hier herunterladen (ca. 500 KB):

http://dl.dropbox.com/u/45121071/vmd.sqlite

Klicken Sie mit der rechten Maustaste auf den Link, um die Datenbank herunterzuladen. Versuchen Sie nicht, sie in einem Browser zu öffnen.

Ordnance Survey VMD-Raster sind natürlich eine verschwommene, verwaschene, schlecht gestylte, schlecht beschriftete Schande, und aus einem Schweineohr kann man keine Seidenhandtasche machen. Die Datenbank sollte jedoch problemlos in QGIS geladen werden, sie sieht am besten bei etwa 1: 10000 aus. Das QGIS-Bildschirm-Rendering ist auch nicht so gut, aber Sie können die beste verfügbare Qualität erzielen, indem Sie Bilder vom Druckkomponisten exportieren.

Wenn Sie Probleme beim Laden der Datenbank haben, lassen Sie es mich wissen, es funktioniert hier in QGIS 1.7.4 (Win) und in Master (Ubuntu). Nick.

nhopton
quelle
Danke dafür. Ich werde das in den nächsten Tagen ausprobieren.
James S
Ich schlage wirklich vor, dass Sie zuerst meine Beispieldatenbank herunterladen, um zu sehen, was Sie erwarten können. In QGIS ist es möglich, damit herumzuspielen, damit es etwas weniger verwaschen aussieht. Nick.
nhopton
Öffnen Sie es einfach mit Rasterebene hinzufügen. Das ist wirklich ziemlich schnell zu laden. Ich werde mir dann ansehen, wie ich das mache. Wenn Sie kein Rasterlit verwenden, verwenden Sie PostGIS 2.0
James S
1

Es ist möglich, eine verschachtelte VRT-Struktur zu erstellen - eine VRT, die auf andere VRT-Dateien verweist. Im Moment glaube ich, dass dies die Geschwindigkeit, mit der die Rasterkacheln für einen sehr großen Datensatz (dh einen Datensatz mit einer großen Anzahl separater Kacheln) angezeigt werden, erheblich verbessert.

Ich habe nur verschachtelte VRT-Dateien mit dem Befehlszeilentool erstellt und bin am Anfang der Untersuchung, wie nützlich es ist. Im Moment scheint es möglich zu sein, Kacheln anzuzeigen, die, wenn sie von einer einzelnen VRT-Datei referenziert werden, nicht in einem angemessenen Zeitrahmen angezeigt werden.

Ich habe keine Informationen darüber, wie gut dies im Vergleich zu anderen Optionen funktioniert, aber es war aufgrund eines bekannten Prozesses zum Erstellen von VRTs einfach einzurichten.

Rostranimin
quelle