Grundlegendes zu Raster-Symbologieeinstellungen

9

Ich versuche zu verstehen, wie die Symbologieoptionen für Rasterebenen in QGIS verwendet werden, insbesondere die Resampling-Optionen, aber die offizielle Dokumentation erwähnt die Einstellung nur sehr kurz und geht nicht detailliert auf deren Funktionsweise ein.

Ich bin daran interessiert, wie ich die Einstellungen verwenden kann, um Rasterbilder wie topografische Karten oder Seekarten am besten anzuzeigen, entweder über Tileset-Kartendienste oder statische Offline-Formate wie GeoTIFF. Die meisten Videos und Tutorials, die ich finden kann, scheinen sich eher mit Resampling zu Zwecken der Datenmanipulation als mit Anzeigezwecken zu befassen.

EDIT: Die vorhandenen Antworten zu Lanczos Resampling sind sehr informativ und werden nützlich sein, wenn ich etwas weiter gehe. Meine Frage bezieht sich jedoch nicht wirklich auf verschiedene Interpolationsmethoden, die ich ziemlich gut verstehe, sondern vielmehr darauf, welche Auswirkungen die spezifischen Einstellungen in QGIS auf das Rendern der Rasterebene haben.

Normalerweise würde ich dies untersuchen, indem ich die Einstellungen ändere und das Ergebnis visuell vergleiche, aber ich sehe keinen Unterschied, wenn ich sie anwende (außer dass das Bild unter bestimmten Einstellungen bei bestimmten Zoomstufen überhaupt nicht gerendert wird). Kurz gesagt, ich verstehe aus den Einstellungsnamen nicht, wie ich erwarten sollte, dass sie das Bild beeinflussen. Speziell:

  • Was sind die Einstellungen "Vergrößert" und "Verkleinert" und welche Schritte sollte ich unternehmen, um sie visuell zu vergleichen? Beziehen sich diese auf Upsampling und Downsampling, wie im Lanczos-Artikel beschrieben?
  • Was ist "Oversampling" und wie wirkt es sich visuell auf ein Bild aus?
  • Sind andere Symbologieeinstellungen für das visuelle Erscheinungsbild einer topografischen Karte relevant?
Nathan
quelle
Lesen Sie gis.stackexchange.com/questions/10931/…, das einige sehr interessante Vergleiche zwischen Methoden enthält.
Michael Stimson
Vielen Dank; sehr informativ! Meine Frage ist jedoch etwas rudimentärer - ich habe die Frage bearbeitet, um zu erklären, wie.
Nathan

Antworten:

7

Bearbeitete Antwort (11-SEP-2018)

Die folgenden Antworten und Beschreibungen basieren auf QGIS 3.2. Sie werden Interpolationsmethoden nicht berühren, da der Fragesteller bereits mit ihnen vertraut ist.

Ich gehe davon aus, dass die Frage speziell über die Einstellungen in gefragt Layer - Eigenschaften -> Symbologie -> Resampling (wie in der Abbildung unten)

Abbildung 1

Vergrößert - Nächster Nachbar, bilinear, kubisch

Im Allgemeinen wird diese Einstellung aktiviert, wenn der Benutzer über die native Pixelauflösung der Rasterebene hinaus "zoomt" (dh in Richtung Boden). Den Effekt finden Sie in der folgenden Abbildung. (Achten Sie darauf, den Oversampling- Wert auf 1,0 oder höher zu halten . Der Standardwert ist 2,0.)

Insbesondere sollte diese Einstellung wirksam werden, wenn die Pixelauflösung der Kartenansicht größer ist als die ursprüngliche Pixelauflösung der Rasterebene (dh Datei).

Figur 2

Verkleinert - Nächster Nachbar, Durchschnitt

Im Allgemeinen wird diese Einstellung aktiviert, wenn der Benutzer über die native Pixelauflösung der Rasterebene hinaus "herauszoomt" (dh vom Boden weg). Den Effekt finden Sie in der folgenden Abbildung. (Stellen Sie sicher, dass der Oversampling- Wert höher als 1,0 ist. Der Standardwert ist 2,0.)

Insbesondere sollte diese Einstellung wirksam werden, wenn die Pixelauflösung der Kartenansicht kleiner ist als die ursprüngliche Pixelauflösung der Rasterebene (dh Datei).

Die Durchschnittsmethode ist eigentlich eine bilineare Interpolation. In den meisten Situationen liefert der Standardwert von Oversampling von 2,0 das "beste" visuelle Ergebnis in Bezug auf die Leistung. Bei großen Orthophoto-Raster können größere Überabtastwerte bessere visuelle Ergebnisse liefern, insbesondere wenn das Raster viele weiße Flecken aufweist (z. B. aufgrund von Lichtreflexionen von Autos, Dächern, Gewässern, schlechter Kartenproduktion, Kombinationen der oben genannten usw.). ). Größere Überabtastwerte erhöhen jedoch auch die Renderdauer und führen möglicherweise nicht unbedingt zu einem besseren Ergebnis. Unterschiedliche Rasterorthofotos liefern unterschiedliche visuelle Ergebnisse. Experimentieren Sie also mit unterschiedlichen Oversampling- Werten.

