Mengekstraksi peningkatan DEM raster ke tabel atribut vektor di ArcGIS Desktop?

11

Saya punya proyek ArcMap 10 dengan beberapa grup layer. Satu layer adalah DEM raster, grup layer lain adalah sekelompok shapefile vektor (termasuk titik, garis, dan poligon). Klien ingin semua data vektor mengandung nilai Z.

Mengisi tabel atribut untuk data vektor dengan nilai X dan Y cukup mudah tetapi bagaimana cara mengisi nilai Z?

Apakah ada cara saya bisa menggunakan Field Calculator untuk "meraih" nilai ketinggian dari lapisan DEM untuk setiap fitur vektor?

Saya harus menambahkan bahwa kami tidak memiliki lisensi untuk ekstensi 3D Analyst atau Spatial Analyst.

Brad Torr
sumber
tidak dapat dilakukan di ArcGIS tanpa analis 3D (atau analis spasial). Bahkan jika Anda memiliki akses ke Analis 3D, Anda hanya dapat melakukan itu untuk titik dan polyline asalkan ini adalah kontur ketinggian dengan nilai ketinggian yang sama. Alat Bentuk Interpolasi akan membuat fitur 3D tetapi ini akan memiliki ketinggian yang bervariasi. Anda tidak bisa dengan mudah mengubah info itu menjadi atribut nilai Z kecuali fitur tersebut memiliki elevasi rata yang sempurna. Mengubah segalanya menjadi poin kemudian menginterpolasi Shape dan menghitung XYZ akan berhasil.
Jakub Sisak GeoGraphics

Jawaban:

15

Di ArcGIS, saya hanya pernah melakukan ini dengan vektor titik — saya tidak yakin bagaimana Anda akan melakukannya dengan poligon atau fitur garis. Sayangnya Anda memang membutuhkan Spatial Analyst. Ada alat di Spatial Analyst Tools \ Extraction \ Extract Multi Values ​​to Points dan Extract Values ​​to Points . Ekstrak Multi Nilai ke Poin lebih baik karena memungkinkan Anda mengubah nama nama bidang z tempat Anda mengekstraksi nilai Anda — Ekstrak Nilai ke Poin tidak memungkinkan Anda melakukan ini. Saya mengalami kesulitan melakukan ini di ArcMap (alat crash), tetapi berfungsi dengan baik di ArcCatalog.

Ekstensi Hawths Analysis Tools (gratis) untuk ArcMap memiliki Intersect Point Tool tetapi pengembangan ekstensi dihentikan beberapa tahun yang lalu. Ini telah digantikan oleh Lingkungan Pemodelan Geospasial , yang saya tidak pernah gunakan.

SAGA-GIS (perangkat lunak mandiri gratis) memiliki dua fungsi di Shapes - Grid \ Tambahkan Nilai Grid ke Poin dan Bentuk - Grid \ Tambahkan Nilai Grid ke Bentuk yang mungkin dapat melakukan apa yang Anda inginkan. Ini adalah deskripsi alat Add Grid Values ​​to Shapes:

Penggabungan Spasial: Mengambil informasi dari kisi-kisi yang dipilih pada posisi bentuk-bentuk lapisan bentuk yang dipilih dan menambahkannya ke lapisan bentuk yang dihasilkan. Untuk poin, ini mirip dengan modul 'Tambahkan Nilai Grid ke Poin'. Untuk garis dan poligon, nilai rata-rata akan dihitung dari sel kisi yang mengganggu. Untuk poligon, modul 'Statistik Kotak untuk Poligon' menawarkan opsi lebih lanjut.

SAGA adalah taruhan terbaik Anda, menurut saya.

Semoga ini membantu!

hendra
sumber
2
Geospatial Modeling Environment memiliki alat berikut yang dapat melakukan trik: 1) isectpolyrst (Intersect Polygons With Raster) 2) isectlinerst (Intersect Lines With Raster) 3) isectpntrst (Intersect Points With Raster). Alat-alat ini bisa sedikit tempermental di kali, namun mereka akan menyelesaikan pekerjaan.
Aaron
Perhatikan bahwa Lingkungan Pemodelan Geospasial hanya kompatibel dengan ArcGIS 10.3 dan di bawahnya
Tung
1

