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

Створення підписів точок вздовж лінії
[ Викачати з сервера (120.7 Kb) ] 17.09.2020, 14:03

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

 

;іd шару точок
$Id=12000000
;параметр з підписом
$ParamIndex=4
;
$MC=@Map.Count
$SO=0
%Start
$SO=$SO+1
$LID=@Map.Object[$SO].LayerID
@if $LID<>$Id then @Goto %Next
$XYZ=@Map.Object[$SO].Point[1]
$NeaO=@Map.NearestObject 1 $SO $XYZ
@if $NeaO=0 then @Goto %Next
$LineO=@Map.NearestPoint $NeaO 1 $XYZ
$Angle=@Map.Object[$NeaO].LineAngle[$LineO]
$Angle=@StringPart 1,$Angle
$Angle=3600-$Angle*10+900
@if $Angle<=1800 then $Angle=$Angle+1800
@if ("$Angle">"1800") and ("$Angle"<"2700") then $Angle=$Angle+1800
$Caption=@Map.Object[$SO].Caption[$ParamIndex]
$Caption=@StringPart 4 $Caption
;@Break Кут лінії $Angle, властивості підпису $Caption
@Map.DeselectAll
@Map.SelectObject $SO
@Map.Selected.RemoveCaptions $ParamIndex
@Map.Selected.CreateCaptions $ParamIndex 0 0 3 3 0 0
@Map.Object[$SO].Caption[$ParamIndex] * * * $Angle
@Map.RefreshObject $SO
%Next
@if $SO<$MC then @Goto %Start

Категорія: Готові скрипти | Додав: Микола
Переглядів: 1428 | Завантажень: 249 | Коментарі: 7 | Рейтинг: 0.0/0
Всього коментарів: 7
avatar
6 00zakachka00 • 19:50, 17.09.2020
Дякую. 
avatar
3 00zakachka00 • 18:27, 17.09.2020
Але чомусь деякі підписи пікетів перевертає догори
avatar
0
4 Микола • 18:47, 17.09.2020
Скиньте зразок вашої карти, бо я пробував з дорогою усіх напрямків і ніби все нормально було
Ще перевірте, чи не дублюються там точки в тих місцях?
avatar
0
5 Микола • 19:40, 17.09.2020
не розвертало ті написи, які були розвернуті рівно на 180 градусів, оскільки я це упустив.
додайте символ = в цей рядок:
@if $Angle<=1800 then $Angle=$Angle+1800
або скопіюйте код скрипту заново (виправив)
avatar
7 lvivsurveyer • 17:47, 13.01.2021
це стається через те, що скрипт не знає відносно чого повернути підпис, тому і розвертає догори. Хоча можливо Микола спеціально прописав розворот підпису саме так, аби людина, яка малює зйомку звернула увагу на даний підпис і повернула його вручну.
avatar
2 00zakachka00 • 18:10, 17.09.2020
крутяк. Дуже ДЯКУЮ
avatar
1 lvivsurveyer • 16:52, 17.09.2020
ви просто бог. дякую
avatar