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

Re: Сглаживание углов полигонов

Добавлено: 01 окт 2011, 19:02
vladlen666
ДА я подключил утилитку. В нее входят файлы:

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 полигонов.

Re: Сглаживание углов полигонов

Добавлено: 03 окт 2011, 12:49
reasonat
в коде smooth.mb что-то не нашелся цикл по записям таблицы или выборке объектов. только обработка первой записи и все. Допилить надо )

Re: Сглаживание углов полигонов

Добавлено: 04 окт 2011, 15:32
vladlen666
Да такая бы утилитка была бы очень полезной. Если бы кто-нибудь довел бы ее до ума. Но вообще, неужели нет другой утилиты с такой функцией. Казалось бы очень полезная вещь при визуализации данных.

Может быть что-нибудь есть по сглаживанию линий? То есть я понимаю что в самой мапинфо есть инструмент для представления линий в сглаженном виде. Но я имею в виду другое. Инструмент, который бы сглааживал линию в реальности, создавая дополнительные узлы. Тогда полгоны можно было бы превращать в линии, сглаживать линии этой утилиты, а потом линии превращать обратно в полгоны.

Кажется я встречал что-то опдобное. Но убей не помню что это была за утилита.

Re: Сглаживание углов полигонов

Добавлено: 05 окт 2011, 11:39
Boris
Что-то подобное есть автокаде и MicroStation - называется построение кривых Безье или сплайнов. Может строиться как через точки, так и максимально интерполируя полилинию, но не проходя через точки. В EasyTrace, если не путаю, т.к. знаю только по описанию, с версии 8.хх появилась такая же возможность.
Наверное умеют и другие CAD программы.

Re: Сглаживание углов полигонов

Добавлено: 05 окт 2011, 12:34
Александр Мурый
Вставлю свои пять копеек. Вот пример сглаживания полигонов в GRASS (модуль v.generalize)

Алгоритмы сглаживания:
Boyle's Forward-Looking
McMaster's Sliding Averaging
McMaster's Distance-Weighting
Chaiken's
Hermite Interpolation
Snakes

Для полигонов на картинке был использован "snakes".

Re: Сглаживание углов полигонов

Добавлено: 28 май 2013, 07:40
fobos.rst
Александр Мурый писал(а):Возможно, поможет вот эта утилита.
smooth_poly3.zip
она только полигоны может сглаживать? просмотрел скаченный пример, увидел, что сглаживание происходит по контуру. А если мне нужно, чтобы сглаживание было по опорным координатным точкам?
Вот например, есть у меня дорога, построенная по координатам. На картинке слева видно, что она выглядит как ломанная кривая. Задача: нужно сгладить линию так, чтобы координатные точки остались на линии. Я же пока что нашел в Мап-е такую функцию, которая позволяет выделить линию и через меню "Объект - Сгладить углы" произвести сглаживание (рисунок справа), но при этом как видно на рисунке точки не попадают на линию, т.к. сглаживание происходит не по опорным точкам, а на основе всей "траектории" линии что ли, если так можно выразиться. А моя задача заключается в том, чтобы эти координатные точки как раз таки и оставались на сглаженной линии
Изображение

Re: Сглаживание углов полигонов

Добавлено: 30 май 2013, 13:20
Александр Мурый
fobos.rst писал(а):Задача: нужно сгладить линию так, чтобы координатные точки остались на линии.
Не знаю насчёт MapInfo, но можно попробовать сгладить линии в других ГИС (например, "Безье" в ArcGIS или с помощью модуля GRASS v.generalize (методом Hermite).

Re: Сглаживание углов полигонов

Добавлено: 31 май 2013, 01:07
Boris
Запрошенный функционал выходит за рамки универсальных ГИС, но он является стандартным функционалом КАД пакетов. Например, в Microstation около 5 различных видов "гладких" кривых, кривых Безье, сплайн-кривых с набором вариантов и параметров.
Именно выбор типа кривой и ее параметров определят поведение и вид кривой - как она проходит через узловые точки, какую гладкость имеет и т.п.
Мапинфо не имеет достойного инструмента в стандартной поставке, однако, в сети встречаются программы и пакеты, я видел платные, которые решают некоторые вид задач построения гладких кривых по опорным точкам.

Re: Сглаживание углов полигонов

Добавлено: 14 июн 2013, 12:32
ani.g
Чтобы не было много узлов в режиме Поток (N):
Заходим: настройка - режимы - окно карты - и меняем значение "детальность потоковой оцифровки". :D

Re: Сглаживание углов полигонов

Добавлено: 15 июн 2013, 06:46
JMc
Попробуйте MICAD. Есть в стандартной поставке MI либо на сайте ESTI-MAP.
Утилита умеет строить сплайны. Может подойдёт.

Re: Сглаживание углов полигонов

Добавлено: 01 фев 2021, 11:27
Veronika_Coconut
Можно использовать Smooth geometry алгоритм через Processing Toolbox > QGIS geoalgorithms > Vector Geometry Tools, или как в моей версии это просто Векторная геометрия> Сглаживание. Там много опций.
Есть еще вариант превратить полигон в линию, а дальше воспользоватся утилитой Generalizer.