Saya punya DEM 1x1 meter dan cloud titik LiDAR asli di .las, yang terbuat dari DEM. Saya perlu mengekstrak tanggul sungai (titik tertinggi tanggul) ke fitur vektor (titik, polyline).
Adakah gagasan untuk algoritme atau alat yang ada?
Tanggul berwarna abu-abu terang pada gambar 1 dan di bawah ini adalah citra cloud titik untuk area contoh dengan tanggul. Garis tengah sungai berwarna biru.
Adakah alat untuk ekstraksi fitur linear dari DEM?
Saya percaya saya perlu sesuatu seperti Modul Ekstraksi Fitur Spasial ENVI (halaman 7), tetapi tanpa bagian ENVI, karena saya tidak mampu membelinya :)
Jawaban:
Itu semua tergantung di mana Anda menggambar garis. Apapun, masalah ini sepertinya dapat diatasi dengan menggunakan fungsi morfologis yang tersedia di Spatial Analyst, terutama thresholding (dilakukan dengan "<" dan ">" operasi lokal) dan "RegionGroup" untuk mengidentifikasi dan mengekstrak komponen.
Meskipun saya tidak memiliki akses ke DEM untuk diilustrasikan, gambar pertama hampir cukup baik untuk melakukan pekerjaan itu. Sebagai contoh, berikut adalah urutan versi regional dari grup pita merah (dengan nilai diskalakan dari 0,0 = hitam menjadi 1,0 = putih), mulai dari ambang 0 dan bergerak dari kiri ke kanan, atas ke bawah, dengan peningkatan 0,02:
(Gambar-gambar ini menyusut untuk reproduksi di sini: semua analisis dilakukan pada resolusi gambar asli.)
Tanggul muncul di sekitar batas wilayah hitam pada awal baris kedua (ambang = 0,08). Pada awal baris ketiga (ambang = 0,16) tanggul membentuk komponen mereka sendiri (berwarna biru gelap) dan pada saat itu dapat dengan mudah diekstraksi sebagai kisi atau poligon terpisah (dan batasnya dapat diekstraksi sebagai polyline setelah langkah deteksi tepi) ). Hanya tanggul terluas yang tersisa di baris terakhir (ambang = 0,24 dan lebih tinggi). Anda harus memilih ambang yang sesuai untuk mendapatkan apa yang Anda inginkan.
Dalam DEM asli, peningkatan memainkan peran intensitas, sehingga prosedur ini harus sama efektifnya dengan DEM itu sendiri. Jika DEM memiliki jangkauan yang luas (termasuk fitur yang jauh dari sungai atau tanggul), fitur yang relevan dapat dipilih sebagai yang berdekatan dengan komponen di mana fitur sungai berada.
Daerah tipis yang tidak diinginkan yang ditemukan oleh RegionGroup dapat dihilangkan dengan menerapkan erosi kecil (penyangga negatif) diikuti dengan pelebaran setara (penyangga positif). Wilayah kecil yang tidak diinginkan dapat dikecualikan pada kriteria ukuran (jumlah sel total atau area). Poin tertinggi pada setiap tanggul (jika itu yang benar-benar dibutuhkan) dapat ditemukan dengan membandingkan DEM dengan zonal grid maksimum (menggunakan tanggul sebagai zona).
Kebetulan, urutan gambar ini diproduksi di Mathematica 8. Berikut adalah perintah untuk mereka yang mungkin ingin mengejar opsi ini.
Total waktu jam (setelah mengimpor gambar) adalah 0,94 detik, di mana setengahnya diperlukan untuk mengecilkan dan mengekspor semua 16 gambar: operasi morfologis cenderung cepat (yang baik, karena DEM LIDAR bisa sangat besar).
sumber
Saya membaca tentang berbagai algoritma untuk pekerjaan (mis. Sesuai tautan @Hornbydds ).
Saya mencoba beberapa aplikasi, dan hasil terbaik dalam kasus saya menghasilkan Analisis Terrain Standar dari SAGA. Inilah yang saya lakukan dan mengapa:
Tanggul biasanya merupakan fitur tertinggi di sekitar saluran sungai, jadi saya mengubahnya menjadi saluran dengan membalik DEM (MapAlgebra DEM * -1 atau untuk kemiringan berlebih -10). Dari titik ini saya bisa menggunakan set alat hidrologi (ArcHydro, HEC-GeoRas atau SAGA hydro tools). Saya memilih SAGA / Analisis Medan-analisis senyawa / Analisis Terrain Standar karena menghasilkan Jaringan Sungai dengan beberapa klik. Sungai Jaringan adalah apa yang ingin saya capai, karena menghasilkan polyline, yang menunjukkan rute terbaik untuk aliran air, yang dalam kasus tanggul terbalik - memberikan titik tertinggi mereka.
File bentuk yang dihasilkan sedikit berantakan (banyak polyline yang lebih kecil), tetapi setelah beberapa hasil penyesuaian memuaskan. Gangguan lain adalah bahwa 1 tanggul terbuat dari 300 polyline pendek, tapi saya pikir saya akan menemukan cara untuk menangani ini.
Berikut ini contoh hasil:
Tentu saja ini solusi yang cukup kasar dan saya mungkin akan menyelidiki masalah ini lebih lanjut, tetapi saya pikir nilainya untuk dibagikan.
sumber
Beberapa kombinasi berikut ini dengan DEM asli akan membantu menyoroti informasi raster yang Anda inginkan, dan membuang sisanya. Ini dapat dilakukan pada skala yang berbeda dan ukuran lingkungan untuk menyempurnakan efeknya.
Setelah melakukan ini, reklasifikasi dan kontur harus memberikan garis besar tanggul itu sendiri dengan cukup baik. Jika tanggul miring datar dan Anda menginginkan cakupan yang lebih luas, Anda juga dapat mencoba sesuatu seperti jumlah kelengkungan dan kemiringan, diskalakan dengan jumlah tertentu, atau bahkan melakukan kontur kemiringan secara terpisah dan menyatukannya bersama.
Berikut adalah tutorial tentang mengekstraksi ridgeline vektor dari DEM raster menggunakan Spatial Analyst, yang seharusnya sangat dapat diterapkan:
sumber
Saya pikir ini mungkin hanya menjadi bagian dari jawaban tetapi mungkin Anda bisa mulai dengan membuat kontur / poligon dari gambar Anda pada interval yang diberikan / berdasarkan nilai ketinggian. Saya berpikir bahwa tanggul harus memiliki nilai ketinggian yang lebih tinggi dan karenanya jika dikonversi Anda DEM menjadi poligon Anda mungkin menemukan bahwa area yang Anda minati diwakili oleh poligon centain. Anda juga bisa mulai dengan hanya mengklasifikasi ulang DEM dan melihat apakah itu menghasilkan hasil yang Anda inginkan. Jika Anda memiliki data gambar lain yang mencakup area yang Anda tertarik coba tambahkan ke klasifikasi gambar Anda dan lihat apakah itu membantu. Semoga berhasil!!
sumber