Аналитика

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

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




Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 27 май 2013 14:08 
Специалист
Специалист

Зарегистрирован:
18 июл 2011 09:16
Сообщения: 43
Ну вот создал я датум, появился он у меня в свойствах карты. Но я не могу понять как им пересчитывать? В свойствах карты выставляю интересующий меня датум нажимаю "ок"и "вуаля" ничего не происходит. Подскажите пожалуйста))


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 27 май 2013 17:06 
Гуру
Гуру

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Vaho писал(а):
Ну вот создал я датум, появился он у меня в свойствах карты. Но я не могу понять как им пересчитывать? В свойствах карты выставляю интересующий меня датум нажимаю "ок"и "вуаля" ничего не происходит. Подскажите пожалуйста))

В конце статьи описан порядок действий.

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


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

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
помогите скриптецом если возможно его реализовать на скриптовом языке диджитала. есть такой список Text[1]
рілля 0.1000
забдуова 0.1222
рілля 0.1001
в результате должен получится вот такой Text[2]
рілля 0.2001
забудова 0.1222


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

Зарегистрирован:
30 авг 2010 16:23
Сообщения: 100
Откуда: Хмельницкий
Denidz писал(а):
помогите скриптецом если возможно его реализовать на скриптовом языке диджитала. есть такой список Text[1]
рілля 0.1000
забдуова 0.1222
рілля 0.1001
в результате должен получится вот такой Text[2]
рілля 0.2001
забудова 0.1222

Предположительно так:
Проверяєм список в цыкле от 1 до количества строк (@Text.Count) на наличичие строки с названием угодья (@StringPart 1 $строка) и через @If then (если есть совпадения) сумируем вторую часть строки (@StringPart 2 $строка) в отдельную переменную. И так для каждого угодья, после чего создаем новый список из созданых переменных. Еще, наверное, придется конвертировать строку (часть которую будем сумировать) в число - @Calc Numeric($Строка).


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

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
сенкс, вы подтвердили мои опасения на счет каждого угодья :D может покороче кто-то предложит? :D


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Denidz писал(а):
помогите скриптецом если возможно его реализовать на скриптовом языке диджитала. есть такой список Text[1]
рілля 0.1000
забдуова 0.1222
рілля 0.1001
в результате должен получится вот такой Text[2]
рілля 0.2001
забудова 0.1222


@Text[1].Add рілля 0.1000
@Text[1].Add забудова 0.1222
@Text[1].Add рілля 0.1001
@Text[1].Add забудова 0.1333
@Text[1].Add рілля 0.1010
$C=@Text[1].Count
@if $C<2 then @Goto %Done
$I=$C
%Loop1
$S1=@Text[1].Line[$I]
$LN1=@StringPart 1 $S1
$Area1=@StringPart 2 $S1
$J=$I
%Loop2
$J=$J-1
$S2=@Text[1].Line[$J]
$LN2=@StringPart 1 $S2
$Area2=@StringPart 2 $S2
@if $LN2<>$LN1 then @Goto %Next
$Area1=$Area1+$Area2
@Text[1].Line[$J] $LN1 $Area1
@Text[1].Delete $I
@Goto %Continue
%Next
@if $J>1 then @Goto %Loop2
%Continue
$I=$I-1
@if $I>2 then @Goto %Loop1
%Done
$S=@Text[1].Text
@Dialog.Message $S

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


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

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
ееехууууууууууууу! :D


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

Зарегистрирован:
30 авг 2010 16:23
Сообщения: 100
Откуда: Хмельницкий
В последнее время из за увеличения объема скрипта (работа с XML) приходится выносить его в текстовые файлы - "набросал" coder-файл подсветки синтаксиса Digitals-scripts для программы AkelPad, лично я в сером однообразном тексте теряюсь. Может кому нужно/интересно - делюсь наработками.
Изображение
Файл с текстом скрипта должен иметь расширение *.dsf. Можно и любой другой, просто изменив File types в файле синтаксиса. Сам файл Dsf.coder положить в папку с установленной программой -\Plugs\Coder\ после чего перед запуском удалить файл cache (в том же каталоге), он будет заново сгенерирован. Сам пользуюсь "предустановленной" программой в составе Total Commander, которая уже идет со всеми необходимыми плагинами для программирования. Это канешно не родное окно редактирования скрипта, но уже можно работать :wink: Возможно кто-то што-то подправит/дополнит, там есть еще над чем поработать ...


