Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 май 2024 12:02

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 79, 80, 81, 82, 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 24 апр 2022 15:18 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Добрий день!

Роблю інвентаризацію нових скриптових функцій (з грудня 2020 року ви додали аж 110 штук). Серед них є дуже цікаві.
Чи можна трохи роз'яснити по деяких з них? Бо не зрозуміло.

1. @Dialog.EditFields Var1=Value:Name,... - виводить діалогове вікно для заповнення/редагування іменованих значень
Написав ось так - Dialog.EditFields Налаштування|Var1=Value1:Позиція 1|Var1=Value2:Позиція 2|Var1=Value3:Позиція 3
Але результатом функція завжди дає 1. Як отримувати введені дані? І чи можна там зробити можливість вибирати із файлу варіанти для введення так, як це реалізовано в масці параметрів?

2. @SingleClickDialogs [1/0] - без опису

3. @Dialog.Information Text - виводить повідомлення з інформацією
Чим відрізняється від @Dialog.Message Text?

4. @DocumentFromTemplate TemplateName|DocName|Options|Key1=Value1|... - створює документ за шаблоном та замінює змінні в ньому на потрібні значення
Що означають Options та Key1?

5. @Map.Object[N].AlignToLayer LayerIndex - без опису
(в перекладі - "вирівнює по шару", але як і що вирівнює?)

6. @Map.ArrangeFixedValues - без опису
(в перекладі - "упорядковує фіксовані значення", але про які фіксовані значення йде мова?)

7. @StringCalc Text function - виконує текстову функцію, наприклад, Copy
Можна детальніше? Куди копіюється текст? І як його вказувати?

8. @Float Formula - повертає числовий результат виразу
Чим відрізняється від @CalculateFormula Formula та @Calc?

9. @Map.StartRoute Name - без опису
Виводить повідомлення: Не знайдено файл C:\Digital\Route\Name. Створюю файл txt - нічого не дає. Яке розширення файлу має бути і якщо можна - призначення функції?

10. @Map.ZB.UpdateParsels LayerIndex та @Map.ZB.UpdateServi LayerIndex - без опису і не зрозуміло взагалі, що це таке може бути

11. @NextPeriodicDate PrevDate NumberOfMonths - вираховує наступну дату періодичного платежу.
Замість PrevDate вводжу дату у форматі 28.02.2022, замість NumberOfMonths - цифру (номер місяця?), а в результаті та сама дата. Дату якого платежу має рахувати функція?

12. @CropImageByPolygon ImageFileName - без опису
Обрізає зображення по полігону? По якому? Вказую шлях до зоображення (як растр і як звичайне), виділяю полігон - ніякого результату.

13. @UkrCadServer - без опису

14. @Map.FromArchitectural 0/1 - без опису

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 26 апр 2022 16:03 
Специалист
Специалист

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 45
Всім доброго дня!
Підкажіть будь ласка, як за допомогою скрипту ефективно видаляти із отриманого текстового списку значення які дублюються, наприклад якщо в списку повторюється "1" то вона має зникнути із нього.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 28 апр 2022 18:38 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Denys Sanitskyi писал(а):
Всім доброго дня!
Підкажіть будь ласка, як за допомогою скрипту ефективно видаляти із отриманого текстового списку значення які дублюються, наприклад якщо в списку повторюється "1" то вона має зникнути із нього.


Доброго дня!
Якщо питання ще актуальне, то уточніть - вам потрібно шукати рядки, які дублюються у списку, окремі символи, чи цілі слова? Якщо рядки - то треба написати скрипт, який перебирає кожний рядок і співставляє з кожним рядком того ж списку, шукаючи ідентичні. Такий скрипт можу написати. Готового не маю. Якщо вам тільки для одного разу і є ексель - то там є функція Видалення дублікатів.

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 29 апр 2022 09:30 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Denys Sanitskyi писал(а):
Всім доброго дня!
Підкажіть будь ласка, як за допомогою скрипту ефективно видаляти із отриманого текстового списку значення які дублюються, наприклад якщо в списку повторюється "1" то вона має зникнути із нього.

Є відповідна функція @Text[].Unique, вона сортує!!! список та лишає у ньому тільки унікальні значення
Приклад:
Код:
@Text[1].Add 1
@Text[1].Add 2
@Text[1].Add 1
@Text[1].Add 3
@Text[1].Add 1
@Text[1].Add 6
@Text[1].Add 1
@Text[1].Add 8
@Text[1].Add 12
@Text[1].Unique
$S=@Text[1].Text
@Dialog.Message $S

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 29 апр 2022 14:58 
Специалист
Специалист

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 45
Dmitry_Zolotar писал(а):
Є відповідна функція @Text[].Unique, вона сортує!!! список та лишає у ньому тільки унікальні значення

