Спрощення геометрії (узагальнення)


22

Які рекомендовані способи спрощення геометрії? Маючи на увазі прогнози та спрощуючи геометрію стану, наприклад.

Я чув про перетворення на "еквівалентну" проекцію, яка дозволяє спростити без спотворень, а потім перетворитись на обрану проекцію.


4
Я не впевнений, але "узагальнення" може бути більш описовим тегом для цього. Спростіть, щонайменше, у контексті ArcGIS, це метод забезпечення топологічної коректності. У Вікіпедії сказано, що спрощення є частиною картографічного узагальнення. en.wikipedia.org/wiki/Cartographic_generalization
Кірк Куйкендалл

Відмінна пропозиція @Kirk
Джон Уелдон

Відповіді:


11

Як згадував Гленнон, стандартним алгоритмом для цього є Дуглас-Пекер , який є алгоритмом за замовчуванням, який використовується в таких програмних програмах, як PostGIS (тобто GEOS) через St_Simplify, ArcGIS через Generalizeта GRASS via v.generalize. Стаття у Вікіпедії також посилається на реалізацію Python .

GRASS підтримує ряд різних алгоритмів, як пояснено на довідковій сторінці для v.generalize .

Що стосується прогнозування, я думаю, що в цьому випадку це червона оселедець, яку можна ігнорувати. Єдине питання, яке спадає на думку, - це потенційно ущільнюючи лінії, щоб запобігти їх надмірному спрощенню.


5

Ви можете дослідити алгоритм Дугласа – Пейкера - метод зменшення кількості точок на кривій, апробованій серією точок. Дивіться: http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm

Перезапис оригінальної геометрії чи створення вторинного магазину залежить від використання.


3

Якщо під "спрощенням" ви маєте на увазі просте зменшення числа точок, використовуйте базовий алгоритм фільтрації, як фільтр Дугласа Пеукера. Корисне посилання на це: http://mapshaper.org/

Якщо під "спрощенням" ви маєте на увазі отримання більш простої форми, алгоритми фільтрації не завжди підходять. Слід використовувати більш вдосконалені алгоритми узагальнення . Деякі документи щодо таких алгоритмів можна знайти там: http://generalisation.icaci.org/ , з деякими прикладами результатів: http://generalisation.icaci.org/index.php/results . Лише деякі з цих алгоритмів реалізовані в загальній комерційній програмі ГІС. До деяких можна отримати доступ, використовуючи це: http://webgen.geo.uzh.ch/


сайти aci.ign.fr недоступні. Чи знаєте ви, де ми можемо знайти приклади "розширеного алгоритму узагальнення", який ви згадуєте?
radouxju

URL змінився, перевірте: generalisation.icaci.org
julien

2

Якщо ви спрощуєте геометрію через обмеження в потужності обчислювальної машини, ви можете розглянути можливість створення міп-карт із пов'язаними альфа-масками для кожної геометрії на різних рівнях.


Дуже цікаво, ви б готові докладно розробитись?
Джон Уелдон

Ну, для цього вам потрібно було б розсіяти кожну векторну геометрію в растрову карту для кожного рівня, що дозволяє користувачам збільшувати та зменшувати масштаб на карті. Тоді, замість того, щоб малювати векторну геометрію для кожного рівня знов і знов, ви просто візуалізували раціональну карту. Таким чином, розрахунок для растеризації геометрії (що дорого, якщо у вас є тона вершин), робиться вперед, замість кожного разу, коли користувач виконує дію. Альфа-маска потрапляє на малюнок, коли ви малюєте растрову карту - вона використовується, тому намальована лише сама форма.
Джон Брінгхерст

1

Це важка тема, оскільки ви повинні врахувати якусь роздільну здатність вашого набору даних. Коли вершина геометрії дорівнює іншій вершині? Я ніколи не чув про перетворення та повторну конвертацію, хоча це було б цікавим випробуванням.

Прості геометрії, згідно OGC, є геометріями, які не перетинаються між собою, а у випадку багатокутників - геометріями, які правильно орієнтовані, для зовнішньої оболонки (і) та внутрішньої оболонки (а) і згодом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.