Вложения:
Dsf.rar [6.15 Кб]
Скачиваний: 383
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 27 июн 2013 05:33 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitriy Fedorov писал(а):
Создайте местную систему в datums.ini - там присутствует образец/заготовка местной системы на базе СК63. Опишите ваши связующие точки и дело в шляпе. Пересчет через буфер обмена, исходная карта будет СК63, конечная - ваша Местная (Карта - Свойства).
Написав відповідний скрипт-1, який:
- вичитує координати "связующих" точок з карти-1 в текстовий файл Text1;
- відкриває файл Excel.
Код VBA:
- закриває примусово Digitals;
- функціями API створює датум в Datums.ini, беручи координати "связующих" точок з текстового файла Text1;
- запускає Digitals, відкриває карту-1;
- запускає скрипт-2.
Скрипт-2 перераховує через буфер обміну об'єкти карти (за створеним датумом), "укладаючи" їх на вказані "связущие" точки.

Питання до шановних програмістів, може хтось підкаже:
- чому, після правки файла Datums.ini функціями API (WritePrivateProfileSection), не відбувається перерахунку через буфер обміну? Що ще треба зробити з Datums.ini (скидання кешу WritePrivateProfileString vbNullString, vbNullString, vbNullString, DigitalsPath & "\Datums.ini" після зміни Datums.ini повертає 0, а скидання кешу WritePrivateProfileString vbNullString, vbNullString, vbNullString, vbNullString повертає 1).

Якщо в файл Datums.ini внести не суттєву правочку текстовим редактором і зберегти зміни, скрипт-2 перераховує координати на ура, але як тільки внести зміни функцією API - все, труба :? . Нюхом чую - проблема в задіюванні файла ініціалізації.

Задумка - трансформувати об'єкти карти на вказані точки методом поліноміального перетворення.


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

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Приложите ini файл, который менялся при помощи WritePrivateProfileSection, скажем точно в чем причина.

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


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Bondarets Alexander писал(а):
Приложите ini файл, который менялся при помощи WritePrivateProfileSection, скажем точно в чем причина.
Вложение:
Datums.ini [13.85 Кб]
Скачиваний: 758
. Файл мав-би ініціюватись функцією WritePrivateProfileString(vbNullString, vbNullString, vbNullString, DigitalsPath & "\Datums.ini"), але функція повернула 0 - не успішне завершення функції.

P.S. Секція [ЗаТекстом]


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

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
У вас перевод каретки для строк TiePoint задается как #13 (x0D), а надо #13#10 (x0Dx0A). До блока TiePoint в этой же секции все нормально. Вероятно, в этом причина.

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


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

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Вы используете новую возможность вызова пользовательских функций из DLL? На каком языке программирования создаете DLL? Обычно имеются встроенные в язык функции/объекты для работы с ini файлами и нет необходимости использовать Windows API напрямую.

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


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Чемно дякую за підтримку. Проблема була саме в переводі каретки. Прямо скажу - спасли мене від "взриву мозга" :D

Поки пишу на VBA. Знаю, треба - на Delfi переходити, але руки не доходять навіть до модуля exe на VB. Скриптова функція @DLLExec DLLPath.DLLFunction [Parameters] дає неоціненну перевагу. Але це - в проекті, як тільки напишу свою першу dll.

P.S. А поліноміальне трансформування вектора - реалізація непогана, якби дійсно dll-ку під неї. Скинути Вам реалізацію :?:


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

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Не совсем понял, реализацию чего вы хотите скинуть?

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


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 83  След.

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


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

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


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

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