Нажаль це не зовсім те що потрібно, ця "одиниця" має зникнути взагалі із списку.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 29 апр 2022 15:20 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Denys Sanitskyi писал(а):
Dmitry_Zolotar писал(а):
Є відповідна функція @Text[].Unique, вона сортує!!! список та лишає у ньому тільки унікальні значення

Нажаль це не зовсім те що потрібно, ця "одиниця" має зникнути взагалі із списку.


Тоді можна якось так:

;скопіюйте в буфер текст, який потрібно обробити
@Text.Paste
$Text=@Text.Text
@Text[2].Text $Text
;
$FC=@Text.Count
@Progress.Start $FC Опрацювання...
$I=0
%Loop
$I=$I+1
$LineT1=@Text.Line[$I]
@Progress.StepBy
$rogress=@Progress.Canceled
@if $rogress=1 then @Goto %End
;
$FC2=@Text[2].Count
$O=$I
$zzz=0
%Loop2
$O=$O+1
@if $O>$FC2 then @Goto %End2
$Line=@Text[2].Line[$O]
@if $LineT1=$Line then $zzz=1
@if $LineT1=$Line then @Goto %End2
@Goto %Loop2
%End2
@if $zzz=0 then @Text[3].Add $LineT1
;
@if $I<$FC then @Goto %Loop
%End
@Progress.Stop
@Text[3].Copy
@Dialog.Message Виконано, текст скопійовано в буфер обміну

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 27 май 2022 16:15 
Эксперт
Эксперт

Зарегистрирован:
09 дек 2015 12:30
Сообщения: 97
Откуда: Закарпатська область
Доброго дня.
При експорті карти функцією FileSaveAsJPEG (Експорт у | JPG) вона зберігається не в заданому dpi (наприклад 300), а завжди у 96 dpi.
Якось можна виправити цей недолік?
Як варіант можна зберігати у FileSaveAsBMP (Експорт у | BMP), але тоді приходиться пере зберігати зображення у JPG


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 29 май 2022 18:06 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
petrogeo писал(а):
Доброго дня.
При експорті карти функцією FileSaveAsJPEG (Експорт у | JPG) вона зберігається не в заданому dpi (наприклад 300), а завжди у 96 dpi.
Якось можна виправити цей недолік?
Як варіант можна зберігати у FileSaveAsBMP (Експорт у | BMP), але тоді приходиться пере зберігати зображення у JPG

Перевірив в себе - FileSaveAsJPEG зберігає саме з тим DPI, що вказано у діалозі.
Алтернативою може бути @Map.SaveToTIF, потрібно лише задавати ім'я файлу з потрібним розширенням
Код:
$AM=@ActivateMap
@if $AM=0 then @Break
$CFN=@Map.ClearFilename
$Filename=@Dialog.SaveFile *.jpg $CFN.jpg
@if "$Filename"="" then @Break
@Map.SaveToTIF 300 24 $Filename
@Run $Filename

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 16 янв 2023 21:27 
Гуру
Гуру

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
Доброго часу. Який кут повертає скриптова функція @Map.SlopeDirection X Y?
Наприклад який напрямок (кут) буде у точці на мапі (зелена відмітка)? Не можу зрозуміти який кут рахує функція.


Вложения:
slope.png [282.33 Кб]
Скачиваний: 0
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 16 янв 2023 23:18 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Denidz писал(а):
Доброго часу. Який кут повертає скриптова функція @Map.SlopeDirection X Y?
Наприклад який напрямок (кут) буде у точці на мапі (зелена відмітка)? Не можу зрозуміти який кут рахує функція.
По ідеї - близько 270. Тобто схил - західний.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 16 май 2023 17:22 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
70 нових скриптових функцій появилися в програмі Digitals за один рік від 26.04.2022 до 16.05.2023 року:

Кермування скриптом
@Map.Undo.SaveSelected - запам'ятовує поточну конфігурацію об'єктів, які виділені і повертає її після змін командою @Map.Undo
@Return ResultValue - звершує роботу скрипту і виводить значення результату
@SQL.Table.Delete Tablename Condition - видаляє таблицю через SQL
@SQLTab Query - виконує запит по таблиці SQL

