การจัดการกับ NoData ใน ArcGIS Spatial Analyst?


10

เมื่อใช้ Spatial Analyst ฉันมีปัญหาเกี่ยวกับค่า NoData ในการครอบตัดข้อมูล

เครื่องมือต่างๆปรากฏขึ้นเพื่อแนะนำค่า NoData เป็นประจำ

ค่าเหล่านี้จะทำให้เกิดปัญหากับเครื่องมืออื่น ๆ และจะต้องถูกกำจัดด้วยการจัดประเภทใหม่มักจะทำให้เกิดปัญหาอื่น ๆ

ควรจัดการกับค่า NoData อย่างไร มีวิธีง่ายๆในการแทนที่ค่า NoData ด้วยศูนย์หรือไม่? NoData สามารถหลีกเลี่ยงได้ทั้งหมดหรือไม่?


3
โดยปกติ - แต่ไม่เสมอไป - ต้องมีค่า NoData สิ่งนี้จะป้องกันไม่ให้การดำเนินการทั้งหมดล้มเหลวเมื่ออาจล้มเหลวแยกกันเพียงไม่กี่เซลล์ ตัวอย่างที่ดีคือการหารด้วยศูนย์บันทึกของตัวเลขที่ไม่เป็นบวกและการดำเนินการในท้องถิ่นต่างๆที่พยายามทำตามขอบเขตของกริด หนึ่งในตัวอย่างที่ดีสองสามอย่างที่ฉันรู้เกี่ยวกับตำแหน่งที่ไม่ควรนำค่า NoData มาใช้คือเสียงส่วนใหญ่ / ส่วนน้อยซึ่งแก้ไขความสัมพันธ์ด้วยการตั้งค่าเป็น NoData!
whuber

1
นอกจากนี้ยังมีความแตกต่างระหว่าง จำกัด NoData (เช่น, -9999) และ1.#QNANNoData ใน ArcGIS อดีตมีความโปร่งใสในขณะที่1.#QNANNoData เป็นสีดำทึบแสง
Mike T

คำตอบ:


6

ฉันจะใช้เครื่องคิดเลขแรสเตอร์ด้วยนิพจน์ต่อไปนี้:

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

สมมติว่าแรสเตอร์ของคุณเรียกว่า 'แรสเตอร์'


ไวยากรณ์ของเครื่องมือ 10.x Raster Calculator แตกต่างกันเล็กน้อย ในตัวอย่างนี้ "raster" เป็นเลเยอร์ในแผนที่:

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

4

คุณสามารถตั้งค่า NoData เป็นค่าใดก็ได้โดยใช้ตัวดำเนินการตามเงื่อนไข Set Null ( ArcGIS 9.3 , ArcGIS 10 ) ฉันไม่ทราบวิธีการป้องกัน NoData ปรากฏในสถานที่แรก แต่


ฉันรู้ว่าฉันควรจะเขียน / เชื่อมโยงกับตัวดำเนินการConตามที่ @AndOne พูดถึง

จากเอกสารถ้าคุณใช้หลาม:

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 เป็นศูนย์ได้หรือไม่?
Matthew Snape

ใช่ ArcGIS รุ่นใดที่คุณใช้อยู่
djq

การตรวจสอบที่ฉันใช้อยู่คือ Arcgis 10.0
Matthew Snape
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.