Warum gibt jede Rasterberechnung, die ich versuche, mit NAN-Werten zurück?

8

Ich versuche, mit DEM-Rastern aus dem USGS mithilfe des Rasterrechners zu arbeiten. Ich habe versucht, die Einheiten von Metern in Fuß zu ändern, indem ich einen Ausdruck wie:

"ned10m45111h8@1" * 3.28

Dies gibt jedoch NAN-Werte für jede Zelle zurück. Ich habe es auch ohne die Anführungszeichen um den Rasternamen versucht, wie auf dieser Website gezeigt: http://spatialgalaxy.net/2012/01/25/using-the-qgis-raster-calculator/

Ebenso habe ich den Maskencode ausprobiert:

("ned10m45111h8@1" <= 1328.96)*"ned10m45111h8@1"

Mit und ohne Anführungszeichen und NAN für alle Werte zurückgeben. Gibt es eine Standardeinstellung, die ich hinzufügen muss, oder einen grundlegenden Fehler, den ich mache? Ich bin neu in QGIS, aber nicht in GIS und könnte dies problemlos mit ARCGIS und Spatial Analyst tun.

Hayden
quelle
1
Ich denke, ich erinnere mich, dass ich irgendwo gelesen habe, dass dies ein Problem mit der Projektion ist ... Der Rasterrechner in QGIS hält sich nicht an das "Projekt im laufenden Betrieb". Auch wenn Sie im Vorgang nur ein Raster verwenden, versuchen Sie möglicherweise, es in dieselbe Projektion wie Ihr QGIS-Dokument zu exportieren.
Tangnar
1
Haben Sie etwas dagegen, Ihre QGIS-Version zu teilen? Wenn es <2.10 ist, lohnt es sich, es mit der 2.10-Version zu versuchen. Der Raster-Rechner hatte eine
Menge
Haben Sie mit in Betracht gezogen GDAL_Calc gdal.org/gdal_calc.html Gdal_Calc.py -A ned10m45111h8 --outfile = result.tif --calc = "A * 3,28084"
Michael Stimson
Ich spreche nur @ndawson für alle anderen, die hier festsitzen. Ich lief 2.4 und hatte dieses Problem - ein Upgrade auf 2.14 löste es sofort
Owen

Antworten:

5

Dies ist ein alter Beitrag, aber ich bin auf ihn gestoßen, als ich das gleiche Problem hatte. Es stellte sich heraus, dass mein Problem darin bestand, dass die Ausdehnungen der Berechnung standardmäßig auf die aktuellen Ebenenausdehnungen des ersten Rasterbandes in der Liste festgelegt wurden. Ich habe versucht, meine Berechnung für ein anderes Rasterband durchzuführen, aber die Extents werden nicht aktualisiert, wenn ein anderes ausgewählt wird.

Ich musste auf das Rasterband klicken, auf dem ich die Berechnung durchführte, und auf die Schaltfläche "Aktuelle Ebenenausdehnung" klicken. Voila.

iskionrocks
quelle
Das hat auch bei mir funktioniert. Klicken Sie zuerst auf eines der Bänder, die Sie bearbeiten möchten, und dann auf die aktuelle Ebene. Wenn Sie dies zuerst tun, kann Current Layer Extent zu NaNs
DarkCygnus
2

Ich hoffe, allen anderen helfen zu können, die nach Antworten auf den Umgang mit dem QGIS-Raster suchen, der NaN-Raster zurückgibt. Ich habe den GDAL-Rasterrechner in der Processing Toolbox unter QGIS 3.4 verwendet.

Ich habe jede Lösung ausprobiert, die ich beim Stapeltausch gefunden habe, und für mein Raster hat nichts funktioniert (siehe unten): Screenie der Rasterinfo

Ich habe QGIS aktualisiert, CRS von der ausgewählten Ebene festgelegt, QGIS gezwungen, die Ebene auf die richtige CRS zu projizieren, den Dateinamen meines Rasters geändert und die NaN-Werte im Raster auf 0 geändert. Keine dieser Lösungen erlaubte es mir, eine Rasterberechnungsfunktion auszuführen, selbst eine einfache wie diese "twentysix@1" * 1.

Die Verwendung des GDAL-Rasterrechners löste alle Probleme, die der QGIS-Rasterrechner mit dem Raster hatte. Hoffe, die Leute können das sehen, die es brauchen! Es hat mich tagelang geärgert.

Screenie von GDAL calc Ort

Mara
quelle
0

Hatte das gleiche Problem, versuchte alle oben genannten ohne Freude.

Ich habe es schließlich gelöst, indem ich die .shp als .csv exportiert, die relevanten Felder kopiert und in eine neue .csv eingefügt habe, mit der ich dann die Interpolation durchgeführt habe!

Michael_01
quelle