Figur 3

Der Oversampling- Wert

Die tatsächliche Anwendung und Wirkung von Oversampling kann anhand der QGIS-Quellcodes erklärt werden, die auf die folgenden Schritte reduziert / vereinfacht wurden:

let pixelRatio = map view's pixres / raster layer's pixres,
let toUseRatio = min(pixelRatio, Oversampling),

toUseRatio ist das kleinere von pixelRatio und Oversampling . Daher ist Oversampling eine Fehlbezeichnung und sollte stattdessen treffend als "Maximum Pixel Ratio" bezeichnet werden.

// Assuming Zoom_In and/or Zoom_Out is not Nearest_Neighbour.

if toUseRatio < 1.0 or toUseRatio near 1.0 then
    resamplerToUse = interpolation specified in Zoom_In
else if toUseRatio > 1.0 then
    resamplerToUse = interpolation specified in Zoom_Out
else 
    resamplerToUse = Nearest Neighbour

Als nächstes entscheidet QGIS unter Verwendung der obigen Logik zwischen (der in angegebenen Interpolationsmethode) Vergrößern und Verkleinern . Das resultierende „Idiosynkrasie“ ist , dass Vergrößern kann über gewählt werden , Verkleinern , wenn Benutzer „zoomt“ Vergangenheit der nativen Pixelauflösung der Ebene.

let resWidth  = map view's width * toUseRatio,
let resHeight = map view's height * toUseRatio,

let InpImg = Block(raster layer, map view's extent, resWidth, resHeight),
let OutImg = scale InpImg to map view's width and height using resamplerToUse.

Und zuletzt - das Kopieren / Skalieren von Bildern. Wenn toUseRatio "groß" ist, werden auch resWidth und resHeight angezeigt . Dies führt direkt dazu, dass InpImg mehr Pixel über und nach unten hat. InpImg wird dann verkleinert (oder vergrößert ), um es an die Bildschirmbreite und -höhe der Kartenansicht anzupassen .

Wenn InpImg mehr Pixel (quer und runter) als die Kartenansicht hat, erfolgt eine Verkleinerung und das Ergebnis ist "gut". Wenn InpImg umgekehrt weniger Pixel (quer und runter) als die Kartenansicht hat, erfolgt eine Vergrößerung und das Ergebnis ist schlecht. (Siehe Abbildung unten.)

Figur 4

Ralph Tee
quelle
Danke, genau darum frage ich! Können Sie etwas näher erläutern, was Oversampling bewirkt und wie diese Einstellungen für Rasterebenen gelten, die mehrere Kachelsätze in einem einzelnen Kartendienst enthalten? Beispielsweise enthält der topografische Kartendienst von USGS verschiedene Karten für die Maßstäbe 1: 250k, 1: 100k und 1: 24k, und diese verschiedenen Maßstäbe werden in verschiedenen Zoomstufen angezeigt. Ich habe festgestellt, dass ein höherer Oversampling-Wert manchmal dazu führt, dass Karten mit einer höheren Zoomstufe angezeigt werden, anstatt derjenigen, die normalerweise für diese Zoomstufe gerendert werden. Warum ist das?
Nathan
Bei einem Webkartendienst (z. B. WMTS) "sperrt" QGIS automatisch die beste Ebene, abhängig vom Maßstab oder der Pixelauflösung Ihrer aktuellen Kartenansicht. QGIS dann "Vergrößert" oder "Verkleinert", bis Ihre Kartenansicht die nächstbeste Ebene erreicht. Und der Vorgang wiederholt sich.
Ralph Tee
Es ist die aktuelle (nominelle Skala) oder Pixelauflösung der Kartenansicht des Benutzers, die bestimmt, welche Webkarten-Service-Schicht QGIS lädt - und kein Wert in Oversampling.
Ralph Tee
Was würde dann für die Änderung verantwortlich sein? Beispielsweise lädt QGIS in einem Maßstab von 1: 125.000 und 2-facher Vergrößerung mit Oversampling auf 2,0 die 100k-Topo-Schicht. Bei gleichem Maßstab und gleicher Vergrößerung zeigt QGIS bei auf 3,0 eingestelltem Oversampling das 24k-Topo an (obwohl zuerst die 100k-Ebene gerendert wird, die kurz mit verbesserter Auflösung angezeigt wird, bis die 24k-Ebene an ihrer Stelle geladen wird).
Nathan
1
Darf ich vorschlagen, dass Sie einen neuen Eintrag für Ihre (scheinbar verwandten) Fragen erstellen? Dies dient der Einhaltung der Forenrichtlinien. Darüber hinaus ist der Kommentar kein guter Ort, um Antworten zu geben.
Ralph Tee