Quy tắc của giá trị Nodata?


9

Các quy tắc số học chi phối các giá trị Nodata là gì? Bất kể các giá trị null được định nghĩa như thế nào? Tôi đang sử dụng ArcMap Raster Calculator.

Tôi đang nghĩ cụ thể về các hoạt động như 1 * Nodata (hoặc 1 * null), 1 / Nodata, 1 + Nodata, 1-Nodata, Nodata-1 v.v ...


3
tế bào nodata được bỏ qua, tuy nhiên, bạn cần phải kiểm tra các hoạt động cụ thể để xác nhận, ví dụ Divide bỏ qua các ô nodata, xem resources.arcgis.com/en/help/main/10.2/index.html#//...

3
Tôi chỉ cần thêm rằng đối với bất kỳ hoạt động toán học nào liên quan đến toán hạng với NoData, kết quả sẽ luôn là NoData, ngay cả khi các toán hạng khác có giá trị hợp lệ.
WhiteboxDev

có thể đáng lưu ý rằng có một số loại tế bào nốt có thể được "điền vào" bằng cách sử dụng một số phương pháp nội suy. Điều này đặc biệt hữu ích khi một trong các trình quét của bạn có một số đốm trong đó nhưng các trình quét khác của bạn sạch sẽ.
1269942

Xin chào Whitebox, tôi thực sự có thể nghĩ về một vài thao tác mà bạn tuyên bố có thể không hoàn toàn chính xác 100% (ví dụ về vùng lân cận trên một ô NoData chẳng hạn). Tất nhiên, như bạn nêu những điều này có thể không được coi là toán tử thuần túy nhưng tôi nghĩ nó đáng để nhận xét.
Nếu bạn không biết - chỉ cần GIS

Câu trả lời:


4

Được rồi, không ai đưa ra câu trả lời cho câu hỏi này vì vậy tôi nghĩ rằng tôi đã đồng ý. Tôi nghi ngờ rằng tất cả các hệ thống cung cấp hỗ trợ cho giá trị NoData đều thực hiện theo cách chính xác như vậy. Mỗi thao tác toán học được áp dụng cho hình ảnh raster sẽ tìm trường hợp đặc biệt của các ô lưới chứa các giá trị NoData và sau đó thực hiện một đường dẫn bỏ qua hoạt động một cách hiệu quả và đưa ra giá trị NoData cho ô lưới tương ứng trong hình ảnh đầu ra . Dưới đây là một ví dụ được lấy từ công cụ Thêm trong GAT GIS Whitebox nguồn mở:

nhập mô tả hình ảnh ở đây

Ngẫu nhiên, đây là mã cũng được thực thi nếu bạn thêm hai hình ảnh vào Máy tính Raster của Whitebox. Trong Whitebox, mỗi raster có thể có một giá trị NoData duy nhất vì nó được chỉ định trong tệp tiêu đề của raster. Như vậy, nó không nhất thiết giống nhau cho cả hai hình ảnh được thêm vào và đó là lý do tại sao bạn thấy các biến noData1 và noData2 được xác định trong mã ở trên. Điều quan trọng, bạn sẽ thấy rằng khi các vòng lặp mã qua từng ô lưới trong ngăn xếp raster, nó sẽ trả về hai giá trị trong các hình ảnh đầu vào tương ứng cho một ô (z1 và z2), sau đó kiểm tra xem cả hai không bằng NoData . Do đó, việc bổ sung chỉ xảy ra nếu cả hai raster chứa một giá trị hợp lệ trong các đầu vào. Nếu đây không phải là trường hợp, không có gì được nhập vào ô lưới đầu ra. Trong thực tế, hình ảnh đầu ra đã được tạo và khởi tạo với giá trị NoData của riêng nó, do đó, bằng cách không nhập giá trị gia tăng cho ô lưới (vì ít nhất một trong các đầu vào là NoData), đầu ra cũng sẽ có giá trị NoData. Các hoạt động tương tự diễn ra cho từng hoạt động toán học và trên thực tế, hầu hết các công cụ liên quan đến bộ dữ liệu raster đầu vào sẽ tuân theo cách tiếp cận tương tự để xử lý trường hợp đặc biệt của các giá trị NoData. Hai trường hợp ngoại lệ phổ biến cho quy tắc này là các hoạt động tạo ra giá trị NoData cho các đầu vào NoData được tìm thấy trong hầu hết các hệ thống GIS trongConSet công cụ Null . Công cụ Con của ArcGIS tuyên bố: "Nếu NoData không thỏa mãn thì nó không nhận được giá trị của và nó vẫn là NoData." Do đó, nếu 'NoData' là một phần của câu lệnh có điều kiện và một ô lưới có giá trị này giảm xuống 'TRUE', thì giá trị không phải là NoData có thể được xuất ra. Tương tự, công cụ Set Null thực sự sẽ xuất giá trị không phải NoData cho các ô nhập có chứa NoData.

Tôi hy vọng điều đó sẽ giúp bạn hiểu được hoạt động của giá trị NoData bí ẩn đó. Và hãy nhớ số 0 không giống với NoData! (Tất nhiên trừ khi số 0 đã được gắn thẻ là giá trị NoData cho một raster cụ thể).


3

Mỗi ví dụ của bạn câu trả lời thực sự là NoData

1 * Nodata (hoặc 1 * null) = NoData

1 / Nodata = NoData

1 + Nodata = NoData

1-Nodata = NoData

Nodata-1 = NoData

Tôi nên thêm rằng nhiều hoạt động cung cấp cho bạn tùy chọn "bỏ qua" NoData trong một chức năng.

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.