Hiểu giá trị tối thiểu và tối đa với khảm sang Raster mới?


14

Tôi phải kết hợp một số trình quét DEM thành một từ nguồn này: http://srtm.csi.cgiar.org/SELMENT/inputCoord.asp , vì vậy tôi sử dụng công cụ khảm cho công cụ Raster mới.

Tôi thiết lập công cụ:

  1. Tôi nhập các trình quét (tất cả từ cùng một nguồn, cùng kích thước và không có hình chiếu);
  2. Thiết lập Loại pixel (điểm nổi 32 bit như trong các trình quét gốc);
  3. Thiết lập kích thước ô như các trình quét gốc;
  4. Số lượng ban nhạc = 1 như các raster ban đầu; Toán tử khảm, tôi đã thực hiện nó với BLEND và MEAN (tôi nhận được kết quả tương tự).

Vấn đề tôi gặp phải là khảm kết quả hiển thị một phạm vi giá trị tối đa và tối thiểu khác với giá trị tối đa và tối thiểu của raster riêng lẻ, ví dụ: raster 1 (-5123.8, 23.25), raster 2 (-5974.6, 40.09), raster 3 (-57770.2, 38), raster 4 (-2534.3, 23.55) và raster khảm cuối cùng (-5975.8, 81.1).

Tôi đoán giải pháp này không đúng, ít nhất tôi không mong đợi có được điều đó. Bất cứ ai cũng có một ý tưởng nếu điều này là ổn, và nếu điều này là không, làm thế nào để giải quyết nó và có được một raster khảm thích hợp với các giá trị tối đa và tối thiểu đúng?

Tôi đang sử dụng ArcGIS 10.2.2 cho Máy tính để bàn.


Bạn có thể cho chúng tôi biết làm thế nào bạn tìm thấy số liệu thống kê cho các raster đầu vào và đầu ra? Đôi khi, vì lợi ích của hiệu quả, ArcGIS gian lận và chỉ sử dụng một tập hợp con của dữ liệu để ước tính số liệu thống kê. Cụ thể, điều này có nghĩa là nó có thể tắt trong báo cáo về cực tiểu và cực đại.
whuber

Cảm ơn vì sự quan tâm của bạn. Tôi nhấp chuột phải vào lớp (cả raster ban đầu và khảm) và nhìn vào Properties. Điều đáng nói là tôi đã kiểm tra để chuyển đổi các giá trị của từng raster trong Symbology từ Streched sang các giá trị Unique và hóa ra rằng nếu tôi chuyển sang các giá trị Streched cho tất cả các lớp, thì nó khớp với giá trị Streched tối thiểu từ một lớp và giá trị Streched tối đa từ giá trị khác, đến giá trị tối thiểu và tối đa mà tôi thấy khi khảm được tạo. Bất cứ ai cũng có thể giải thích cho tôi nếu thủ tục vẫn đúng, và những khác biệt giữa các giá trị Streched và Uniques? Cảm ơn!
tom

2
Tôi nghi ngờ tab "Thuộc tính" là gian lận. Để biết thêm về điều này, xem gis.stackexchange.com/questions/8780 .
whuber

1
Cảm ơn. Không bao giờ nghĩ về khả năng tab 'Thuộc tính' gian lận. Có lẽ điều này có thể được làm rõ nếu chúng ta biết lý do đằng sau ArcGIS đưa ra các giá trị khác nhau cho các giá trị Streched và Unique trong Symbology, cho một lớp raster duy nhất. Bất cứ ai cũng sẽ biết tại sao?
tom

Câu trả lời:


10

Như whuber đã đề cập, thường các số liệu thống kê được tìm thấy trong các thuộc tính raster đôi khi gần đúng hoặc đã lỗi thời. Chúng là các thuộc tính được xác định trước có thể gây hiểu nhầm cho các giá trị raster thực tế.

Tính giá trị tối thiểu / tối đa của riêng bạn từ 100% dữ liệu thực tế bằng cách sử dụng mảng NumPy. Xem Làm việc với NumPy trong ArcGISRasterToNumPyArray (arcpy) . Ví dụ:

import arcpy

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

Nếu bạn có các giá trị bị thiếu (NODATA) thì một mảng bị che là cần thiết để có được số liệu thống kê chính xác:

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()))

Ngoài ra, bạn không cần ArcGIS để đọc các trình quét như các mảng NumPy; ví dụ GDAL hoặc rasterio có thể làm tương tự .


6

Như các trả lời khác nói rằng số liệu thống kê có thể đã lỗi thời. Nếu bạn thích sử dụng ArcGIS, hãy thử công cụ Tính toán thống kê trong hộp công cụ Quản lý dữ liệu. Điều này sẽ cập nhật số liệu thống kê cho bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.