Saya belum mencoba ini untuk poligon tetapi berfungsi sangat baik untuk poin. Di Arcmap 10 jika Anda memiliki akses ke alat analis 3d, Anda dapat mencari Tool Interpolate Shape Kemudian Anda memilih file raster Anda dan layer vektor Anda menyesuaikan nilai z jika Anda ingin ketinggian kaki dan DEM Anda dalam meter dan biarkan berjalan . Setelah selesai Anda kemudian mencari alat ADD XY dan pilih layer yang baru dibuat dan kemudian akan menghitung nilai X, Y, Z Anda di tabel atribut layer tersebut.

Pete
sumber
0

mungkin Anda bisa menggunakan gdallocationinfo untuk mengembalikan semua nilai Z dengan meneruskannya nilai X, Y. setelah Anda memiliki nilai Z gunakan kalkulator feild untuk menambahkan nilai Z ke titik-titik yang membentuk setiap fitur. Akan ada beberapa skrip yang terlibat tetapi secara teori ini harus berhasil.

dango
sumber
0

Bergantung pada unit Anda atau resolusi yang diperlukan, Anda selalu dapat mengekspor raster DEM ke bentuk poligon, langsung dari kotak peralatan, dan kemudian melakukan penggabungan spasial - ini paling mudah untuk poin. Jika Anda membutuhkan nilai Z untuk garis atau poligon, Anda jelas membutuhkan segmen atau subdivisi poligon yang ditentukan pada setiap perubahan ketinggian seperti yang dilaporkan oleh kisi DEM vektor. Itu dapat dilakukan melalui alat geoproses standar dan gabungan spasial, tetapi Anda harus memperhatikan persyaratan resolusi Anda dan jumlah pemrosesan yang akan dikonsumsi oleh dataset besar.

Warren
sumber
0

Saya sarankan untuk mendapatkan lisensi Analis 3D dan menggunakan Add Surface Information . Atau, gunakan Bentuk Interpolasi diikuti oleh Tambah Informasi Z, yang memungkinkan beberapa fitur untuk mengembalikan nilai-nilai NA tanpa merusak seluruh program. Kalau tidak, ada dua metode gratis terbukti yang membutuhkan lebih banyak kerja keras. Dimungkinkan untuk menerapkan ini dari dalam QGIS , sehingga Anda tidak harus meninggalkan lingkungan GIS yang nyaman.

Adam Erickson
sumber
0

Alat ESRI yang ingin Anda gunakan adalah "Tambahkan Informasi Z". Mungkin Anda bisa mendapatkan percobaan dan melihat apakah alat tersebut dapat digunakan lebih lanjut untuk Anda. Jika mendapatkan ekstensi 3D Analyst bukanlah suatu pilihan, satu-satunya hal yang terlintas dalam pikiran (selain solusi pemrograman) adalah mengeluarkan data Anda dari ESRI dan menggunakan salah satu opsi gratis seperti SAGA-GIS / qGIS "Tambah Grid mereka" Nilai untuk Bentuk "atau" Statistik Kotak untuk Poligon "tidak sefleksibel ESRI tetapi melakukan hal yang sama jika Anda mencari ketinggian rata-rata di sepanjang poligon / garis.

pengguna67765
sumber
-1

Saya tahu bagaimana melakukan ini untuk poin. Garis dan poligon berbeda karena melintasi beberapa sel kisi DEM. Anda bisa membuat poin di sepanjang garis atau sesuatu seperti itu dan mengekstrak nilai untuk itu. Di Arc, Anda membutuhkan analis spasial untuk mendapatkan nilai, tetapi Anda bisa mendapatkannya melalui Qgis (gratis), meskipun tidak berguna. Anda harus mahir bekerja dengan file excel dan mengonversinya bolak-balik dari shapefile. Qgis akan menghasilkan shapefile yang hanya memiliki elevasi titik yang diekstraksi, jadi Anda harus menyalin dan menempelkannya ke tabel asli Anda sebagai file excel (dengan nilai X, Y, sehingga Anda dapat membuatnya kembali ke shapefile dengan "tampilkan x, data y" ". Anda harus melacak proyeksi Anda untuk memastikan memilih yang benar ketika mengonversi kembali ke shapefile.

Michael
sumber
Saat menjawab pertanyaan, harap spesifik alih-alih menunjuk ke arah yang berbeda. mis. pengguna membutuhkan jawaban dalam ArcGIS (bukan QGIS).
Farid Cheraghi