RUS  ENG 

Разбиение на участки

Страницы: 1
RSS
Разбиение на участки
 
Добрый день. Прошу помочь решить задачу: программно расставить запорную арматуру на водопроводе с разбиением на участки.
Имеется: 1) слой водопровода Zulu,
2) векторный слой с точками обозначающие арматуру.
Подскажите какой метод использовать, с примером кода, если возможно.
 
Цитата
Александр Николаев написал:
Добрый день. Прошу помочь решить задачу: программно расставить запорную арматуру на водопроводе с разбиением на участки.
Имеется: 1) слой водопровода Zulu,
2) векторный слой с точками обозначающие арматуру.
Подскажите какой метод использовать, с примером кода, если возможно.
Как вариант:
1. Для каждой точки ищем ближайший участок.
https://www.politerm.com/zuludoc/zuluax/index.html#Layer_GetClosestElementByXY.html

2. Этой точкой разбиваем найденный участок
https://www.politerm.com/zuludoc/zuluax/index.html#Layer_InsertSymbol.html
 
Спасибо Алексей всё получилось.
Обработка 12000 точек на реальной схеме заняла 2 часа, можно ли как-то оптимизировать код чтобы ускорить процесс?
Скрытый текст
[CODE][/CODE]
 
Цитата
Александр Николаев написал:
Спасибо Алексей всё получилось.
Обработка 12000 точек на реальной схеме заняла 2 часа, можно ли как-то оптимизировать код чтобы ускорить процесс?
Это медленно, но надежно.

Быстрый способ был бы нам самим сделать один метод, где на входе точки, на выходе разбитые точками участки.

А так, возможно быстрей определить сперва все участки, которые будут разбиты один или несколько раз и все новые объекты (фрагменты участков и узлы) буферизовано записать во временный слой.
Затем в исходном слое выделить все разбиваемые участки в группу. Группу удалить.
А все объекты из временного слоя как группу записать в исходный.
Причем один из фрагментов разбиваемого участка должен сохранить его ID (если это нужно)

Времени это с написанием и отладкой займет явно более двух часов. Если это не постоянная процедура, то смысла нет.

Возможно, мы реализуем, если в этом действительно будет не разовая потребность
Страницы: 1