Zmienić wartości zerowe wartości rastrowe na 0 w QGIS?


13

Potrzebuję pomocy ... Mam problemy z QGIS. Mam kilka rastrów, które wydają się mieć wartości zerowe, mimo że je przeklasyfikowałem, aby uzyskać logiczny raster :(

Jak mogę zmienić wartości NULL na 0?

Odpowiedzi:


14

oprócz odpowiedzi @RK możesz również użyć r.null w trawie .

r.null - Zarządza wartościami NULL danej mapy rastrowej.

PRZYKŁADY

Ustaw określone wartości sklasyfikowanej mapy na NULL:

r.null map=landcover.30m setnull=21,22

Ustaw NULL-wartości mapy na określoną wartość:

 r.null map=fields null=99

Mam nadzieję, że Ci to pomoże...


9

Myślę, że wtyczka RasterCalc powinna być w stanie rozwiązać twój problem. Po zainstalowaniu możesz użyć następującego zapytania (zakładając, że wartości NULL odpowiadają -9999; możesz sprawdzić tę wartość w zakładce Przezroczystość we właściwościach warstwy):

eq ([twój_klas] @ 1, -9999, 0)

eq oznacza równe. To mówi RasterCalc, że wszystkie piksele w twoim rastrze z wartościami NULL powinny mieć ustawione wartości 0. Zakładam, że masz raster jednopasmowy.


1
Wydaje się, że to nie działa (QGIS 1.8 / Rastercalc 0.2.5) - nadanie „wyrażenia nieważnego” z załadowanym rastrem, np.eq( EL_hm@1, NULL, 0 )
Simbamangu

1
@Simbamangu, jeśli użyjesz rzeczywistej wartości użytej jako NULL (na przykład -9999) - to zadziała. np. eq (EL_hm @ 1, -9999, 0)
SS_Rebelious

1
@SS_Rebelious - możesz wspomnieć w swojej edycji, że wartość NULL można ustawić w preferencjach ( General|Representation for NULL values) i powinno to znaleźć odzwierciedlenie w wyrażeniu.
Simbamangu,

2

Nie wiem czy to rozwiązałeś? Może być bardziej uproszczony sposób, ale działa to dla mnie dobrze w najnowszym QGIS (v2.8.1):

  1. Utwórz nowy wielokąt z kolumną atrybutów dla wysokości / poziomu. narysuj kształt wielokąta o większym zakresie niż zakres rastrowy, który chcesz zmienić.
  2. zrasteryzuj ten wielokąt za pomocą narzędzia raster> konwersja> rasterise.
  3. za pomocą narzędzi analizy GDAL> nie wypełniaj danych> i zrasteryzowanego wielokąta jako warstwy poprawności.
  4. Wynikowy plik rastrowy powinien teraz mieć wartości, w których wcześniej nie było danych. Będą to albo losowe wartości poniżej 0 (na przykład -9999) lub 0. Jeśli jest to 0, to świetnie, że masz to, czego chciałeś. Jeśli nie, wykonaj krok 5.
  5. za pomocą SAGA> Narzędzia siatki> Narzędzia rastrowe Mosaick wprowadź wypełnioną warstwę rastrową i zrasteryzowany wielokąt. w nakładających się obszarach wybierz [3] Maksimum i ustaw zakres wyjściowy na oryginalny raster. Powinno to spowodować powstanie nowego rastra, który zachowa wszystkie wartości powyżej 0, a dotychczasowym wartościom danych brak nowej wartości 0.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.