Страница 1 из 1

Центральные линии из полигонов

Добавлено: 30 янв 2013, 18:56
melody
Есть ли у кого идеи по поводу генерирования центральных линий из полигонов? Подход с точками Вороного не подходит, так как обрабатывается довольно большой объем данных. Буду благодарна за любые мысли. Встречала такую фичу в ET Geowizards, но там она платная.

Re: Центральные линии из полигонов

Добавлено: 30 янв 2013, 19:37
Донецков
Если полигоны вытянутые, то в автокаде есть сторонние утилиты, которые позволяют строить среднюю линию, между граничными...

Re: Центральные линии из полигонов

Добавлено: 30 янв 2013, 21:28
laechoppe
Пару дней назад искал ответ на такой же вопрос (забегая вперед, скажу, что в итоге нарисовал вручную, благо не много было), но вот пара вариантов, которые может сработают (чаще всего встречались в результатах поиска):
1. через растр http://forums.arcgis.com/threads/72708- ... post254147
2. полигоны в линии, далее инструмент Collapse Dual Lines To Centerline (ArctoolBox-cartography-generalization)

Re: Центральные линии из полигонов

Добавлено: 31 янв 2013, 14:29
melody
Спасибо за помощь. laechoppe, повезло вам, что можете вручную нарисовать (я, наверно, несколько лет тогда буду рисовать:)
Вариант через растр интересен, играю с параметрами, тяжело аргису такие объемы даются...
Вариант Collapse Dual Lines To Centerline не катит - разная ширина полигонов.
Заинтересовал вариант через автокад, позже буду пробовать (пока нет доступа к среде).

Re: Центральные линии из полигонов

Добавлено: 02 фев 2013, 16:08
gamm
melody писал(а):Есть ли у кого идеи по поводу генерирования центральных линий из полигонов?
одна идея называется skeleton, строится и на растре и на векторе, свободные программки попадались, гугль даст много ссылок на polygon skeleton. Результат правда не совсем тот, который предполагает человек.

вторя идея называется триангуляция Делоне, но нужно программировать: выделяют две "боковые" стороны (что само по себе иногда не тривиально), ставят на них много точек (много означает, что треугольники пойдут между сторонами), и триангулируют. Потом ведут линию (методом последовательно трассировки) через середины сторон, соединяющих противоположные стороны, проходя последовательно соседние треугольники. Для желающих абсолютной точности, точки этой линии немного двигают, чтобы расстояние до сторон стало одинаковым (занимает некоторое время, потому как О(n^2)) Не исключено, что такая приблуда есть в каком-нибудь SEXTANTE в готовом виде.

Re: Центральные линии из полигонов

Добавлено: 05 фев 2013, 19:02
melody
Ваш второй метод "триангуляция Делоне" по результатам мне очень напоминает использование полигонов Вороного. Учитывая, во сколько раз увеличивается количество объектов при построении частых точек из линий, метод был отброшен сразу.

Re: Центральные линии из полигонов

Добавлено: 05 фев 2013, 19:30
Александр Мурый
melody писал(а):Ваш второй метод "триангуляция Делоне" по результатам мне очень напоминает использование полигонов Вороного.
Ну да, т.к. триангуляция Делоне и полигоны Вороного — две стороны одной геометрической медали.

Re: Центральные линии из полигонов

Добавлено: 06 фев 2013, 04:22
gamm
melody писал(а):Учитывая, во сколько раз увеличивается количество объектов при построении частых точек из линий, метод был отброшен сразу.
а зря. Обрабатывать нужно объект за объектом, потом все уничтожать, за исключением линии. Если делать самому, то работает быстро.

Re: Центральные линии из полигонов

Добавлено: 06 фев 2013, 10:33
melody
gamm , метод очень красивый и дает 100%-й результат, и мне он очень импонирует, но количество исходящих объектов громадное.
Александр Мурый, в таких алгоритмах, к сожалению, не сильна.