Головна » 2015 » Грудень » 13 » Функції скриптів - Обробка шарів
21:52
Функції скриптів - Обробка шарів

Всі скриптові функції Digitals для зручності можна поділити на категорії, в залежності від того, які операції та над якими об'єктами виконує та чи інша функція. 


Загальні функції

Map.Layers.Count - повертає кількість шарів карти

Map.Layers.List - повертає список шарів карти у форматі: ID шару, ім'я шару

Map.Layers.LoadFromFile FileName - завантажує список шарів карти із текстового файлу

Map.Layers.SaveToFile FileName - зберігає список шарів карти у текстовий файл

@Map.RenumberLayers Filename - перекодовує ID шарів по текстовому або MDF файлу (аналогічно кнопці Перекодувати в Карта | Шари)

@Map.ReplaceTemplate Filename - замінює список шарів, параметрів і умовних знаків карти з іншого файлу з картою

@Map.GetStatistic [LayerNumber] - витягує властивості шару (чи карти в цілому, якщо не заданий номер шару): число об'єктів, число точок, загальна площа

Створення та видалення шарів

Map.Layers.Add Code Type Name - додає новий шар із заданим ID, типом і назвою (див. також Map.Layers.Get Number)

Map.Layers.Delete Number [Safe] - видаляє шар із усіма його об'єктами. Якщо заданий параметр Safe, то видаляється тільки, якщо він пустий

@Map.Layers.CleanUp - видаляє шари карти, в яких нема жодного об'єкта

@Map.Layers.Truncate LastIndex - видаляє шари після LastIndex

Пошук, сортування

Map.Layers.FindOrCreate ID [CopyFromID] - шукає шар із заданим ID, повертаючи його номер. Якщо заданий CopyFromID, то за основу береться шар, який існує

@Map.Layers.SortBy ID|NAME|CLEARNAME|REFERENCE|OBJECTSCOUNT - сортує список шарів карти. Функція добавлена 30.03.2015
ID - по зростанню ID шару.
NAME - по зростанню назви шару, при цьому в назвах формату "код шару ім'я шару" код шару ігнорується.
CLEARNAME - по зростанню імені шару, при цьому в іменах формату "код шару ім'я шару" і "код шару_ім'я шару" код шару ігнорується.
REFERENCE - по спаданню частоти використання шару (вибір активного шару при зборі).
OBJECTSCOUNT - по спаданню кількості об'єктів карти, що належать шару.

Атрибути шару

Map.Layers.Get Number  повертає ID шару, його тип і назву (див.також Map.Layers.Add)

Map.Layers.Set Number Code Type Name - змінює ID шару, його тип і назву

Map.Layers.GetAttributes Number - повертає атрибути шару: номер умовного знаку, тип лінії, колір лінії, товщина, тип заливки, колір заливки, статус, назву шрифту, розмір шрифту, стиль шрифту, колір шрифту

Map.Layers.SetAttributes Number Symbol PenStyle PenColor PenWidth BrushStyle BrushColor State Font_Name FontSize FontStyle FontColor - змінює атрибути шару: номер умовного знаку, тип лінії, колір лінії, товщина, тип заливки, колір заливки, статус, назву шрифту, розмір шрифту, стиль шрифту, колір шрифту

Map.Layers.SetState Number State(0/1/2/3) - Міняє статус шару: 0 - Правка, 1 - Помітка, 2 - Видимий, 3 - Прихований

Map.Layers.Polygon Number [0/1] - зчитує/записує статус шару "Тільки полігони" (0-виключений, 1 - включений, 2 - видимий, 3 - прихований

@Map.ExcludePolygonLayers ID1 ID2 ... - виключає вказані шари із створення полігонів

Map.Layers.FindByID ID - повертає номер шару по його ID і 0, якщо такого нема

Map.Layers.FindByName Name - повертає номер шару по його імені і 0, якщо такого нема

@Map.SetLayersVisibleRanges MinLevel MaxLevel [FromLayerNumber] [Latitude] - встановлює діапазони видимості шарів карти згідно рівнів Google maps. From Layer Number - номер першого шару, якщо не заданий будуть додані нові шари. Latitude - широта центру карти, 0 - якщо не задана

@Map.Layers.CollectionTemplate Number [Index] - яка встановлює/повертає Index шаблону сбору шару Number.
Index співпадає з номером шаблону у відповідному випадаючому списку менеджера шарів.
0 - очищення
1 - Polyline
2 - Polygon
3 - Rectangle
4 - Orthogonal
5 - Point
6 - Line
7 - Circle
8 - Parallel
9 - Stairs
10 - Passage
11 - Threelinear
12 - Middle Point
13 - Start Point

@Map.Layers.IDFromNames - присвоює шарам унікальні id за їх назвами

 

 

Операції з об'єктами

@Map.Object[N].Layer - повертає/змінює номер шару, в якому знаходиться об'єкт

;читаємо номер виділеного об'єкта
$N=@Map.SelectedObject
;визначаємо, в якому шарі наш об'єкт
$Layer=@Map.Object[$N].Layer
@Dialog.Message Виділ. об'єкт знаходиться в шарі під номером $Layer

@Map.Object[N].LayerID - повертає/змінює ID шару, в якому знаходиться об'єкт

;читаємо номер виділеного об'єкта
$N=@Map.SelectedObject
;переводимо виділений об'єкт в шар XML:Земельна ділянка
@Map.Object[$N].LayerID id70005

@Map.ChangeSelectedLayer LayerIndex - змінює шар в усіх виділених об'єктах

@Map.Layers.ObjectCount [Number] - повертає кількість об'єктів у заданому шарі (чи у всіх шарах, якщо не вказаний номер)

@Map.SelectLayer Numbers - виділяє всі об'єкти, що знаходяться в шарі Numbers. Numbers - порядковий номер чи ID шару

@Map.SelectLayer 9

@Map.SelectLayer ID70005

@Map.SelectLayerByName LayerName - виділяє об'єкти шару по імені.

@Map.SelectLayer Квартал

@Map.In4ToXML - перетворює об'єкти карти із шарів та параметрів формату In4 в об'єкти формату XML

@Map.Object[N].AlignToLayer LayerIndex - ?

Інші

@Map.GetCollectionLayer - повертає виділений шар для збору

@Map.RedefineLayers ParameterIndex - виконує команду Карта/Перепризначити шари для заданого параметру. Об'єкти, у яких значення даного параметра збігається, поміщаються в один шар, з ім'ям, зазначеним у параметрі.

@Map.SheetLayer - повертає номер шару з розбивкою карти на листи


Примітка: жирним шрифтом (напр.@ActivateMap) виділена назва функції, похилим шрифтом (напр.Number) перемінна функції, у квадратних скобках (напр.[MapNumber]) необов'язкова перемінна, яку можна не вказувати.

Переглядів: 6429 | Додав: Микола | Рейтинг: 0.0/0
Всього коментарів: 2
avatar
1 sergio2009 • 12:59, 28.12.2015
Можна якийсь приклад, бо в мене не получається зробити Правка на Служебний слой (ІД-3)
Map.Layers.SetState Number State(0/1/2/3)
avatar
0
2 Микола • 22:15, 28.12.2015
@Map.Layers.SetState -3 0

шари з мінусом пишуться без букв id
avatar