Lebih

Membangun tabel atribut dalam raster 3-band menggunakan ArcGIS Desktop?


Saya memiliki file raster 3-band (RGB) dari CORINE dan tabel atribut belum dibuat. Ketika saya mencoba menjalankan perintah BuildRasterAttributeTable saya mendapatkan kesalahan bahwa hanya raster band tunggal yang diizinkan. Apa yang harus saya lakukan untuk mendapatkan atribut dengan penggunaan lahan?

Pesan eror:

ERROR 000423 Hanya dataset raster integer pita tunggal yang merupakan input yang valid


Seperti yang dinyatakan oleh pesan kesalahan, Anda tidak dapat memiliki tabel atribut untuk raster multi-band. Atribut akan terikat pada kombinasi dari ketiga band, bukan hanya satu nilai. Saya juga akan menunjukkan bahwa raster harus memiliki nilai integer - float atau double tidak akan berfungsi. Hati-hati dengan tipe data input (mungkin harus dikonversi) dan pilihan apa pun yang dibuat selama proses menambahkan atau mengekspor.

Solusi ideal adalah menemukan data CORINE asli. Ini harus berupa raster pita tunggal di mana setiap sel memiliki nilai numerik yang sesuai dengan jenis tutupan lahan - misalnya 2, 15, atau 7. Mungkin akan sudah memiliki tabel atribut dan menyertakan atribut deskripsi beserta nilainya.

Anda memiliki RGB konversi raster itu melalui render. Warna ditugaskan untuk setiap kelas dan and warna, bukan kelas, disimpan dalam raster RGB. Alih-alih satu sel dengan nilai 15, sekarang ada satu sel di masing-masing dari tiga pita yang mewakili jumlah warna dari pita itu. 255 R, 0 G, 0 B gabungan menjadi piksel merah. Untuk kembali ke raster band tunggal, Anda harus menggabungkan ketiga band. Sayangnya dengan RGB, Anda tidak bisa begitu saja menambahkannya bersama-sama dan mendapatkan nilai unik yang sebenarnya.255, 0, 0(merah) dan0, 0, 255(biru) keduanya berjumlah 255. Jika mengonversi ke skala abu-abu, Anda dapat mengambil rata-rata dari tiga nilai dan mendapatkan nilai rata-rata untuk digunakan sebagai kecerahan, tetapi dalam kasus ini Anda memerlukan warna kategori unik dan legenda yang memberi tahu Anda kelas apa setiap warna adalah.

Peringatan: Selalu buat salinan cadangan sebelum memproses raster jika terjadi kesalahan. Ada dua potensi masalah dengan raster Anda di salah satu solusi berikut. Pertama, jika ada batas warna yang berbeda antara kelas tutupan lahan di RGB Anda, piksel tersebut akan memiliki nilai warna uniknya sendiri yang tidak termasuk dalam kelas. Kedua, jika RGB memiliki format yang memungkinkan dan disimpan dengan rugi kompresi (seperti jpg) mungkin ada artefak nilai yang parah di perbatasan antar kelas. Misalnya tiga piksel yang tampak merah (255, 0, 0) benar-benar menjadi254, 2, 0,255, 10, 1, atau253, 0, 0(ini adalah terutama penting dalam metode kedua di bawah). Di mana warna yang sangat berbeda bertemu, Anda bisa mendapatkan nilai warna yang sangat berbeda - misalnya piksel ungu di dekat batas merah/biru. Ini akan membutuhkan pembersihan ekstensif atau metode lain yang tidak tercakup oleh jawaban ini.

Metode satu adalah menambahkan pita RGB secara terpisah (tidak sekaligus, atau gabungan, dengan menambahkan nama file, tetapi masuk ke nama file dan menambahkan pita individual) ke ArcMap dan memeriksanya. Sementara semua akan ditampilkan dalam skala abu-abu, Anda mungkin menemukan satu pita di mana semua kelas mudah dikenali (artinya untuk pita warna itu, setiap kelas memiliki nilai yang cukup berbeda). Jika demikian, Anda dapat mengklik kanan pita itu dan Data > Ekspor ke raster terpisah, lalu jalankan Reklasifikasi untuk mengubah nilai menjadi sesuatu yang lebih logis seperti nilai yang lebih kecil dan berurutan. Namun mungkin saja dalam satu pita dua kelas yang berbeda akan memiliki nilai yang sama - misalnya cyan dan kuning memiliki nilai hijau 255, sehingga warna/kelas tersebut tidak dapat dibedakan dalam pita hijau. Kamu bisa periksa dan ekspor semua pita, jalankan Reklasifikasi untuk mendapatkan yang dapat Anda ID di masing-masing pita, lalu tambahkan semua hasil bersama dengan Kalkulator Raster untuk akhirnya sampai pada satu raster kelas.

Metode dua menggunakan beberapa pemrosesan dengan Kalkulator Raster. Mulailah dengan menambahkan setiap band secara terpisah seperti di atas dan mengekspornya ke raster mereka sendiri. Ambil pita merah pada gambar Anda dan kalikan nilainya dengan 1.000.000. Kemudian ambil pita hijau Anda dan kalikan dengan 1.000. Sekarang Anda dapat menambahkan ketiga pita menjadi satu. Sebelumnya piksel merah akan menghasilkan 255. Sekarang akan menghasilkan 255.000.000. Ini adalah salah satu cara untuk menggabungkan angka menjadi nilai unik yang masing-masing mewakili warna. Secara teori setiap kelas tutupan lahan Anda akan memiliki nilai unik yang sama. Sekali lagi, Anda menggunakan Reclassify untuk mengubah nilai menjadi sesuatu yang lebih sederhana.

Metode tiga menggunakan bilah alat Klasifikasi Gambar (yang mungkin perlu Anda tambahkan - Sesuaikan > Bilah Alat). Pada bilah alat, pilih tombol kedua dari kanan - Gambar Poligon. Sekarang gambarlah sebuah bentuk yang mencakup beberapa piksel yang pasti berada dalam satu kelas (misalnya, di tengah wilayah tertentu). Lakukan ini untuk setiap warna/kelas di RGB Anda. Kemudian klik tombol paling kiri pada toolbar, Classification, dan pilih opsi pertama - Interactive Supervised Classification. Atau, tanpa menggambar kotak dan jika Anda tahu berapa banyak kelas yang Anda miliki (ditambah satu untuk area tanpa data), Anda dapat mencoba Klasifikasi Tanpa Pengawasan Cluster Iso terlebih dahulu. Anda harus berakhir dengan sementara, single band, raster diklasifikasikan yang kemudian dapat Anda klik kanan dan ekspor.

Hasil dari salah satu dari ketiga metode ini akan cocok untuk membangun tabel atribut raster. Perhatikan solusi ini hanya akan pulih kategoris atau data kelas tematik. Nilai asli dari data yang diklasifikasikan menjadi rentang atau bahkan nilai unik seperti DEM tidak dapat dipulihkan.