Обробка подій
@Map.ExecuteLayerEvent ObjIndex EventName - виконує скрипт обробки подій шару для конкретного об'єкта
@Map.IsEventParameter ParamIndex - ? (без опису і не зрозуміле значення)

Карта
@Map.PasswordCount - повертає кількість паролів даної карти
@CloneMap MapIndex - клонує карту
@Map.CloseEmbedded - закриває всі вмонтовані карти

Управл. об'єктами карти
@Map.InvertSelection [LayerIndex] - інвертує виділені об'єкти (можна задати в якому шарі)
@Map.CloneObject ObjIndex Layer [ID] - клонує об'єкт
@Map.DrawObject Number - відображає об'єкт із заданим порядковим номером (не працює, або я не розумію, як вона має працювати)
@Map.FilterLayerObjects [LayerIndex] [Filter] - приховує об'єкти карти, параметри яких не відповідають заданому критерію
@Map.LayerCount LayerIndex - повертає кількість об'єктів, які у заданому шарі
@PasteFromMap MapIndex - вставляє виділені об'єкти із вказаної карти в поточну
@SplitMap Filename - ділить карту на 4 частини (для чого це?)

Геометрія об'єктів
@Map.ContourMap - створює полігон довкола всіх наявних об'єктів карти (за яким принципом створюється цей полігон?)
@Map.TileObject ObjIndex SizeX SizeY - покриває об'єкт прямокутними рамками (?)
@Map.DisableDuplicates 0/1 - включає заборону однакової геометрії об'єктів (з того, що я дослідив - це заборона вставляти в ту ж карту той самий об'єкт, це якась дивна функція, чи вона ще щось може?)
@Map.Object[N].Radius - повертає радіус, СКО і центр дуги (не вдалося зрозуміти, як це працює)
@Map.ImportGMProject Filename - імпортує точки із GM-проекту (що таке GM-проект?)

Групування об'єктів
@Map.DeselectGroup GroupName - знімає виділення з усіх об'єктів групи

Шари
@Map.Layers.CleanUp - видаляє шари карти, в яких нема жодного об'єкта
@Map.Layers.IDFromNames - присвоює шарам унікальні id за їх назвами
@Map.Layers.Truncate LastIndex - видаляє шари після LastIndex
@Map.SheetLayer - повертає номер шару з розбивкою карти на листи (номер якого шару?)

Параметри
@Map.Parameters.IDFromNames - присвоює параметрам унікальні id за їх назвами
@Map.Parameters.Truncate LastIndex - видаляє всі параметри після LastIndex
@Map.ParametersFromPDF ParamIndex PDFPath - читає інформацію про ділянку (json) з пдф
@MergeParametersFromMap MapIndex LayerIndex KeyParameter Mode(0/1) - заповнює параметри позначених об'єктів з карти MapIndex

Умовні знаки
@Map.ArrangeCalloutSymbols - впорядковує символи-виноски

Растри
@Map.OpenMultiOrthos - відкриває мультиорто (що це?)
@Map.CloseMultiOrthos - закриває мультиорто
@Map.GenerateRaster X Y Z GSD Mode Focus Width Height|Filename - генерує растр за вказаними параметрами (можна детальніше про цю функцію?)

Горизонталі та 3d-графіка
@CreateSideView ObjIndex - створює карту з виглядом збоку об'єктів, що всередині вказаного полігону (це в 3d?)

Робота з текстом
@AdjustCadastralNumber CadNum - додає двокрапки в кадастровий номер
@FromXMLDate yyyy-mm-dd - конвертує дату формату yyyy-mm-dd у дату формату dd.mm.yyyy
@ToXMLDate dd.mm.yyyy- конвертує дату формату dd.mm.yyyy у дату формату yyyy-mm-dd
@MoneyInWriting MoneyValue - сума прописом
@NGOIndex NGOYear [NowYear] - розраховує коефцієнт індексації нормативної грошової оцінки з року оцінки по поточний
@ReplaceComma - замінює кому на крапку у вказаному тексті
@ReplaceDot - заміню крапку на кому у вказаному тексті
@RoundMoney Formula - вираховує вираз за формулою з округленням кожного значення до двох знаків після коми
@StringCopy Index Count String - копіює Count символів тексту String, починаючи з символу Index
@StringDelete Index Count String - видаля Count символів з тексту String, починаючи з символу Index
@StringInsert SubStr|Index|String - вставляє текст SubStr в позицію Index тексту String
@StringLength String - повертає число символів в тексті String
@StringPos SubStr|String - повертає позицію частини тексту SubStr в тексті String
@StringReplace Old|New|String - замінює частину тексту на новий в тексті String
@Text[N].ExtractCadnumbers Text - знаходить в текстовому контейнері список кадастрових номерів вигляду XXXXXXXXXX:XX:XXX:XXXX
@Text[N].LeaveUnusual - залишає незвичайний текст (?)
@Text[N].RegExMatches Mask - повертає всі співпадіння тексту з маскою регулярного виразу
@Text[N].RemoveEmptyValues - видаляє рядки з пустим значенням вигляду Key=
@Text[N].RemoveOldFiles - видаляє із списку однакові старі файли з однаковою короткою назвою (що за старі файли?)
@Transliterate - виконує транслітерацію кириличного тексту латиницею
@UpcaseSurname Surname Name SecondName - переводить першу букву прізвища, імені та по-батькові у великий регістр
@UTF8ToURL Text - конвертує текст utf8 у URL Encoding виду %20%D0%97

