Головна » Файли » Готові скрипти

Розрідження об'єктів на карті
29.10.2016, 22:36

Задача: Намалював на карті багато знаків "поодиноких дерев". Потім, як виявилося, згідно з вимогами між цими знаками повинно бути не менше 3 (трьох) мм в плані, тобто тепер необхідно повидаляти зайві.

Інша задача: змінив масштаб зйомки з 1:500 на 1:2000. Відповідно точок позначок висот стало надто багато. Треба розрідити їх.

Вирішення: скрипт знаходить об'єкти, що знаходяться один від одного ближче деякого допуску та видаляє один із них, таким чином розріджуючи їх.

$Range=@Dialog.Ask Введіть мінімальну відстань (в метрах) між об'єктами Default=10 Size=250
$id=@Dialog.Ask Введіть id об'єктів, які треба розрідити Default=71132400 Size=250
%Start0
$FrameObj=0
@Map.SelectLayer id$id
%Start
$FrameObj=@Map.NextSelected $FrameObj
@If $FrameObj=0 then @Goto %End
$X=@Map.Object[$FrameObj].Parameter[-4]
$Y=@Map.Object[$FrameObj].Parameter[-3]
$K=@Map.NearestObject $Range $FrameObj $X $Y 0
@If $K=0 then @Goto %Start
@Map.DeselectAll
@Map.SelectObject $K
@Map.Selected.Delete
Перевірка | Очистить удаленные объекты
@Goto %Start0
%End

Категорія: Готові скрипти | Додав: Микола
Переглядів: 1101 | Завантажень: 0 | Рейтинг: 0.0/0
Всього коментарів: 0
avatar