Aturan nilai Nodata?

9

Apa aturan aritmatika yang mengatur nilai Nodata? Terlepas dari bagaimana nilai-nilai nol ini didefinisikan? Saya menggunakan ArcMap Raster Calculator.

Saya berpikir secara khusus tentang operasi seperti 1 * Nodata (atau 1 * null), 1 / Nodata, 1 + Nodata, 1-Nodata, Nodata-1 dll ...

pengguna32882
sumber
3
sel nodata diabaikan, namun, Anda perlu memeriksa operasi spesifik untuk mengonfirmasi, misalnya Membagi mengabaikan sel nodata, lihat resources.arcgis.com/en/help/main/10.2/index.html#//…
3
Saya hanya menambahkan bahwa untuk operasi matematika apa pun yang melibatkan operan dengan NoData, hasilnya akan selalu NoData, bahkan jika operan lain memiliki nilai yang valid.
WhiteboxDev
mungkin bermanfaat untuk dicatat bahwa ada beberapa jenis sel nodata yang dapat "diisi" dengan menggunakan beberapa metode interpolasi. ini sangat berguna ketika salah satu raster Anda memiliki beberapa bintik di dalamnya tetapi raster lainnya bersih.
user1269942
Halo Whitebox, saya benar-benar dapat memikirkan beberapa operasi jika Anda pernyataan mungkin tidak 100% benar (lingkungan berarti pada sel NoData misalnya). Tentu saja, seperti yang Anda sebutkan ini mungkin tidak dianggap sebagai operator matematis murni tapi saya pikir itu layak untuk dikomentari.
Jika Anda tidak tahu- hanya GIS

Jawaban:

4

Oke, belum ada yang memberikan jawaban untuk pertanyaan ini jadi saya pikir saya akan berpadu. Saya menduga bahwa semua GIS yang memberikan dukungan untuk nilai NoData melakukannya dengan cara yang persis sama. Setiap operasi matematika yang diterapkan pada gambar raster mencari kasus khusus sel kisi yang berisi nilai-nilai NoData dan kemudian mengeksekusi jalur yang secara efektif mengabaikan operasi dan menghasilkan nilai NoData untuk sel grid yang sesuai pada gambar output . Berikut ini contoh yang diambil dari alat Tambah di open-source GIS Whitebox GAT:

masukkan deskripsi gambar di sini

Kebetulan, ini adalah kode yang juga dijalankan jika Anda menambahkan dua gambar di Kalkulator Raster Whitebox. Di Whitebox, setiap raster dapat memiliki nilai NoData yang unik karena ditentukan dalam file header raster. Dengan demikian, itu tidak harus sama untuk kedua gambar yang ditambahkan dan itu sebabnya Anda melihat variabel noData1 dan noData2 didefinisikan dalam kode di atas. Yang penting, Anda akan melihat bahwa ketika kode melewati setiap sel kisi di tumpukan raster, kode akan mengambil dua nilai dalam gambar input yang sesuai untuk sel (z1 dan z2), lalu memeriksa untuk melihat bahwa keduanya tidak sama dengan NoData . Dengan demikian, penambahan hanya terjadi jika kedua raster mengandung nilai yang valid dalam input. Jika ini bukan masalahnya, tidak ada yang dimasukkan ke dalam sel kisi keluaran. Bahkan, gambar output dibuat dan diinisialisasi dengan nilai NoData-nya sendiri, jadi dengan tidak memasukkan nilai tambah untuk sel kisi (karena setidaknya salah satu input adalah NoData) output akan memiliki nilai NoData juga. Operasi serupa terjadi untuk masing-masing operasi matematika dan pada kenyataannya sebagian besar alat yang melibatkan dataset raster input akan mengikuti pendekatan yang sama untuk menangani kasus khusus nilai-nilai NoData. Dua pengecualian umum untuk aturan ini bahwa operasi menghasilkan nilai NoData untuk input NoData ditemukan di sebagian besar SIG diAlat Con dan Set Null . Alat Con dari ArcGIS menyatakan, "Jika NoData tidak memenuhi, itu tidak menerima nilai dari, dan itu tetap NoData." Jadi, jika 'NoData' adalah bagian dari pernyataan kondisional dan sel kisi dengan nilai ini dikurangi menjadi 'BENAR', nilai non-NoData dapat dihasilkan. Demikian pula, alat Set Null sebenarnya akan menampilkan nilai non-NoData untuk sel input yang mengandung NoData.

Saya harap ini membantu Anda untuk memahami cara kerja nilai NoData yang misterius itu. Dan ingat nol tidak sama dengan NoData! (Kecuali tentu saja nol telah ditandai sebagai nilai NoData untuk raster tertentu).

WhiteboxDev
sumber
3

Masing-masing dari contoh Anda jawabannya adalah NoData

1 * Nodata (atau 1 * null) = NoData

1 / Nodata = NoData

1 + Nodata = NoData

1-Nodata = NoData

Nodata-1 = NoData

Saya harus menambahkan bahwa banyak operasi memberi Anda opsi untuk "melewati" NoData dalam suatu fungsi.

Jika Anda tidak tahu- hanya GIS
sumber