Маючи справу з NoData у ArcGIS Spatial Analyst?


10

Під час використання Spatial Analyst у мене регулярно виникають проблеми зі значеннями NoData, що з'являються у даних.

З'являються різні інструменти для регулярного введення значень NoData.

Ці значення потім спричиняють проблеми з іншими інструментами і повинні бути усунені шляхом перекласифікації, що зазвичай призводить до інших проблем.

Як слід поводитися зі значеннями NoData? Чи є простий спосіб замінити значення NoData на нуль? Чи можна взагалі уникати NoData?


3
Зазвичай - але не завжди - значення NoData повинно бути там. Це запобігає невдачі всієї операції, коли вона може вийти з ладу окремо у кількох клітинках. Хорошими прикладами є поділ на нуль, журнали непозитивних чисел, а також різні локальні операції, що здійснюються за межами сітки. Один з небагатьох добрих прикладів, які я знаю щодо того, де не слід вводити значення NoData, - це фокусна більшість / меншина, яка вирішує зв'язки, встановлюючи їх на NoData!
whuber

1
Також існує розмежування між кінцевими NoData (наприклад, -9999) і 1.#QNANNoData. У ArcGIS перший 1.#QNANваріант прозорий, а NoData - непрозорий чорний колір.
Майк Т

Відповіді:


6

Я використовував би растровий калькулятор із таким виразом:

Con(IsNull([raster]), 0, [raster])

Це передбачає, що ваш растр називається "растр".


Синтаксис інструмента 10.x Raster Calculator інструмент дещо відрізняється. У цьому прикладі "растр" - це шар на карті:

Con(IsNull("raster"), 0, "raster")

4

Ви можете встановити значення NoData на будь-яке значення за допомогою умовного оператора Set Null ( ArcGIS 9.3 , ArcGIS 10 ). Я не знаю, як запобігти появі NoData в першу чергу.


Я зрозумів, що повинен був написати або зв’язатися з оператором Con, як згадував @AndOne.

З документації, якщо ви використовуєте python:

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCon = Con("elevation", "elevation", "", "VALUE > 2000")
outCon.save("C:/sapyexamples/output/outcon.img")

1
+1. У багатьох операціях є аргументи, які обмежують результати NoData. Наприклад , при обчисленні статистики сусідства ("фокусної") ви можете вказати, що NoData у вході (який повинен виникати по краях) просто ігнорується, а не поширюється на вихід. Зауважте, що кожна плоска сітка має межу, за якою перебуває NoData.
whuber

Чи можна це насправді використовувати для перетворення NoData в нуль?
Меттью Снейп

Так, яку версію ArcGIS ви використовуєте?
djq

Я використовую версії Arcgis 10.0
Matthew Snape
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.