Saya ingin mendapatkan saran tentang cara paling efisien untuk mengembalikan daftar nilai unik dari raster bernilai diskrit menggunakan Python dan GDAL.
Saya telah berpikir bahwa cara yang paling jelas adalah dengan memeriksa tabel atribut raster, tetapi jika saya lakukan band.GetDefaultRAT()
pada band dataset raster yang berisi tabel atribut (toh tabel tersebut terlihat di ArcCatalog), hasilnya selalu None
:
>>> rat = band.GetDefaultRAT()
>>> rat == None
True
Dalam hal itu, saya akhirnya harus memindai setiap sel raster dan membuat daftar nilai unik secara manual. Apakah ini satu-satunya cara untuk melakukannya?
Atau adakah cara untuk membangun tabel atribut dengan Python dan GDAL, kemudian meminta untuk daftar nilai unik?
python
gdal
attribute-table
hendra
sumber
sumber
Jawaban:
Jika saya mengerti dengan benar, Anda dapat menggunakan fungsi np.unique dari numpy lib:
atau Anda dapat memotretnya satu kali:
sumber
band.ReadAsArray()
dalamnp.array
panggilan? Bukankah sudah mengembalikan array numpy?