Создает новый слой, состоящий из площадных объектов, являющихся ячейками Вороного, построенными на основе указанных объектов исходного слоя.
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