Возвращает тип данного слоя из набора констант eLayerType.
Visual Basic:
Property Type As eLayerType
read-only
У локальных векторных слоев свойство дает 70 - и у слоя сети, и у площадного или точечного слоя, и у слоя, созданного в памяти методом AddInMemory. По виду данных слои между собой это свойство не различает - для этого есть ObjectTypes и графический тип объектов.
Другие значения: 104 - слой рельефа, -2 - растр, открытый как временный слой; полный список дает перечисление eLayerType. Серверный слой отличается не этим свойством, а методом IsRemote.
Visual Basic:
Sub Layer_Type 'Перебираем слои карты Set M = Zulu.ActiveMapDoc S = "" For i = 1 To M.Layers.Count Set L = M.Layers.Item(i) S = S & L.UserName & ": тип " & L.Type If L.Type = 70 Then S = S & " (векторный)" If L.Type = 104 Then S = S & " (рельеф)" If L.Type = -2 Then S = S & " (растр)" S = S & vbCrLf Next MsgBox S End SubPython:
import zulu def Macro_Layer_Type(): # Перебираем слои карты M = zulu.App.ActiveMapDoc for i in range(1, M.Layers.Count + 1): L = M.Layers.Item(i) note = {70: " (векторный)", 104: " (рельеф)", -2: " (растр)"}.get(L.Type, "") print(L.UserName, ": тип", L.Type, note)