Зміна растрових значень нульових значень на 0 у QGIS?


13

Мені потрібна допомога ... У мене проблеми з QGIS. У мене є деякі растри, які, мабуть, мають нульові значення, хоча я перекласифікував їх для отримання булевого растру :(

Як я можу змінити значення NULL на 0?

Відповіді:


14

окрім відповіді @RK, ви можете використовувати r.null і в траві .

r.null - Керує значеннями NULL заданої растрової карти.

ПРИКЛАДИ

Встановіть конкретні значення класифікованої карти на NULL:

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

Встановити значення NULL для карти на певне значення:

 r.null map=fields null=99

я сподіваюся, що це допоможе тобі ...


9

Я думаю, плагін RasterCalc повинен мати можливість вирішити вашу проблему. Після встановлення його можна використовувати наступний запит (якщо припустити, що значення NULL відповідає -9999; ви можете перевірити це значення на вкладці Прозорість властивостей шару):

eq ([your_raster] @ 1, -9999, 0)

eq означає рівний. Це говорить про RasterCalc, що всі пікселі у вашому растрі зі значеннями NULL повинні мати значення, встановлені 0. Я припускаю, що у вас є растровий діапазон.


1
Це, здається, не працює (QGIS 1.8 / Rastercalc 0.2.5) - надаючи "вираз недійсний" із завантаженою eq( EL_hm@1, NULL, 0 )
растрою

1
@Simbamangu, якщо ви будете використовувати фактичне значення, яке використовується як NULL (наприклад, -9999) - це буде працювати. наприклад, eq (EL_hm @ 1, -9999, 0)
SS_Rebelious

1
@SS_Rebelious - ви можете зазначити у своїй редакції, що значення NULL можна встановити в налаштуваннях ( General|Representation for NULL values), і це має бути відображено у виразі.
Simbamangu

2

Я не знаю, чи ти це вирішив? Можливо, є більш обтічний спосіб, але це працює добре для мене в останній QGIS (v2.8.1):

  1. Створіть новий багатокутник із стовпцем атрибутів для висоти / рівня. намалюйте форму багатокутника більшою мірою, ніж розмір растру, який ви хочете змінити.
  2. розтерзати цей багатокутник за допомогою растрового> перетворення> інструмента растрового.
  3. використовуючи інструменти аналізу GDAL> заповнити дані> та розсіяний багатокутник як шар дійсності.
  4. У результуючому растровому файлі тепер повинні бути значення, де раніше не було даних. Це буде або якесь випадкове значення нижче 0 (наприклад, -9999), або 0. Якщо це 0, то здорово, ви отримали те, що хотіли. Якщо цього немає, виконайте крок 5.
  5. за допомогою SAGA> Grid -Tools> Mosaick Raster Layers вводять заповнений растровий шар та розсіяний багатокутник. у областях, що перекриваються, виберіть [3] Максимум та встановіть ступінь виведення на вихідний растр. Це повинно призвести до появи нового растру, який зберігає всі ваші значення понад 0, при цьому надаючи вашим попереднім значенням даних нове значення 0.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.