เข้าใจค่า min และ max ด้วย Mosaic to New Raster หรือไม่


14

ฉันต้องรวม DEM rasters หลาย ๆ อันไว้ในแหล่งนี้: http://srtm.csi.cgiar.org/SELECTION/inputCoord.aspดังนั้นฉันจึงใช้เครื่องมือ Mosaic กับ New Raster

ฉันตั้งค่าเครื่องมือ:

  1. ฉันป้อน rasters (ทั้งหมดจากแหล่งเดียวกันขนาดเดียวกันและไม่มีการฉายภาพ);
  2. ตั้งค่า Pixel Type (จุดลอยตัว 32 บิตเหมือนในภาพแรสเตอร์ดั้งเดิม);
  3. ตั้งค่าขนาดเซลล์เป็นแบบแรสเตอร์ดั้งเดิม
  4. จำนวนวง = 1 เป็น rasters ดั้งเดิม ผู้ประกอบการโมเสกฉันได้ทำมันด้วย BLEND และ MEAN (ฉันได้ผลลัพธ์เดียวกัน)

ปัญหาที่ฉันมีคือโมเสคผลลัพธ์แสดงช่วงของค่าสูงสุดและต่ำสุดที่แตกต่างจากค่าสูงสุดและต่ำสุดของแต่ละแรสเตอร์เช่น raster 1 (-5123.8, 23.25), raster 2 (-5974.6, 40.09), แรสเตอร์ 3 (-57770.2, 38), แรสเตอร์ 4 (-2534.3, 23.55) และแรสเตอร์โมเสคสุดท้าย (-5975.8, 81.1)

ฉันเดาว่าโซลูชันนี้ไม่ถูกต้องอย่างน้อยฉันก็ไม่ได้คาดหวังว่าจะได้รับสิ่งนั้น ทุกคนมีความคิดว่าสิ่งนี้ใช้ได้หรือไม่และถ้าไม่เป็นเช่นนั้นจะแก้ไขได้อย่างไรและรับโมเสคแรสเตอร์ที่เหมาะสมด้วยค่าสูงสุดและต่ำสุดที่เหมาะสม

ฉันใช้ ArcGIS 10.2.2 สำหรับเดสก์ท็อป


คุณสามารถบอกเราได้อย่างไรว่าคุณพบสถิติสำหรับ rasters การป้อนข้อมูลและการส่งออก? บางครั้งเพื่อประโยชน์ของประสิทธิภาพ ArcGIS โกงและใช้เพียงส่วนย่อยของข้อมูลเพื่อประเมินสถิติ โดยเฉพาะอย่างยิ่งนี่หมายความว่าอาจเป็นไปได้ว่าการรายงานของ minima และ maxima
whuber

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

2
ฉันสงสัยว่าแท็บ "คุณสมบัติ" กำลังโกง สำหรับข้อมูลเพิ่มเติมเกี่ยวเห็นนี้gis.stackexchange.com/questions/8780
whuber

1
ขอบคุณ ไม่เคยคิดเกี่ยวกับความเป็นไปได้ที่แท็บ 'คุณสมบัติ' กำลังโกง บางทีนี่อาจจะชัดเจนถ้าเรารู้ว่าเหตุผลที่อยู่เบื้องหลัง ArcGIS ให้ค่าที่แตกต่างสำหรับ Streched และค่าที่ไม่ซ้ำใน Symbology สำหรับชั้นแรสเตอร์เดียว ใครจะรู้ว่าทำไม
ทอม

คำตอบ:


10

ดังที่ whuber ได้กล่าวไว้บ่อยครั้งสถิติที่พบในคุณสมบัติแรสเตอร์นั้นบางครั้งก็เป็นค่าประมาณหรือล้าสมัย พวกเขาเป็นคุณสมบัติที่กำหนดไว้ล่วงหน้าที่สามารถทำให้เข้าใจผิดกับค่าแรสเตอร์ที่เกิดขึ้นจริง

คำนวณค่าต่ำสุด / สูงสุดของคุณเองจาก 100% ของข้อมูลจริงโดยใช้อาร์เรย์ NumPy ดูการทำงานกับ NumPy ใน ArcGISและRasterToNumPyArray (arcpy) เช่น:

import arcpy

inrast = r'C:\data\inRaster.tif'
my_array = arcpy.RasterToNumPyArray(inrast)
print((my_array.min(), my_array.max()))

หากคุณมีค่าที่ขาดหายไป (NODATA) จำเป็นต้องมีอาร์เรย์ที่สวมหน้ากากเพื่อให้ได้สถานะที่ถูกต้อง:

import numpy as np
my_array = arcpy.RasterToNumPyArray(inrast)
my_masked_array = np.ma.masked_equal(my_array, arcpy.Raster(inrast).noDataValue)
print((my_masked_array.min(), my_masked_array.max()))

นอกจากนี้คุณไม่จำเป็นต้องใช้ ArcGIS เพื่ออ่าน rasters ในฐานะ NumPy arrays เช่นGDAL หรือ rasterio สามารถทำสิ่งเดียวกันได้


6

ตามคำตอบอื่น ๆ บอกว่าสถิติน่าจะล้าสมัย หากคุณต้องการใช้ ArcGIS ลองใช้เครื่องมือคำนวณสถิติในกล่องเครื่องมือการจัดการข้อมูล สิ่งนี้ควรอัปเดตสถิติสำหรับคุณ

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