Сглаживание углов полигонов
- vladlen666
- Активный участник
- Сообщения: 135
- Зарегистрирован: 22 май 2011, 01:36
- Репутация: 3
- Откуда: Тверская область
Re: Сглаживание углов полигонов
ДА я подключил утилитку. В нее входят файлы:
Untitled.TAB
Untitled.MAP
Untitled.ID
Untitled.DAT
smooth.MBX
smooth.mb
smooth.dll
sample.WOR
1. Создал папку "smooth" куда загрузил все эти файлы (c:\Program Files (x86)\MapInfo\Professional\Tools\)
2. Подключил утилиту в MI
3. В итоге открылась таблица Untitled.TAB и была создана таблица Untitled2.TAB Полигон из первой таблицы был преобразован во второй...
Только что дальше? Утилита отключалась!
Я попробовал заменить слой Untitled.TAB в папке с утилитой на свой слой с полигонами. Но утилита потребовала наличие в таблице 2 соответствующих колонок. Я добавил эти колонки в свою таблицу с полигонами.
В результате утилита сработала нормально но в созданной таблице Untitled2.TAB оказался только один объект. А в исходной таблице около 300 полигонов.
Untitled.TAB
Untitled.MAP
Untitled.ID
Untitled.DAT
smooth.MBX
smooth.mb
smooth.dll
sample.WOR
1. Создал папку "smooth" куда загрузил все эти файлы (c:\Program Files (x86)\MapInfo\Professional\Tools\)
2. Подключил утилиту в MI
3. В итоге открылась таблица Untitled.TAB и была создана таблица Untitled2.TAB Полигон из первой таблицы был преобразован во второй...
Только что дальше? Утилита отключалась!
Я попробовал заменить слой Untitled.TAB в папке с утилитой на свой слой с полигонами. Но утилита потребовала наличие в таблице 2 соответствующих колонок. Я добавил эти колонки в свою таблицу с полигонами.
В результате утилита сработала нормально но в созданной таблице Untitled2.TAB оказался только один объект. А в исходной таблице около 300 полигонов.
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Сглаживание углов полигонов
в коде smooth.mb что-то не нашелся цикл по записям таблицы или выборке объектов. только обработка первой записи и все. Допилить надо )
- vladlen666
- Активный участник
- Сообщения: 135
- Зарегистрирован: 22 май 2011, 01:36
- Репутация: 3
- Откуда: Тверская область
Re: Сглаживание углов полигонов
Да такая бы утилитка была бы очень полезной. Если бы кто-нибудь довел бы ее до ума. Но вообще, неужели нет другой утилиты с такой функцией. Казалось бы очень полезная вещь при визуализации данных.
Может быть что-нибудь есть по сглаживанию линий? То есть я понимаю что в самой мапинфо есть инструмент для представления линий в сглаженном виде. Но я имею в виду другое. Инструмент, который бы сглааживал линию в реальности, создавая дополнительные узлы. Тогда полгоны можно было бы превращать в линии, сглаживать линии этой утилиты, а потом линии превращать обратно в полгоны.
Кажется я встречал что-то опдобное. Но убей не помню что это была за утилита.
Может быть что-нибудь есть по сглаживанию линий? То есть я понимаю что в самой мапинфо есть инструмент для представления линий в сглаженном виде. Но я имею в виду другое. Инструмент, который бы сглааживал линию в реальности, создавая дополнительные узлы. Тогда полгоны можно было бы превращать в линии, сглаживать линии этой утилиты, а потом линии превращать обратно в полгоны.
Кажется я встречал что-то опдобное. Но убей не помню что это была за утилита.
-
- Гуру
- Сообщения: 4205
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: 433
- Откуда: Париж
Re: Сглаживание углов полигонов
Что-то подобное есть автокаде и MicroStation - называется построение кривых Безье или сплайнов. Может строиться как через точки, так и максимально интерполируя полилинию, но не проходя через точки. В EasyTrace, если не путаю, т.к. знаю только по описанию, с версии 8.хх появилась такая же возможность.
Наверное умеют и другие CAD программы.
Наверное умеют и другие CAD программы.
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Сглаживание углов полигонов
Вставлю свои пять копеек. Вот пример сглаживания полигонов в GRASS (модуль v.generalize)
Алгоритмы сглаживания:
Boyle's Forward-Looking
McMaster's Sliding Averaging
McMaster's Distance-Weighting
Chaiken's
Hermite Interpolation
Snakes
Для полигонов на картинке был использован "snakes".
Алгоритмы сглаживания:
Boyle's Forward-Looking
McMaster's Sliding Averaging
McMaster's Distance-Weighting
Chaiken's
Hermite Interpolation
Snakes
Для полигонов на картинке был использован "snakes".
Редактор материалов, модератор форума
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 28 май 2013, 06:56
- Репутация: 0
Re: Сглаживание углов полигонов
она только полигоны может сглаживать? просмотрел скаченный пример, увидел, что сглаживание происходит по контуру. А если мне нужно, чтобы сглаживание было по опорным координатным точкам?Александр Мурый писал(а):Возможно, поможет вот эта утилита.
Вот например, есть у меня дорога, построенная по координатам. На картинке слева видно, что она выглядит как ломанная кривая. Задача: нужно сгладить линию так, чтобы координатные точки остались на линии. Я же пока что нашел в Мап-е такую функцию, которая позволяет выделить линию и через меню "Объект - Сгладить углы" произвести сглаживание (рисунок справа), но при этом как видно на рисунке точки не попадают на линию, т.к. сглаживание происходит не по опорным точкам, а на основе всей "траектории" линии что ли, если так можно выразиться. А моя задача заключается в том, чтобы эти координатные точки как раз таки и оставались на сглаженной линии
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Сглаживание углов полигонов
Не знаю насчёт MapInfo, но можно попробовать сгладить линии в других ГИС (например, "Безье" в ArcGIS или с помощью модуля GRASS v.generalize (методом Hermite).fobos.rst писал(а):Задача: нужно сгладить линию так, чтобы координатные точки остались на линии.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 4205
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: 433
- Откуда: Париж
Re: Сглаживание углов полигонов
Запрошенный функционал выходит за рамки универсальных ГИС, но он является стандартным функционалом КАД пакетов. Например, в Microstation около 5 различных видов "гладких" кривых, кривых Безье, сплайн-кривых с набором вариантов и параметров.
Именно выбор типа кривой и ее параметров определят поведение и вид кривой - как она проходит через узловые точки, какую гладкость имеет и т.п.
Мапинфо не имеет достойного инструмента в стандартной поставке, однако, в сети встречаются программы и пакеты, я видел платные, которые решают некоторые вид задач построения гладких кривых по опорным точкам.
Именно выбор типа кривой и ее параметров определят поведение и вид кривой - как она проходит через узловые точки, какую гладкость имеет и т.п.
Мапинфо не имеет достойного инструмента в стандартной поставке, однако, в сети встречаются программы и пакеты, я видел платные, которые решают некоторые вид задач построения гладких кривых по опорным точкам.
-
- Новоприбывший
- Сообщения: 5
- Зарегистрирован: 03 апр 2013, 10:26
- Репутация: 0
Re: Сглаживание углов полигонов
Чтобы не было много узлов в режиме Поток (N):
Заходим: настройка - режимы - окно карты - и меняем значение "детальность потоковой оцифровки".
Заходим: настройка - режимы - окно карты - и меняем значение "детальность потоковой оцифровки".
-
- Участник
- Сообщения: 56
- Зарегистрирован: 22 янв 2009, 14:56
- Репутация: 0
- Откуда: Владивосток
Re: Сглаживание углов полигонов
Попробуйте MICAD. Есть в стандартной поставке MI либо на сайте ESTI-MAP.
Утилита умеет строить сплайны. Может подойдёт.
Утилита умеет строить сплайны. Может подойдёт.
-
- Интересующийся
- Сообщения: 40
- Зарегистрирован: 17 июл 2020, 09:11
- Репутация: 2
- Откуда: Киев
Re: Сглаживание углов полигонов
Можно использовать Smooth geometry алгоритм через Processing Toolbox > QGIS geoalgorithms > Vector Geometry Tools, или как в моей версии это просто Векторная геометрия> Сглаживание. Там много опций.
Есть еще вариант превратить полигон в линию, а дальше воспользоватся утилитой Generalizer.
Есть еще вариант превратить полигон в линию, а дальше воспользоватся утилитой Generalizer.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 34 гостя