LayerLayerTransformByPoints method (ZuluTools)

Трансформирование слоя однигм из методов из набора eMethod As eLayerTransformMethod.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function LayerTransformByPoints(Path As String, Points, inCRS As CRS, eMethod As eLayerTransformMethod) As Boolean

Path - полный путь к слою.

Points - переменная типа VARIANT, содержащая точки трансформации.

Points - переменная типа VARIANT, содержащая точки трансформации.

inCRS - система координат точек трансформации.

eMethod - метод трансформации из набора eMethod As eLayerTransformMethod.

Описание:

Метод аналогичен трансформациив режиме "Трансформация слоя с экрана".

Точки в последовательности идут парами по принципу "из точки" - "в точку".

На данный момент последовательность точек задается в виде полилинии в объекте PolyLine.

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'VBScript

' ActiveX enumeration values definitions start (do not change!)
Const eLayerTransformMethodShift = 6
' ActiveX enumeration values definitions end

Sub ShiftLayer

'Получаем активный слой текущей карты
Set Map = Zulu.ActiveMapDoc
Set L = Map.Layers.Active

'создаем объект ZuluTools
Set tools = CreateObject("ZuluLib.ZuluTools")

'Получаем центр объекта слоя с ID = 16

Set Pt = L.Elements.Item(16).GetCenter

'создаем объект PolyLine
Set pline = CreateObject("ZuluLib.PolyLine")

'Заполняем объект парой точек
pline.AddPoint Pt.X, Pt.Y
pline.AddPoint Pt.X + 100, Pt.Y + 100

'Сдвигаем слой на 100 метров по X и Y от центра выбранного объект
result = tools.LayerTransformByPoints (L.name, pline, zulu.ActiveMapDoc.GetCRS, eLayerTransformMethodShift)

MsgBox result
                 
End Sub