Вадим Зыков, Я не знаю какая гис-платформа использована при создании ГИС-Эколога и как именно работает ее триангулятор. Но очевидно, что триангулятор вполне полнофункциальный. У него есть параметр на сколько треугольников делить окружности, он жестко зафиксирован на значении 60. Можно менять значение "Дискретизация эллипсов", но оно влияет только на визуализацию. При преобразовании дуг и окружностей в полигоны они всегда триангулируются на 60 сегментов. Было бы неплохо, чтобы пользователь сам мог устанавливать этот параметр при создании буферной зоны, при импорте замкнутых полилиний из dxf. Это позволило бы пользователю рисовать настолько детальные окружности, насколько ему нужно. Сейчас лично мне приходится рисовать СЗЗ в Автокаде, хотя в нем вообще нет триангулятора.
Кстати, hint для Романа: запускаем ГИС из Варианта расчета и создаем расчетные точки на особых зонах с галкой "По узлам исходных фигур", сохраняем все, точки улетели в УПРЗА, можно экспортировать их в Excel. Только "нормальным" расчетным точкам, в которых нужно рассчитывать концентрации надо сначала дать тип "Точка пользователя", иначе они удалятся при приеме новых точек из ГИС.
Отправлено спустя 43 минуты 40 секунд:
Написал целый трактат, но вспомнил, что все уже украдено до нас и реализовано в функции "Упростить фигуры" - весьма эффективно сокращает количество точек в полигонах.
Еще вариант прикрутить кнопочку "Перестроить полигон", пользователь выбирает полигоны, по нажатию кнопочки всплывает диалог, где пользователь либо задает точное натуральное число, либо двигает ползунок слайдера между "Грубо" и "Гладко", слайдер дает целое число между, допустим, 10 ("Грубо") и 1000 ("Гладко"). Далее на границе выбранного полигона создается заданное количество точек через равные расстояния (этот функционал уже реализован), по этим точкам строится новый полигон, исходный полигон удаляется. Разумеется создавать объекты типа "Точка" не требуется, нужно только получить их координаты. Единственный минус в том, что на прямых участках исходного полигона будут создаваться лишние точки