Saya baru-baru ini bekerja pada sebuah proyek yang melibatkan menurunkan sumbu medial (berbeda dari garis tengah, tetapi serupa) dari fitur aliran dengan menggunakan fitur bank aliran polyline diekstraksi dari citra beresolusi tinggi. Penting bagi kami untuk membuat perbedaan untuk tujuan kami, karena sumbu medial akan digunakan untuk generasi ortogonal, dan dengan demikian perlu menjadi pusat generalisasi fitur aliran kami dan bukan bagian tengah sungai yang tepat.
Metode yang akhirnya kami gunakan adalah skrip python yang mengambil dua fitur polyline kami, menambahkan verteces pada interval yang diberikan (~ 5m), dan kemudian di-loop melalui setiap vertex dalam satu polyline, dan mencari vertex terdekat di polyline lainnya. Ada beberapa situasi khusus yang ditangani secara berbeda (tikungan ekstrem di arus yang akan menemukan titik dekat lebih dekat daripada yang sesuai yang sebenarnya di tepi yang berlawanan), tapi saya tidak menulis kode sehingga saya harus mendapatkannya untuk memahami apa yang sebenarnya terjadi.
Sebelum kami memutuskan metode kami, orang yang mengerjakan skrip bermain-main dengan beberapa alternatif dan menggunakan Alokasi Euclidean menggunakan polyline bank sebagai input, dan kemudian membuat kontur dari raster yang dihasilkan. Itu adalah cara yang brilian untuk mendapatkan garis tengah, tetapi bukan yang kami cari. Ini mungkin bekerja untuk Anda.
Anda harus meluangkan waktu untuk memikirkan apa yang akan Anda gunakan dengan garis tengah, dan jika Anda harus mencari garis tengah atau poros medial umum.