22:28 Скриптові функції - Управління об'єктами карти | |
Для зручності управління об'єктами карти кожен з них (чи то точка, чи лінія, чи полігон, чи таблиця) має свій порядковий номер. Номери об'єктам присвоюються в порядку їх додавання на карту і відповідають їх плановості відображення на екрані (на передній план, на задній план). Об'єкти, які видаляються з карти, продовжують існувати в її пам'яті під тими ж старими номерами. Але якщо видалені об'єкти очистити, або якщо змінити порядок відображення їх на карті (перенести на передній чи на задний плани), то тоді зміняться і порядкові номери об'єктів на карті. Щоб ідентифікувати об'єкт не залежно від його порядкового номеру, в кожного об'єкта існує ще свій унікальний ID, який, правда, використовується не так часто. Майже всі маніпуляції з об'єктами відбуваються за їх порядковими номерами N. В цьому розділі наведені основні скриптові функції для управління об'єктами на карті (створення, видалення та ідентифікація об'єктів, способи виділення, відображення, копіювання, вставлення, підрахунок кількості, визначення, в якому шарі та з якими параметрами об'єкт тощо) Загальні функції @Map.NewObject Layer [ID] - створює новий "пустий" (без геометрії) об'єкт у заданому шарі (Layer) і повертає його порядковий номер @Map.DeleteObject Number - видаляє об'єкт за його номером @Map.Count - повертає загальну кількість об'єктів на карті @Map.CalculateRange - оновлює список об'єктів карти після редагування та видалення. @Map.CollectedObject - повертає номер поточного об'єкта, який збирається @Map.ParentObject Number [ParentLayer] - повертає номер батьківського об'єкта, тобто найменшого полігону, який містить в собі даний полігон. Якщо розміри полігонів однакові, то батьківським вважається той, в якого менше id. Наприклад, для шару XML:Земельна ділянка батьківським буде шар XML:Кадастровий квартал. @Map.Object[N].OverlayList [Layer] - повертає список усіх об'єктів, які геометрично спавпадають із вказаним (або тільки в конкретному шарі) @Map.GetExternalNeighbors ObjectNumber - повертає список номерів об'єкта, які є суміжниками @Map.GetObjectHeader Number - повертає ID (не номер) об'єкта і порядковий номер його шару у списку шарів @Map.PutObjectHeader Number|ID|Layer - змінює ID об'єкта і порядковий номер його шару. Див. попередню функцію. @Map.GetObjectParameters Number - повертає ID об'єкта, номер шару і список значень його параметрів @Map.PutObjectParameters Number|ID|Layer|Count|List - змінює значення властивостей об'єкта. Див. попередню функцію @Map.Object[N].Selected - повертає 1, якщо об'єкт виділений Основні операції з ВИДІЛЕНИМИ об'єктами @Map.SelectedObject - повертає номер виділеного об'єкта @Map.SelCount - повертає число виділених об'єктів @Map.NextSelected [LastNumber] - повертає номер виділеного об'єкта, або (якщо виділено декілька об'єктів) порядковий номер наступного з виділених об'єктів після того, номер якого вказаний як LastNumber (використовується для створення циклу по виділених об'єктах)
@Map.Selected.List - повертає список усіх номерів виділених об'єктів @Map.Selected.Copy - копіює в буфер обміну виділені об'єкти @Map.Selected.Cut - вирізає в буфер обміну виділені об'єкти @Map.Paste - вставляє об'єкти із буфера обміну на карту @Map.Selected.ChangeLayer LayerIndex - міняє шар у виділених об'єктів Виділення та зняття виділення @Map.SelectObject Number - виділяє на карті об'єкт за вказаним порядковим номером (Number) @Map.DeselectObject Number - знімає виділення з об'єкта із заданим порядковим номером. @Map.SelectAll - виділяє всі об'єкти карти @Map.DeselectAll - знімає виділення з усіх об'єктів @Map.SelectLayer Numbers - виділяє всі об'єкти, що знаходяться в шарі Numbers. Numbers - порядковий номер чи ID шару
@Map.SelectLayerByName LayerName - виділяє об'єкти шару за його назвою.
@Map.SelectConnectedNeighbouring - виділяє об'єкти, які лежать близько до виділеного об'єкта @Map.SelectNeighbouring Distance - виділяє об'єкти, які лежать на вказану відстань від виділеного об'єкта @Map.SelectInsideSelected - виділяє об'єкти, які лежать всередині виділеного об'єкта @Map.SelectConnected - виділяє об'єкти, які мають спільні точки із виділеним об'єктом @Map.SelectByParameters Count|List - виділяє (шукає) об'єкти по значеннях їх параметрів. Count - кількість критеріїв пошуку, List - номер параметра і критерій пошуку (=,<,>,<>,~)
@Map.SelectByParametersSelected Count|List - виділяє об'єкти із числа виділених по значенню їх параметрів @Map.SelectObjectByForestID ID - виділяє на карті виділ із заданих id Відображення на екрані @Window.ShowSelected - показати виділені об'єкти на карті, центруючи екран на них @Map.Selected.Refresh - оновлює на екрані виділені змінені об'єкти (бо деякі функції це автоматично не роблять) @Map.RefreshObject Index - оновлює на екрані вказаний (Index) змінений об'єкт (бо деякі функції це автоматично не роблять) @Map.Selected.BringToFront - змінює порядок відображення об'єктів, розміщуючи виділені на передній план @Map.Selected.SendToBack - змінює порядок відображення об'єктів, розміщаючи виділені на задній план @Map.SortByParameter ParameterIndex +/- - сортує виділені об'єкти карти (передній/задній план) по значенню будь-якого параметра ("+" - по зростанню, "-" - по спаданню). Може бути корисною для обробки об'єктів у певній послідовності. Увага!!! - зміна плановості об'єктів веде до зміни їх порядкових номерів.
@Map.MoveObjectAlongTrack [MoveSpeed] [UpdateInterval] - переміщує виділений об'єкт (повинен бути виділений першим) вздовж виділеного треку (полілінії, яка виділяється другою). Швидкість задається в км/год. Інтервал обновлення в сек. Інші функції @Map.Object[N].ID - повертає id об'єкта (параметр -6) @Map.RenumberIDs [LastUsedID] - переприсвоює id об'єктам, починаючи з LastUsedID @Map.Object[N].GoogleBLCode - повертає довготу/широту об'єкта у форматі Google Maps
Примітка: жирним шрифтом (напр.@ActivateMap) виділена назва функції, похилим шрифтом (напр.Number) перемінна функції, у квадратних скобках (напр.[MapNumber]) необов'язкова перемінна, яка може вказуватися, а може і не вказуватися.
| |
|
Всього коментарів: 17 | |
| |