22:40 Скриптові функції - Геометрія об'єктів | |
В даному розділі описані скриптові функції, які стосуються геометрії об'єктів на карті. Створити новий (з нульовими координатами) об'єкт можна функцією @Map.NewObject Layer [ID] Властивості геометрії об'єкта @Map.GetObjectCoordinates Number - повертає ID об'єкта, номер шару і список координат точок @Map.GetObject Number - повертає список координат точок об'єкта і список значень його параметрів @Map.Object[N].LineAngle[N] - повертає дирекційний кут вказаної сторони об'єкта @Map.Object[N].LineLength[N] - повертає довжину лінії вказаної сторони об'єкта @Map.Object[N].GetMinMax - повертає розмах об'єкту у вигляді строки "MinX MinY MinZ MaxX MaxY MaxZ" @Map.Object[N].Center - повертає координати центру об'єкта @Map.Object[N].Centroid - повертає координати центроїда об'єкта @Map.Object[N].PointList Mask [Datum] - повертає форматований список координат об'єкта @Map.Object[N].Closed - повертає 1 - якщо об'єкт N замкнутий і 0 - якщо не замкнутий @Map.Object[N].ClosedComplex - повертає 1 - якщо об'єкт N складний полігон і 0 - якщо не складний полігон @Map.Object[N].SubObjects - повертає кількість частин об'єкта, що розділені розривами @Map.Object[N].IsBreak PointIndex - повертає 1, якщо PointIndex-а точка об'єкта є розривом, та повертає 0 якщо це звичайна точка @Map.Object[N].Path X Y / Distance - повертає довжину шляху від першої точки вздовж об'єкта до точки ХУ, або точку ХУ по довжині шляху Редагування координат об'єкта @Map.PutObjectCoordinates Number|ID|Layer|Count|List - змінює ID об'єкта, номер шару і список координат точок. Цей список можна отримати попередньою функцією @Map.PutObject Number|ID|Layer|Count|List|ID|Layer|Count|List - замінює список координат точок об'єкта і список значень його параметрів. Витягнути ці списки можна функцією @Map.GetObject @Map.Object[N].Reverse - змінює порядок точок об'єкта на протилежний @Map.AddObject 0|ID|Layer|Count|List|ID|Layer|Count|List - створює новий об'єкт із заданим списком координат і значенням параметрів. @Map.LoadFromText String - завантажує координати об'єкта із списку в текстовому форматі @Map.LoadFromWKT WKTString - завантажує координати об'єкта із рядка в форматі Well Known Редагування окремих точок об'єкта @Map.Object[N].AddPoint X Y [Z] - додає в об'єкт точку і повертає її номер @Map.Object[N].Add X Y [Z] - те саме @Map.Object[N].Insert PointIndex X Y [Z] - додає в об'єкт точку з координатами після точки за номером PointIndex і повертає її номер @Map.Object[N].Point[N].[x y z] - повертає/змінює координати конкретної вказаної точки об'єкта @Map.Object[N].Delete StartPointIndex [StopPointIndex] - видаляє першу точку об'єкта @Map.Object[N].StartFromPoint PointIndex - робить початковою PointIndex точку об'єкта @Map.Object[N].AddBreak - додає розрив за останньою точкою об'єкта (для того, щоб потім додати ще точки після цього, а якщо не додати - то розбрив зникне) @Map.InsertPointsToSelectedPolygons Layer HorizStep VertStep Chess RotationAngle HorizShift VertShift - додає точки у виділені полігони @Map.Object[N].Count - повертає кількість точок в об'єкті @Map.Object[N].IndexOfPoint X Y - шукає точку об'єкта N, яка має координати X Y (повертає номер точки або 0 - якщо такої не знайдено). Координата Z ігнорується, навіть якщо така вказана Маркування точок об'єкта @Map.Object[N].SetPointMarked PointIndex 0/1 - маркує точку PointIndex, якщо задано 1 і знімає маркування, якщо задано 0 @Map.Selected.MarkPoints PointNumber1 [PointNumber2] | ALL | CLEAR - маркує точки виділеного об'єкта (за номерами, ALL-всі, CLEAR - очищує маркування) @Map.Object[N].GetMarkedPointsCount - перевіряє кількість замаркованих точок об'єкта @Map.Object[N].GetPointMarked PointIndex - повертає 1, якщо точка PointIndex замаркована, інакше - 0 Пікети @Map.AddNodes LayerNumber Mode - додає точки у вузли виділених об'єктів. Mode відповідає вибору у вікні Добавити вузли (1-7) @Map.Object[N].Node PointNumber [Layer] - повертає номер пікета, який співпадає з точкою об'єкта @Map.PointObject Layer/0 X Y [Z] - повертає номер точкового об'єкта із заданими координатами @PasteAddressDatabase PasteLayerIndex - створює точкові об'єкти по їх адресах на карті Переміщення та розворот об'єкта @Map.Object[N].Move X Y [Z] - переміщує об'єкт в указаний вектор
@Map.Object[N].MoveTo X Y [Z] - переміщує об'єкт в указану точку @Map.MovePoints - переміщує передостанній позначений точковий об'єкт на останній позначений точковий об'єкт @Map.Selected.Rotate Angle - повертає виділений об'єкт на вказаний кут @Map.AlignToSelected ObjectNumber [Tolerance] - суміщає об'єкт із виділеним об'єктом, якщо потрібно розвертаючи також
Масштабування об'єкта @Map.RescaleObject Index ScaleFactor - масштабує об'єкт відносно його центру (аналогічно як в меню Правка/Спеціальна вставка/В іншому масштабі @Map.Object[N].Scale - повертає/змінює масштаб об'єкта (який встановлюється через меню Спеціальна вставка - В іншому масштабі) @Map.Selected.Prolong Length - продовжу лінію у дві сторони на задану довжину Спрощення об'єкта @Map.Selected.Smooth - згладжує виділені об'єкти (наприклад, горизонталі) @Map.Object[N].Filter [MinDistance] - в об'єкті видаляє відрізки меньші ніж MinDistance @Map.GeneralizeObject ObjectIndex [Accuracymm] - виконує генералізацію (видалення точок на рівних лініях) об'єкта з точністю Accuracymm @Map.Generalization Accuracymm - виконує команду Карта/Генералізація із заданою точністю в міліметрах на карті (дана опція автоматично видаляє точки, які на рівній лінії) зразу для усіх об'єктів, що на карті Перетворення в інший об'єкт @Map.ConvertComplexToLoop ObjIndex - перетворює складний полігон в полігон з петлями @Map.ConvertLoopToComplex ObjIndex - перетворює полігон з петлями в складний полігон @Map.Object[N].Transform X1 Y1|X2 Y2|X3 Y3|X4 Y4...- перетворює об'єкт по заданих точках. Точки утворюють пари: початкова і кінцева позиція. @Map.Selected.ToStrip Width [0/1 - buffer] - перетворює виділені об'єкти в смуги заданої ширини (чи буферну зону - дод. параметр 1) @Map.Selected.ExpandPolygon Value - виконує команду Розширити/стиснути на вказану відстань @Map.Selected.ClipImage BorderWidth - перетворює позначені об'єкти у збірні (через розрив) з побудовою внутрішніх полігонів / поліліній з розрахунку дотримання відстані BorderWidth від меж позначених об'єктів Поділ @Map.SplitObject ObjectIndex PointIndex - розділяє об'єкт у вказаній точці @Map.SplitMultiPolygon N - розбиває складний полігон на окремі Підгін площі @Map.AdjustObjectArea N Area [Delta] - злегка (в межах Delta) міняє координати точок, щоб вийшла потрібна площа. @Map.RescaleObjectToArea Index NewArea - масштабує об'єкт з порядковим номером Index для приведення його площі до нового значення (NewArea).
Між об'єктами @Map.MinObjectDistance Object1 Object2 - розраховує мінімальну відстань між двома 2d об'єктами @Map.ShortestSegmentBetweenObjects Object1 Object2 - повертає координати точок найкоротшого відрізка, що з'єднує 2 заданих об'єкта @Map.CreateSharedBorder [LayerIndex] - створює об'єкт спільної межі між двома виділеними полігонами @Map.SharedBorderCount ObjIndex1 ObjIndex2 - повертає кількість ребер спільної межі двох об'єктів карти @Map.NearestObject Range IgnoreObj X Y Z - шукає найближчий (на відстані Range об'єкт до точки з заданими координатами. IgnoreObj - об'єкт, який ігнорується. @Map.NearestPoint ObjNumber Range X Y Z - знаходить найближчу до точки XYZ точку заданого об'єкта в межах відстані Range (Range = 0 - немає обмеження по відстані). @Map.MakeInvisibleLine P1 P2 [SkipObject] - створює невидимий відрізок вздовж точок P1-P2 у всіх знайдених об'єктах карти. Точки P1-P2 повинні лежати в межах одного сегмента знайдених об'єктів. SkipObject - номер об'єкта, який не бере участі в пошуку і повинен бути пропущений. @Map.PerpendicularToNearestLine FromPoint ToObj SegmObjLayer [Reverse] - створює об'єкт з 2-х точок. Перша точка From Point, стара точка, що лежить на найближчому сегменті об'єкта, ToObj.PerpendicularLayer - шар нового об'єкта. Reverse - якщо вказано змінює напрямок створеного об'єкта. @WGS84Azimuth B1 L1 B2 L2 - вираховує азимут і відстань по двох геодезичних точках @Map.Object[N].OverlayList [Layer] - повертає список об'єктів з площею 0, які перетинають даний об'єкт. Якщо заданий шар - то тільки в цьому шарі. @Map.ClipOverlappedPolygons ObjIndex - обрізає полігони того ж шару для виправлення накладок @Map.IntersectionWithLayer ObjectIndex LayerIndex - створює об'єкт-пересічення з об'єктами заданого шару @Map.DeleteOverlays - видалає точки, що співпадають в об'єктах інших шарів @Map.FitToSelected ObjectNumber [Tolerance] - суміщає точки об'єкта з точками виділеного об'єкта Інші функції @Map.Object[N].ToCircle - створює круг по зовнішніх точках (довкола) вказаного об'єкта @Map.AssemblePolygon Layer X Y Z [LayerIndex1 LayerIndex2 ...] - створює складний полігон по його внутрішній точці і повертає його номер @Map.Object[N].MultiPolygon Layer [Layers List] - створення складного полігонального об'єкта у шарі з порядковим номером або ID Layer, межами якого є межі об'єктів у шарах з ID Layers List, при чому центроїд створюваного полігонe - точковий об'єкт з номером N. Є аналогом попередньої функції
@Map.MakeDoor RefPolyline DoorKind(1..4) - створює об'єкт, що представляє відчинені двері на планах приміщень. RefPolyline - опорний об'єкт, що задає 3 точки дверного отвору. DoorKind - номер від 1 до 4, що задає вигляд дверей. @Map.CalculateForestArea Number [LayerIDs] - вираховує площу виділу за мінусом доріг, просік і т.д. @Map.CheckSelectedByTriades [Limit] - ? @Map.Object[N].AssignGeometry ObjectNumber - ? Приклади ;розріджуємо об'єкти функцією @Map.NearestObject
Примітка: жирним шрифтом (напр.@ActivateMap) виділена назва функції, похилим шрифтом (напр.Number) перемінна функції, у квадратних скобках (напр.[MapNumber]) необов'язкова перемінна, яку можна не вказувати.
| |
|
Всього коментарів: 9 | |
| |