Представляет слой ZuluGIS. Слои карты составляют коллекцию Layers.
Входит в состав ZuluGIS 2021 Library.
PROGID:
ZuluLib.Layer
CLSID:
{12507025-0B01-11D2-B55D-444553540000}
Свойства
Методы
Через объект Layer доступны объекты слоя, их типы и стили, семантические базы данных и система координат слоя, а для сетевого слоя — ещё и расчёты на сети. Вид слоя возвращает свойство Type — одну из констант eLayerType.
Слой, загруженный в карту, берётся из коллекции Layers: например, активный слой карты возвращает свойство Active этой коллекции. Слой можно открыть и без карты: объект создаётся функцией CreateObject("ZuluLib.Layer"), в python — вызовом zulu.Layer(), и связывается со слоем методом Open; новый векторный слой создаёт и открывает метод Create. У слоя, открытого без карты, свойство Map возвращает Nothing.
Для работы с тайловым слоем, слоем WMS, рельефом, слоем трекинга и слоем, загруженным в память, служат объекты, которые возвращают свойства TileLayer, WmsLayer, ReliefLayer, TrackingLayer и InMemoryLayer.
Для записи большого числа объектов предназначен режим буферизованной записи — методы StartSequentialWriteMode и FinishSequentialWriteMode, для быстрой проверки занятости точек при добавлении символов — методы AddSymbolsStart и AddSymbolsFinish.
Visual Basic:
Sub Layer_cls 'Создаем объект слоя и открываем слой из примеров поставки Set L = CreateObject("ZuluLib.Layer") L.Open "C:\Program Files\ZuluGIS\Examples\Thermo\Ctp\seti_Len" 'Считаем объекты слоя n = 0 Set En = L.EnumElements En.MoveFirst Do While Not En.IsEOF n = n + 1 En.MoveNext Loop Set R = L.GetBoundsRectangle MsgBox "Слой: " & L.UserName & vbCrLf & _ "Тип слоя: " & L.Type & vbCrLf & _ "Объектов: " & n & vbCrLf & _ "Габариты: " & R.Xmin & ", " & R.Ymin & " - " & R.Xmax & ", " & R.Ymax End SubPython:
import zulu def Macro_Layer_cls(): # Создаем объект слоя и открываем слой из примеров поставки L = zulu.Layer() L.Open(r"C:\Program Files\ZuluGIS\Examples\Thermo\Ctp\seti_Len") # Считаем объекты слоя n = 0 En = L.EnumElements() En.MoveFirst() while not En.IsEOF(): n += 1 En.MoveNext() R = L.GetBoundsRectangle() print("Слой:", L.UserName) print("Тип слоя:", L.Type) print("Объектов:", n) print("Габариты:", R.Xmin, R.Ymin, "-", R.Xmax, R.Ymax)