Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 25 апр 2024 11:52

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




Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 25, 26, 27, 28, 29, 30, 31 ... 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 18 ноя 2014 17:11 
Гуру
Гуру

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

Вже знаю, треба просто поміняти це у віндовс

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 20 ноя 2014 14:37 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
fendak писал(а):
І в мене в результаті пише просто матиматичну функцію: (координата1-координата2)/2. Але не рахує.

В Digitals\Library є скрипт заміни коми на крапку ReplaceComma.dsf

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


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
замість
....
$CntrX=($MinX+$MaxX)/2
....

напишіть

....
$MinX=%Library.ReplaceComma $MinX
$MaxX=%Library.ReplaceComma $MaxX
$CntrX=($MinX+$MaxX)/2
....

аналогічно з Y

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


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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 20 дек 2014 17:55 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
В процесі роботи скрипту роблю багато змін і додаю нові параметри в об'єкт.
Перед змінами використовую:
Код:
@Map.SelectLayer ID70005
$ThisObj=@Map.SelectedObject
@Map.Undo.SaveObject $ThisObj

після:
Код:
@Map.Undo.Undo

значення параметрів повертаються ті, що були до початку, а от нові парамерти, які були добавлені залишаються.
Чому?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 21 дек 2014 11:55 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
В процесі роботи скрипту роблю багато змін і додаю нові параметри в об'єкт...
Нові параметри - маєте на увазі параметри катри, які не були доступні для шару, в якому є об'єкт? Я це до того, що параметри Ви додаєте до списку доступних для шару об'єкта, а не в об'єкт.

Наскільки я розумію, команда @Map.Undo.SaveObjectParameters Number - "Запоминает значения всех параметров объекта в буфер Undo (вызов @Map.Undo.Undo вернет исходное состояние после изменений)", а команда @Map.Undo.SaveObject Number - "Запоминает текущую конфигурацию объекта в буфер Undo (вызов @Map.Undo.Undo вернет исходное состояние после изменений)".

Тобто, якщо Ви хочете відновити список доступних параметрів для шару, то тут ніяка @Map.Undo.Undo не допоможе. Лише нове призначення доступними певних параметрів.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 21 дек 2014 12:24 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Підкажіть будь ласка: при використанні функції ( @Map.SaveToFile $Name.in4 ) карта просто пересохраняється в цей файл ($Name.in4) замінивши те що в ньому було. Чи є така функція щоб відкрита в Діджиталі карта просто додавалася до вже існуючої у файлі карти (наприклад це потрібно для створення бази даних).?

Знаю що це можливо зробити використовуючи багато функцій, але можливо це вже реалізовано в одній ?


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
voha писал(а):
Тобто, якщо Ви хочете відновити список доступних параметрів для шару, то тут ніяка @Map.Undo.Undo не допоможе. Лише нове призначення доступними певних параметрів.

Дякую за роз'яснення. Дійсно список доступних слою параметрів можна повернути тільки через @Map.Layers.GetValidParameters і Undo тут не допоможе.

Але проблема зникла, оскільки, як я помітив пізніше, при збереженні у файл XML усі нові параметри шару XML_Земельна ділянка просто самі зникають. Зникає і їх вміст.

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


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
sergykydr писал(а):
Підкажіть будь ласка: при використанні функції ( @Map.SaveToFile $Name.in4 ) карта просто пересохраняється в цей файл ($Name.in4) замінивши те що в ньому було. Чи є така функція щоб відкрита в Діджиталі карта просто додавалася до вже існуючої у файлі карти (наприклад це потрібно для створення бази даних).?

Знаю що це можливо зробити використовуючи багато функцій, але можливо це вже реалізовано в одній ?


По-перше, базу даних обмінників все ж таки краще зберігати в *dmf, а не в *in4. Бо in4 має чітко встановлену структуру файлу і, наприклад, при накладках буде автоматично міняти шари у відповідності до цієї структури. Тобто, вийде каламбур.

Очевидно, вам потрібно просто скриптом кожного разу відкривати файл з базою і вставляти туди нову ділянку. Потім зберігати і закривати. Без відкриття карти в неї ділянки не добавиш. Інша справа, що за допомогою скрипту це буде робитися автоматично, так, що ви і не помітите її відкриття):
;шлях до бази
$SourceMap=d:\база.dmf
;Перевірка наявності відкритого обмінника
$CountMap=@MapCount
@If $CountMap=0 then @Break Вікдрийте обмінний файл для внесення в базу
;виділяємо все
@Map.SelectAll
;копіюємо вміст нашого файлу в буфер
@Map.Copy
;відкриваємо базу
@FileOpen $SourceMap
;вставляємо наш об'єкт
@Map.Paste
@Map.SaveToFile $SourceMap
@CloseMap

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 24 дек 2014 21:14 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
fendak

Спасибо за помощь!!


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

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Подскажите, можно ли заскриптовать следующий порядок действий:

Карта--Слои--Фильтр--Видимые--Пометить все--Статус слоя(Правка)--Ок


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
sergykydr писал(а):
Подскажите, можно ли заскриптовать следующий порядок действий:

Карта--Слои--Фильтр--Видимые--Пометить все--Статус слоя(Правка)--Ок


Можна по-іншому, але резултат той самий - всі шари переведені у статус "Правка"

$MC=@Map.Layers.Count
$N=0
%Pochatok
$N=$N+1
@Map.Layers.SetState $N 0
@if $N<$MC then @Goto %Pochatok
@Dialog.Message Всі шари карти переведені у статус "Правка"


Тобто:
-визначаємо скільки в карті всього шарів;
-починаємо цикл по усіх наявних шарах карти;
-міняємо статус кожного шару на "Правка" (крім службових, які йдуть від нуля до мінус);
-завершуємо цикл, якщо шарів більше нема;
-виводимо результат про успішність переведення статусу.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 дек 2014 10:14 
Гуру
Гуру

Зарегистрирован:
04 дек 2004 19:41
Сообщения: 1035
Откуда: г. Харьков
fendak писал(а):
Можна по-іншому, але резултат той самий - всі шари переведені у статус "Правка"

Разумеется, можно иначе - просто выполнить двойной щелчок в Менеджере слоев и установить Правка для всех.
Уважаемый sergykydr просил несколько иное: установить в Правку только те слои, что были до этого в видимом статусе. К сожалению, функции типа @Map.Layers.GetState я не нашел, так что решаема ли задача, не уверен.


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

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

$MC=@Map.Layers.Count
$N=0
$N2=0
%Pochatok
$N=$N+1
$Status=@Map.Layers.GetAttributes $N
$Status=@StringPart 7 $Status
@if $Status<>2 @Goto %Dali
@Map.Layers.SetState $N 0
$N2=$N2+1
%Dali
@if $N<$MC then @Goto %Pochatok
@if $N2=0 then @Dialog.Message На карті не виявлено жодного шару в статусі "Видимий"
@if $N2=1 then @Dialog.Message 1 шар переведений у статус "Правка"
@if ("$N2">"1") and ("$N2"<"5") then @Dialog.Message $N2 шари переведені у статус "Правка"
@if $N2>=5 then @Dialog.Message $N2 шарів переведені у статус "Правка"

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 дек 2014 19:52 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Dmitriy Fedorov правильно заметил. Но по большому счету в моем случае хорошо подходит и все слои перевести в правку. fendak Ваш 1 скрипт то что мне и было нужно. Большое спасибо! Думаю что и 2 Ваш скрипт в скором времени очень понадобится)


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1236 ]  На страницу Пред.  1 ... 25, 26, 27, 28, 29, 30, 31 ... 83  След.

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


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

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


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

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