Open method (Layer)

Открывает слой с указанным именем или URL.

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

Layer

Синтаксис:

Visual Basic:

Sub Open(Name As String)

Name - имя слоя.

Описание:

Метод используется, когда Layer создается самостоятельно как объект. В этом случае для дальнейшей работы с этим объектом необходимо ассоциировать его с конкретным именем слоя.

Имя можно указывать и с расширением .b00, и без него; свойство Name потом возвращает его ровно в том виде, в каком слой открывали.

Метода, закрывающего слой, у объекта нет: чтобы открыть другой слой, берут новый объект. Повторный вызов на уже открытом объекте дает исключение 512. Один и тот же слой можно открыть двумя объектами сразу - оба видят все объекты слоя.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

512Слой уже открыт.

513

Слой не удалось открыть.

Пример:

Слой с сервера открывается тем же методом по URL:

  • без авторизации - zulu://zs.zulugis.ru:6473/map1/plan1.zl;

  • по имени пользователя и паролю - zulu://login:password@zs.zulugis.ru:6473/map1/plan1.zl;

  • по учетным сведениям Windows - zulu://$winnt$@zs.zulugis.ru:6473/map1/plan1.zl.

Visual Basic:

Sub Layer_Open
'Берем имя слоя у активного слоя карты и открываем его своим объектом
Set Active = Zulu.ActiveMapDoc.Layers.Active
Set L = CreateObject("ZuluLib.Layer")
L.Open Active.Name
S = "Открыт слой: " & L.UserName
S = S & vbCrLf & "имя файла: " & L.Name
S = S & vbCrLf & "объектов: " & L.ElementKeys.Count
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_Open():
    # Берем имя слоя у активного слоя карты и открываем его своим объектом
    active = zulu.App.ActiveMapDoc.Layers.Active
    L = zulu.Layer()
    L.Open(active.Name)
    print("Открыт слой:", L.UserName)
    print("имя файла:", L.Name)
    print("объектов:", L.ElementKeys.Count)