ค่า NoData เป็นที่รู้จักในแรสเตอร์ใน ArcGIS Desktop แต่ไม่ปฏิบัติตามกฎสัญลักษณ์?


9

ฉันมี GeoTIFF raster ใน ArcGIS Desktop ซึ่งสามารถดาวน์โหลดได้จากลิงค์สองลิงค์ต่อไปนี้:

  1. http://www.rtwilson.com/downloads/MODIS_MOD04_16-06-2006_Subset.tfw
  2. http://www.rtwilson.com/downloads/MODIS_MOD04_16-06-2006_Subset.tif

หากคุณโหลดสิ่งเหล่านี้ลงในเดสก์ท็อป ArcGIS คุณจะเห็นพื้นที่เครื่องแบบขนาดใหญ่ การคลิกที่พื้นที่เหล่านี้ด้วยเครื่องมือข้อมูลแสดงค่าพิกเซลว่าเป็นไม่มีข้อมูล อย่างไรก็ตามเมื่อคุณเลือกที่จะแสดงค่า No Data ให้เป็นแบบโปร่งใส (หรือเป็นสีใดก็ได้) ในการตั้งค่า Symbology สำหรับเลเยอร์ค่า No Data จะไม่ปฏิบัติตามกฎนั้น

ที่น่าสนใจคือไม่มีค่าข้อมูลที่อยู่นอกพื้นที่หลักของภาพที่จะปฏิบัติตามกฎ (ตั้งค่าสีเป็นสีแดงเพื่อดูว่า) แต่ค่าที่อยู่ภายในภาพไม่ได้

ฉันพยายามอย่างมากที่จะพยายามแก้ไขปัญหานี้และไม่สามารถหาวิธีแก้ไขได้

ไม่มีใครมีความคิดใด ๆ

คำตอบ:


3

ฉันดาวน์โหลดไฟล์และแปลงไปเป็นอาร์เรย์ numpy และเมื่อฉันวนลูปมากกว่าค่าในอาร์เรย์ฉันเห็นว่าฉันได้รับ -3.40282347e + 38 และ NaN เป็นค่า nodata บางทีคุณอาจจัดประเภทเหล่านี้เป็นค่าหนึ่งหรืออีกค่าหนึ่งดังนั้นค่าทั้งหมดจะเหมือนกัน

คุณสามารถใช้เครื่องมือจัดประเภทใหม่arcpy.sa.setnullหรือฉันมั่นใจว่า numpy มีฟังก์ชั่นแฟนซีบางอย่างที่สามารถทำได้หากคุณแปลงภาพเป็นอาเรย์ numpy

การแปล Gdalอาจมีประโยชน์หากคุณต้องการลงเส้นทางโอเพนซอร์ซ


คุณมีความคิดว่าฉันจะจัดประเภทค่าเหล่านี้ใหม่ได้อย่างไร? ฉันไม่สามารถทำให้ ArcGIS จดจำสิ่งใด ๆ สำหรับ NaN และดูเหมือนจะไม่จัดการกับค่าที่ต่ำมาก (โดยทั่วไปดูเหมือนว่า NaN - เนื่องจากเป็นช่วงของการลอยใน Arc) เช่นกัน
robintw

ถ้าเป็นฉันฉันจะแปลงภาพแต่ละภาพให้เป็นอาร์เรย์ที่มีลักษณะกลมวนรอบอาร์เรย์ที่แปลงค่า nodata ทั้งหมดเป็น -9999 หรืออะไรก็ตามแล้วนำอาร์เรย์กลับไปที่ภาพ ฉันแน่ใจว่ามีวิธีที่ชาญฉลาดในการทำ แต่ฉันไม่ได้ทำงานกับ numpy มาก
dango

หากคุณตัดสินใจที่จะใช้วิธีที่ฉันแนะนำข้างต้นคุณอาจต้องการใช้ฟังก์ชัน python math.isnan () เพื่อระบุค่า NaN
dango

4

มีบางสิ่งที่ขี้ขลาดเกิดขึ้นกับไฟล์ / ข้อมูลนั้น

คุณอยู่ใน ArcGIS นั้นแสดง NoData สองประเภทถึงแม้ว่าแอตทริบิวต์ทั้งสองจะแสดงสิ่งเดียวกัน QGIS ก็ทำเช่นนี้เช่นกัน ฉันไม่รู้เลยว่าเกิดอะไรขึ้นกับข้อมูล (แต่ฉันเดาว่าจะมีค่า "noData" ที่แตกต่างกันสองค่าที่ใช้อยู่เบื้องหลังซึ่งอาจเป็น "โมฆะ" อื่น ๆ "-9999" เป็นต้น) แต่จะสนใจ หากต้องการทราบว่าอาจมีคนอื่นสามารถสอนเรา

