ET V 9.7 Оптимизация формы линий. Сложных линий ...

Обсуждение бесплатной версии EasyTrace
Ответить
Григорий Степанов
Easy Trace – эксперт
Сообщения: 329
Зарегистрирован: 03 сен 2009, 11:13
Репутация: 64
Откуда: Россия, г.Рязань
Контактная информация:

ET V 9.7 Оптимизация формы линий. Сложных линий ...

Сообщение Григорий Степанов » 25 дек 2014, 15:29

Есть ещё одна хитрость в утилите Оптимизации формы линий. Она скрыта под кнопкой "Дополнительно". Это возможность полностью заблокировать сглаживание линий в заданных точках перегиба. Звучит заумно, но всё очень просто.

Сушествуют объекты, границы которых носят отпечаток рук человека. Например, русло реки в городе, набережная, границы земельных участков и т.д. Хитрость в том, что границы полигонов, изображающих подобные объекты, частично созданы природой (это произвольные гладкие кривые) и, частично, руками человека (изобилующие прямыми линиями и резкими, чётко очерченными углами).

В последнее время мы столкнулись с далеко не маленькими объёмами подобных данных. Правда, заказчики всё больше буржуи - в отличии от нас, их почему то волнует состояние и использование земель, особенно в городах и пригородах. Их эррозия, оползни, геоморфология и прочие малопонятные нашим властям вещи. Привереды, ну что с них возмёшь...

Так вот, любой фильтр кривых, взявшись за линию, норовит непременно сгладит и закруглить любой её угол. Даже углы, близкие к развёрнутому превратятся в отрезки дуг большого радиуса.

Фактически, границы таких полигонов состоят из линий двух видов: кривые (природные границы) и ломанные (дело рук человеческих). То есть никакой привычный способ оптимизации к таким объектам неподходит...

Наверное, когда-нибудь мы научим утилиту оптимизации делить подобные линии на кривые и ломаные участки и обрабатывать их раздельно. А пока мы нашли вот такой выход:
  1. Чётко очерченные углы "прокалываются" Топологическим редактором в режиме "Стягивание вершин";
  • Утилите объясняют, что точки перегиба, свободные от соседей и образующие угол не больше заданного, трогать не стоит;
Изображение

Но как-то всё это не изящно. Надо ведь не просто разыскать все эти углы, но и сами угловые точки точно поставить. А это скучно и долго. Топологический редактор, правда, научился работать с "отдалённым" экраном - это когда при поиске угловых точек их видно сразу много, а в момент коррекции только саму точку и её ближайшие окрестности. Ну, т. е. так же, как это умеет делать Трассировщик ломаных в ручном режиме. Но всё равно это ручная работа.

Так вот, в помощь утилите Оптимизации формы, появилась утилита Фиксация угловых точек. Сто процентов попаданий она, конечно, не даст. Но работу облегчит капитально.

Принцип работы этой утилиты предельно прост. Делаем дубликат исходного слоя и "калечим" копии линий с помощью оптимизации ломаными. Лучше использовать режим итеративной оптимизации, он точнее находит положения углов, даже если они сильно выпадают из исходных линий. Выделяем углы и прямые участки, но из растровых линий стараемся "не вываливаться". На то, во что превратятся при этом криволинейные участки стараемся не смотреть.

Затем вызываем утилиту Фиксация угловых точек и, подбирая параметры, отмечаем углы, положение и форма которых должны быть зафиксированы. После нажатия "Применить", по всем отмеченным точкам будет выполнена операция стягивания вершин, так, как если бы вы "прокололи" их вручную. Само положение точек соответствует вершинам ломаной линии, выделеной на предыдущем шаге. Вот и всё.

Изображение

Ответить

Вернуться в «EasyTrace»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 15 гостей