Управління програмою Digitals
@MergeToolbars OutFile|InFile1|InFile2... - об'єднює декілька tlb-файлів в один
@StartWaiting - змінює курсор в програмі на вигляд, що позначає очікування до виклику функції @StopWaiting
@StopWaiting - змінює курсор в програмі на стандартний вигляд

Інші не зрозумілі (без опису) функції:

@IDFromName Mask Name - ?
@Map.Clotoide ObjectIndex R L Step - ?
@Map.CombineByParameters LayerIndex ParamIndex - ?
@Map.SmoothSelected - ?
@Map.ZB.ExtractFromPDF TextFileName - ?
@Map.ZB.UpdateRent LayerIndex - ?
@ZB.AddRegistry Filename - ?
@ZB.AddRent MapIndex - ?
@ZB.PDFToFiles KOATUU InputPath|OutputPath - ?​​​​​​​
@ZB.ToFiles InputPath|OutputPath - ?

Що це за функції ZB? Як розшифровується ZB?
Також, бачу, оновили функцію Dialog.EditFields Header|Var1=Value:Name,...
Але все одно не розумію, як вона працює. Що ставити замість Var? Звичайні змінні?
Добре було б, якби замість Var можна було ставити звичайні змінні, яким дане діалогове вікно присвоювало б відповідні значення.
Така функція досить потрібна, бо у вікні редагування параметрів не можна вводити кому, бо кома є роздільником параметрів. Але воно так не працює. Змінні залишаються неактивними в результаті роботи цієї функції. А загальним результатом роботи функції є 1.
Схожа ситуація із функцією @Text[N].ExplodeLine[N] var1,var2,... Як прописати зі змінні? Що в даних випадках потрібно вказувати взамін var?

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 02 ноя 2023 15:38 
Эксперт
Эксперт

Зарегистрирован:
09 дек 2015 12:30
Сообщения: 97
Откуда: Закарпатська область
Доброго дня.
Чомусь перестала працювати функція @Map.Object[N].Layer починаючи з версії програми від 16.10.2023
при команді @Map.Object[$N].Layer=-2 (перенести об'єкт у приховані), видає помилку Invalid layer - -2


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 02 ноя 2023 22:42 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
petrogeo писал(а):
Доброго дня.
Чомусь перестала працювати функція @Map.Object[N].Layer починаючи з версії програми від 16.10.2023
при команді @Map.Object[$N].Layer=-2 (перенести об'єкт у приховані), видає помилку Invalid layer - -2
Так. Дійсно - не працює @Map.Object[$N].Layer=-2 . Приходиться заміняти на @Map.Selected.ChangeLayer -2


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 06 ноя 2023 17:08 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Дивно що воно так працювало. Не передбачено було окремі об'єкти приховувати лише весь шар.
$LN=@Map.Selected.Layer
@Map.Layers.SetState $LN 3

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 06 ноя 2023 17:43 
Эксперт
Эксперт

Зарегистрирован:
09 дек 2015 12:30
Сообщения: 97
Откуда: Закарпатська область
Працювало, і було зручно перебирати об'єкти які мають перетин або попадають у контур (полігон).
За допомогою цієї функції об'єкти (у різних шарах) по одному переводились у приховані, щоб повторно не опрацьовувались у скрипті.
А взагальному функція працює, саме ця команда @Map.Object[$N].Layer=-2 перестала працювати. :(


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 79, 80, 81, 82, 83  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB