Saya menghadapi dilema ketika mencoba menggunakan v.generalisasi untuk menyederhanakan poligon yang ukuran dan strukturnya serupa dengan Negara atau Negara Bagian AS. Seringkali, saya kehilangan poligon dari kumpulan data setelah menjalankan metode penyederhanaan atau penghalusannya. Yang mengganggu saya adalah sepertinya tidak ada pola yang konsisten untuk perilaku ini. Dalam beberapa kasus, serangkaian perintah yang sama diterapkan pada set data yang berbeda menyebabkan hasil yang sama sekali berbeda. Akibatnya, saya tidak dapat mengembangkan alur kerja yang dapat diulang dan dengan enggan mulai mencari alat penyederhanaan lain yang mempertahankan topololgy. Berikut ini sebuah contoh:
# LOAD AND CLEAN
v.in.ogr dsn=counties.shp output=county
v.build.polylines input=county output=county_polylines
v.clean input=county_polylines output=county_clean tool=bpol,rmdupl type=boundary
# SMOOTH AND GENERALIZE
v.generalize input=county_clean output=county_smooth method=sliding_averaging look_ahead=7 slide=1
v.generalize input=county_smooth output=county_general method=douglas threshold=.005
Setiap langkah v. Generalisasi menghasilkan beberapa poligon menghilang. Saya ingin mengerti mengapa ini terjadi. Apakah karena fitur yang dimuat ke memori tidak cukup? Apakah parameter saya "ketat" cukup untuk menyebabkan fitur dikecualikan karena mereka telah memenuhi semacam kriteria geometri? (Perhatikan bahwa saya kehilangan beberapa fitur yang sangat besar.) Apakah ada masalah dengan topologi fitur yang dijatuhkan yang menyebabkannya terhapus? Terkait dengan pertanyaan terakhir itu, saya berasumsi bahwa build.polylines dan operasi bersih yang saya lakukan semula harus mengatasi hal ini, tetapi saya tidak sepenuhnya yakin, dan sepertinya saya tidak dapat menemukan instruksi yang baik untuk mengatasi hal ini. Apakah ada?
Hargai wawasan apa pun yang dapat diberikan orang, terutama yang berdasarkan pengalaman pribadi dengan alat umum.
Roger
sumber
Jawaban:
Jawaban dari tim pengembangan GRASS.
"Hilangnya poligon [dalam v 6.4.1] terjadi karena batas yang dihaluskan yang melanggar topologi vektor dihapus, setelah itu semua batas yang secara topologi salah. Batas sekarang [dalam 6.4.2] hanya dihaluskan / disederhanakan jika modifikasi tidak melanggar topologi vektor. "
sumber