Ändern einzelner Pixelwerte in QGIS?

17

Ich möchte ein Raster (Pixelwerte) in QGIS ändern.

Die Plugins "Value Tools" können mir leicht den Wert des Pixels meines Rasters liefern. Allerdings weiß ich nicht, wie ich es ändern soll.

Ich habe die Frage & Antwort mit dem Titel Manuelles Korrigieren von Raster-DEM (OpenSource) gefunden. was besagt, dass es möglich ist, es in GRASS zu tun. Ich habe mehrere Stunden damit verbracht zu verstehen, wie Gras funktioniert, ohne Erfolg.

Ich kann das Tool d.rast.edit im Sextante-Plugin nicht finden .

Gibt es eine andere Möglichkeit, darauf zuzugreifen?

Renaud
quelle

Antworten:

12

Da dies zu diesem Zeitpunkt das erste Google-Ergebnis für die "QGIS-Rasterbearbeitung" ist, möchte ich hinzufügen, dass es jetzt das "Serval" -Plugin gibt, mit dem Sie Pixel ähnlich wie in Paint bearbeiten können.

Roel
quelle
6

Update: So einfach geht's:

  1. Erstelle eine Punktebene mit Punkten über den Pixeln, die du ändern möchtest. Mit der Spalte "newvalue"
  2. Verwenden Sie Raster / Conversion / Rasterize
    • wähle deine Ebene aus, Feld "newvalue"
    • Verwenden Sie als Ziel Ihr Raster.
    • Bestehende Größe und Auflösung beibehalten

Erledigt!

Wenn es anwendbare Regeln gibt, als in anderen Antworten erwähnt, gibt es den Raster Calculator .

Wenn Sie d.rast.edit nicht verwenden können (wie im verlinkten Thread erwähnt), ist mir kein visuelles Tool bekannt, das dies manuell erledigt . Die Abhilfe ist auf den Export Raster ASCII Gridded XYZ (* .xyz) (oder einem anderen Text - Format) , so dass Sie es im Texteditor bearbeiten können , wo Sie Ihre x / y und ändern Sie die z finden.

Es gibt auch eine kostenpflichtige Software namens Leveler ( http://www.daylongraphics.com/products/leveller/ ) - ein visueller Raster- Editor, mit dem Sie die Oberfläche im "Simcity" -Stil bearbeiten können. Ich habe kein kostenloses Tool dafür gefunden.

Miro
quelle
Vor einiger Zeit habe ich nach Software gefragt, um den DEMs-Simcity-Stil zu ändern :) Danke dafür! gis.stackexchange.com/questions/30453/…
pg85
1

Wenn Sie dies per Code tun möchten, können Sie die GDAL-Bibliothek verwenden:

http://gdal.org/classGDALRasterBand.html#a5497e8d29e743ee9177202cb3f61c3c7

QgisTn
quelle
Ich kann es kaum erwarten, dass das Plugin mit diesem Befehl der GDAL-Bibliothek eine Benutzeroberfläche zum Ändern eines Rasters erhält. Es ist lustig zu sehen, wie viele Werkzeuge es gibt, um eine Vektorebene zu ändern, und nichts für Raster!
Renaud
1

Mit SAGA GIS können Sie Pixelwerte nacheinander in einem Raster bearbeiten. Dies ist für einige Zwecke sehr nützlich, z. B. für die Fernerkundung, wenn Sie ein bestimmtes Pixel für die Spektralanalyse auswählen möchten. Wenn Sie das zu bearbeitende Raster im Bereich "Manager" auswählen, klicken Sie im Eigenschaftenbereich auf die Registerkarte "Attribute". Sie können auch ein einzelnes Pixel auswählen oder einen Pixelblock auf dem Bildschirm ziehen und auswählen und dann eingeben in ihren Werten in die Matrix, die unter den Attributen angezeigt wird.

Eine Möglichkeit, mit QGIS Pixel für Pixel zu ändern, besteht darin, das experimentelle Plugin Serval zu verwenden, um einen anderen Wert für ein bestimmtes Pixel festzulegen.

Steven Pawley
quelle
1

Versuchen Sie Folgendes: Mit dem Serval-Plugin für QGIS können Sie Werte einer einzelnen Rasterzelle bearbeiten.

http://www.lutraconsulting.co.uk/blog/2016/09/05/serval/

Aber ich suche ein Werkzeug, um Rasterwerte entlang einer Linie / Polylinie mit Werten am Ende von Linien / Polylinien aus dem Raster zu ändern.

Arkadiusz Środula
quelle
2
Willkommen bei der GIS SE! Ist das eine Antwort, eine Frage oder beides?
Aaron
0

Mit dem Raster-Rechner können Sie immer nur einen Wert neu zuordnen, ohne den Wertetyp des Rasters angeben zu müssen. Ich denke, es verwendet Float 32, was verschwenderisch ist, wenn nur ein Byte benötigt wird. Rastercalc ist besser, aber Sie können immer nur jeweils einen Wert neu zuordnen.

DanM
quelle
-1

Oder verwenden Sie das neue Qgis-Plugin, das dafür entwickelt wurde: ThRasE

Disclosure: Ich habe dieses Plugin entwickelt und möchte es nicht promoten, ich möchte nur eine andere Option teilen

XavierCLL
quelle