Я зіткнувся з дилемою, намагаючись використовувати v.generalize для спрощення багатокутників, які за розмірами та структурою схожі на американські графства чи штати. Часто я втрачаю багатокутники з набору даних після запуску або методу спрощення, або згладжування на них. Що мене хвилює, це те, що, схоже, немає такої послідовної моделі такої поведінки. У деяких випадках один і той же набір команд, застосованих до різних наборів даних, викликає абсолютно різні результати. Як результат, я не в змозі розробити повторюваний робочий процес і неохоче починаю шукати інші засоби спрощення, що зберігають топологію. Ось приклад:
# 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
Кожен з кроків v.generalize призводить до зникнення деяких полігонів. Я хотів би зрозуміти, чому це відбувається. Це пов'язано з тим, що функції завантажуються в недостатню кількість пам'яті? Чи достатньо "мої" параметри, щоб не було можливостей виключити функції, оскільки вони відповідали якимсь критеріям геометрії? (Зверніть увагу, що я втрачаю деякі дуже великі функції.) Чи є проблема з топологією викинутих функцій, яка змушує їх стиратися? Що стосується останнього запитання, я припускаю, що build.polylines та чисті операції, які я роблю спочатку, повинні подбати про це, але я не зовсім впевнений, і я не можу знайти хороших інструкцій, які би вирішили це. Чи є?
Вдячні за будь-яку інформацію, яку можуть дати люди, особливо ті, що базуються на особистому досвіді роботи з інструментом v.generalize.
Роджер