CreateVoronoi method (Layer)

Создает новый слой, состоящий из площадных объектов, являющихся ячейками Вороного, построенными на основе указанных объектов исходного слоя.

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

Layer

Синтаксис:

Visual Basic:

Function CreateVoronoi(Elems, nFlags As Long, Path As String, UserName As String) As Boolean

Elems - список ключей объектов исходного слоя.

nFlags - зарезервирован (должен быть 0).

Path - путь или URL нового слоя.

UserName - пользовательское название слоя.

Описание:

Параметр Elems это переменная типа VARIANT, которая может содержать либо коллекцию ключей слоя ElementKeys, либо массив ключей типа long VT_BYREF|VT_I4, где первый элемент массива содержит количество ключей.

Если объект из списка является символьным, то ячейка Вороного строится для точки привязки объекта. Если объект из списка является площадным или линейным, ячейки строятся для каждой точки перелома составляющих объект ломаных и полигонов.

Пример:

'Создаем ячейки Вороного для всех типовых символьных объектов активного слоя карты
Dim L As Layer
Dim Keys As ElementKeys

'Активный слой карты
Set L = MapCtrl1.Map.Layers.Active

'Очищаем группу слоя
L.Selection.Clear
'Отключаем отрисовку изменений группы 
L.Selection.Visible = False 

'По всем типам слоя 
Dim i As Long            
For i = 0 To L.ObjectTypes.Count - 1

    'Если тип символьный 
    If L.ObjectTypes.GetItemByIndex(i).GraphicType = eSymbol Then

        'Получаем коллекцию элементов данного типа 
        Set Keys = L.SelectByType(L.ObjectTypes.GetItemByIndex(i).Id, 0)

        'Добавляем коллекцию элементов данного типа в группу слоя
        L.Selection.ModifyByKeys eSelAppend, Key

    End If  

Next i

'Создаем ячейки Вороного по группе слоя
L.CreateVoronoi L.Selection.ElementKeys, 0, "D:\Test\Voronoi", "Зоны близости"

'Добавляем созданный слой в карту
MapCtrl1.Map.Layers.Add "D:\Test\Voronoi"

'Очищаем группу слоя
L.Selection.Clear
'Возвращаем отрисовку изменений группы 
L.Selection.Visible = False 

End If