อย่างไรก็ตามมีวิธีแก้ไขสองวิธีที่เป็นไปได้ดังนี้:

ส่งออกข้อมูล - หากคุณส่งออกข้อมูลที่แน่ใจว่าใช้ "renderer" มันจะเริ่มทำงานอย่างถูกต้อง หากคุณไม่ติ๊กตัวช่วยการใช้งานไฟล์ใหม่ของคุณจะมีปัญหาเดียวกัน ข้อเสียนี้จะแปลงเป็นข้อมูล 8 บิต (0-255) เครื่องมืออื่น ๆ อาจสามารถแสดงผลอีกครั้งในขณะที่เก็บข้อมูลเป็น 32 บิตลอย

Use Classified - The Classified Symbology method ดูเหมือนว่าจะแสดง NoData ทั้งสองประเภทอย่างถูกต้อง (iee เป็นสิ่งเดียวกัน) ดังนั้นให้ใช้ถ้าเป็นไปได้และคุณไม่ต้องการแก้ไขข้อมูล แสดงหลักฐานข้อผิดพลาดที่ยืดออกของคุณและ "ค่าที่ไม่ซ้ำ" ไม่แสดงอะไรเลย

(ใช้ ArcGIS 9.3.1)


ขอบคุณสำหรับการตอบกลับ - ฉันดีใจที่ไม่ใช่แค่ฉันเท่านั้นที่คิดว่านี่แปลก น่าเสียดายที่สัญลักษณ์จำแนกไม่เหมาะสมกับสิ่งที่ฉันต้องทำ แต่ฉันจะทำการส่งออกโดยใช้โหมดแสดงภาพในขณะนี้ สิ่งที่น่าผิดหวังคือสิ่งนี้เกิดขึ้นกับทุกไฟล์ที่ฉันได้รับจากดาวเทียม MODIS โดยใช้ระบบประมวลผลออนไลน์ MODIS ฉันคิดว่าปัญหาอาจเป็น NoData สองประเภทที่แตกต่างกัน - ฉันคิดว่าในกรณีนี้พวกเขาอาจเป็น "null" และ NaN แต่ฉันไม่รู้
robintw

ฉันคิดว่า 'Use Classified' เป็นเทคนิคที่แนะนำน้อยที่สุดในการแก้ไขข้อผิดพลาดนี้ คุณสามารถประมาณเกือบทุกสิ่งที่คุณสามารถทำได้ในเมนู 'ยืดออก' ในเมนู 'จัดประเภท'
Alexander

2

ฉันเพิ่งเจอปัญหาเดียวกัน - และพบ "ทางออก" หากคุณคูณแรสเตอร์ด้วย 1.0 ด้วยเครื่องคิดเลขแรสเตอร์ ArcMap จะจดจำค่า NoData


1

มีปัญหาเดียวกันกับกริด ESRI 32 บิต บิตที่ 16 ทำงานได้ดีและ NoData ไม่สามารถมองเห็นได้ แต่จะปรากฏเป็นสีดำสำหรับบิต 32 บิต แก้ไขโดยการส่งออกทีละรายการและเปลี่ยนค่า nodata เป็น -32768 ซึ่งตรงข้ามกับ -2147483647 ซึ่งเป็น 32 บิตตามปกติ


1

ผมมีปัญหาเดียวกัน. สิ่งที่ใช้ได้ผลสำหรับฉันคือการส่งออกแรสเตอร์ในโฟลเดอร์ฐานข้อมูลภูมิศาสตร์ หาก raster ถูกส่งออกไปยังฐานข้อมูลภูมิศาสตร์ arcmap จะแสดงค่า NoData อย่างถูกต้อง


0

ฉันมีปัญหาคล้ายกันกับภาพ Landsat 8-OLI เมื่อแสดงภาพโมเสค ค่า "NoData" ด้านนอก (พื้นหลัง) ไม่ทำอะไรเลย แต่บล็อกข้อมูลที่ขาดหายไปเช่นการลบคลาวด์ / เงาด้านในจะเปลี่ยนสีของเลเยอร์อ้างอิงโมเสค ฉันทำมันใน ERDAS และ Arcmap ทั้งผลลัพธ์เดียวกัน ด้วยเหตุผลบางอย่างมันมีผลกระทบต่อสัญลักษณ์ แต่ถ้าคุณใช้เครื่องมือ "ระบุ" ค่าพิกเซลจะถูกต้อง หากคุณไปตามผลลัพธ์และไม่แสดงคุณควรจะปรับ

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