Jawaban:
Raster disimpan dalam format floating point sebagai nilai individual di setiap sel; oleh karena itu tidak memiliki tabel atribut. Solusi yang efektif adalah dengan mendiskritasikan nilai-nilai dan mengubahnya menjadi format integer. Ini menciptakan tabel atribut yang, ketika diplot, akan menghasilkan histogram. Jumlah kumulatifnya adalah kurva hipsometrik.
Tampilan kurva hipsometrik (dalam bentuk CDF) untuk sampel DEM ini (sebagian dari Illinois tersedia di http://exampledata.wolfram.com/ArcGRID.zip ) bervariasi sesuai dengan kehalusan diskritisasi nilai. Gambar berikut menggunakan nampan masing-masing 5, 1, dan 1/5 meter. Seperti yang Anda lihat, seseorang dapat memperoleh kurva yang tepat menggunakan nampan kasar sedang.
Mendiskritisasi kisi melibatkan dua operasi yang dapat dilakukan dalam satu langkah: dibagi dengan lebar dan potong trunk (atau bulat, jika Anda mau). Sebagai contoh, ketinggian dalam meter dapat didiskritisasi menjadi kenaikan 0,1 meter melalui pembagian dengan 0,1 diikuti dengan pemotongan, seperti pada
Int( [elevation] / 0.1 )
Sintaks ini, atau sesuatu yang sangat dekat dengannya, akan digunakan di hampir semua versi ArcGIS (dan di banyak GIS raster lainnya juga).
Saya biasanya menggunakan R untuk ini. Anda dapat membaca set data raster GDAL menggunakan rgdal
(dari CRAN), kemudian membangun distribusi kumulatif empiris untuk nilai ketinggian menggunakan ecdf
(built-in).
Sebagai contoh, saya memiliki DEM saya di file GeoTIFF, di R gunakan:
library(rgdal)
topo <- readGDAL("mytoporaster.tif")
plot(ecdf(topo$band1), main="Hypsometric curve", xlab="Elevation (m)")
Lihat juga tutorialnya di Carleton .
Saya menemukan makalah ini yang berbicara tentang ekstensi 9.x ArcGIS.
Ekstensi dengan data sampel disediakan di lokasi unduhan ini .
Sebagai catatan ekstensi bekerja di ArcGIS 10.4.1.
Floor
fungsi, karena beberapaInt
implementasi memotong ke arah 0 daripada ke bawah, yang akan menggandakan lebar bin yang berisi 0 (hasil yang tidak diinginkan).