Доброго дня!
НЕ знаю чи доречний запрос на функцію, але іншого способу я не побачив, тому думаю фунція @Map.selected.Move X Y [Z] стане в нагоді не тільки мені одному
Добрий день!
Додайте, при можливості, будь ласка, підтримку кодування UTF-8 при обробці програмою даних з текстових файлів.
Бо зараз нові блокноти зберігають за замовчуванням у цей формат і в багатьох користувачів потім в програмі дані з довідників у папці Lists відображаються ієрогліфами.
Чи можна вивести функцію читання кадастрових номерів по-старому в окрему скриптову функцію, наприклад, @Map.GetPublicMapParcelInfoOld?
Справа в тому, що функція @Map.GetPublicMapQuarterInfo, яка колись визначала КОАТУУ з НКС уже давно не працює.
Тому взамін функції, яка читала КОАТУУ кварталу було-зручно в скрипті використовувати функцію, яка читала кадастрові номери ділянок. Але до 15 липня кадастрові номери ділянок читало не точно. Неточність полягала в тому, що якщо в тому місці ділянки не було, то програма в більшості випадків могла прочитати кадастровий номер із сусідньої (чи навіть через одну) ділянки. Це було погано - коли треба прочитати кадастровий номер конкретної ділянки, але добре якраз для функції читання КОАТУУ, бо скрипт брав його таким чином з сусідніх приватизованих ділянок. Але з 15 липня в Digitals внесли зміни завдяки відкриттю прямого доступу до ПКК через API. І тепер ділянки завжди читаються точно. І тому КОАТУУ сусідніх ділянок більше не читаються.
Чи є сенс вводити функцію, яка може видати неправильний результат? Найближча до точки ділянка може розташовуватись у іншому кварталі.
Доброго дня розробники.
Як дізнатися кількість створених(винесених на карту) підписів об’єкта? Інколи один параметр виноситься декілька разів - це теж треба врахувати.
Чи можливо створити функцію для підрахунку підписів об’єкта? напр. @Map.Object[N].CaptionCount
Можна за допомогою ф-цiї @Map.GetObjectParamBuf, правда бiльше коду, нiж @Map.Object[N].CaptionCount ![]()
; признак початку параметру Char(1)
$C01=@Calc Char(1)
$C01=@DequoteText $C01
; признак кiнця параметру Char(3)
$C03=@Calc Char(3)
$C03=@DequoteText $C03
; признак даних параметру Char(5)
$C05=@Calc Char(5)
$C05=@DequoteText $C05
;
$Count=@Map.SelCount
@If $Count=0 Then @Break
$Obj=@Map.SelectedObject
; буфер з даними винесених параметрiв
$Buf=@Map.GetObjectParamBuf $Obj
;
@If "$Buf"="<none>" Then @Break Вибраний об'єкт не має пiдписiв
; к-сть параметрiв, що вiдображенi на картi
$PCount=@StringPartCount $C01 $Buf
; цикл для проходження по кожному параметру зокрема
@While $PCount>1 %LoopParamsBuf
$Param=@StringPart $PCount$C01$Buf
;
$I=1
%LoopPGet
$I=$I+1
$Char=@Calc Copy("$Param",$I,1)
@If ($Char<>"$C03") Then @Goto %LoopPGet
$I=$I-1
;
$ParamID=@Calc Copy("$Param",1,$I)
; в цьому мiсцi можна проаналiзувати кiлькiсть позицiй XYZ (роздiленi 124 символом, якщо бiльше одного разу)
@Dialog.Message Param: $Param|Id: $ParamID
$PCount=$PCount-1
%LoopParamsBuf
;
Дякую Руслан.
Можно реализовать функцию аналогичную @XML.XPath Query XMLString, но которая возвращала бы не только значения внутренних XML тегов через пробел, а и сами теги.
Например:
1
2
3
@XML.XPath Query /cadblock вернет: 1 2 3, а хотелось бы еще вот так:123
Всім доброго дня!
Підкажіть будь ласка, як можна отримати координати попередньо створеної Групи лінійних об’єктів, а саме крайньої північної та крайньої південної точки ліній із даної групи (схоже робить функція @Map.Object[N].BLCode , але нажаль тільки для одного об’єкта).
це не підійде?
$S=@Map.Selected.GetMinMax
$S=@ReplaceChar ,.$S
$X1=@StringPart 1 $S
$Y1=@StringPart 2 $S
$X2=@StringPart 4 $S
$Y2=@StringPart 5 $S
Дякую! Підкажіть ще будь ласка, як перевести отримані значення в довготу та широту?
А ви просто переведіть цілу карту в датум Широта/Довгота. І тоді отримуйте дані.
А якщо ні, то копіюйте потрібні елементи на нову карту чи переводьте існуючу безпосередньо перед зчитуванням інформації в потрібний датум:
@Map.RecalculateToNewDatum Широта/долгота
Дякую! Є ще одне питання, як вивести для даних значень шість знаків після коми (виводить два)?
Перед конвертуванням в іншу систему координат задайте в меню Карта - Властивості максимальне значення точності координат
А також в меню Сервіс-Налаштування-закладка Вигляд - Число десяткових знаків поставте максимальне значення (8).
Дякую!
Ще є варіант використовувати функції параметрів =LONGITUDE, =LATITUDE
У вкладеному прикладі створено параметри типу “Число з комою” з відповідними формулами та різними масками параметрів. Важливо встановити датум карти, бажано щоб карта була в УСК2000, МСК-хх чи UTM, бо перерахунок з СК63 та СК42 відбувається без врахування трансформаційної сітки.
Дякую за чудову пораду!
Добрий день!
Дуже не вистачає можливості пошуку по скрипті потрібного слова. Доводиться постійно, коли великий скрипт паралельно тримати його код в блокноті, щоб можна було знайти потрібну мітку через вікно пошуку в блокноті. Це не зручно. Якщо можна, додайте, будь ласка.
а про функцию @DeleteFolder Folder забыли ![]()
Добавте можливісь коректного відкриття растрових зображень з інформації про розпаювання земель.