Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 05 май 2024 16:37

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




Начать новую тему Ответить на тему  [ Сообщений: 1369 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 92  След.
Автор Сообщение
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 10 окт 2008 07:56 
Специалист
Специалист

Зарегистрирован:
01 ноя 2004 10:58
Сообщения: 27
Откуда: Россия
Обнаружен глюк в редакторе скриптов. Версия Digitals 5.0.0.3279 от 09.10.2008.
При попытке скопировать выражение нажатием правой кнопки происходит вырезание, а не копирование :(
Ctrl+C и Ctrl+V работают нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: @Map.FindByParameters
СообщениеДобавлено: 29 окт 2008 16:06 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
04 ноя 2004 17:33
Сообщения: 109
Откуда: Калининград
не пойму разницу между тремя командамми:
@Map.FindByParameters
@Map.FindFirstByParameters
@Map.SelectByParameters

пояснений к ним нигде не нашел, все три ищут по полному совпадению. Никаких отличий в поведении не заметил.
А меж тем очень не хватает поиска по частичному совпадению.
Сделайте пожалуйста, или может уже есть какая-то опция, да мы не знаем :(


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

Зарегистрирован:
01 мар 2007 12:02
Сообщения: 12
Откуда: Вінниця
А нет случайно зделаного шаблона условних знаков грунту.Например слой "грунто рослиного шару", или "супісок напівтвердий" и.т.д.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: @Map.FindByParameters
СообщениеДобавлено: 06 ноя 2008 12:12 
Администратор
Администратор

Зарегистрирован:
28 авг 2004 17:19
Сообщения: 1009
Павел Корыстин писал(а):
не пойму разницу между тремя командамми:
@Map.FindByParameters
@Map.FindFirstByParameters
@Map.SelectByParameters

пояснений к ним нигде не нашел, все три ищут по полному совпадению. Никаких отличий в поведении не заметил.
А меж тем очень не хватает поиска по частичному совпадению.
Сделайте пожалуйста, или может уже есть какая-то опция, да мы не знаем :(

Между ними действительно очень небольшая разница.
SelectByParameters - это базовая фунция
FindByParameters это DeselectAll+SelectByParameters
FindFirstByParameters - то же самое что FindByParameters, но возвращает в качестве результата не количество найденных и помеченных объектов, а номер первого из них. Ее обычно удобно использовать для поиска объекта по уникальному параметру, типа кадастрового кода участка.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 06 ноя 2008 15:30 
Участник
Участник

Зарегистрирован:
06 ноя 2008 14:01
Сообщения: 4
Откуда: Киев
Здравствуйте!
Подскажите, пожалуйста,какую функцию нужно использовать для получения значения определенного параметра (например, задав его ID) для последующего использования этого значения в формуле подсчета значения другого параметра. Также просьба привести пример задания в скрипте простейших формул +, -, *, / (пробовала с Calc - почему-то не получается..)
Спасибо.


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

Зарегистрирован:
26 фев 2007 12:04
Сообщения: 1751
Откуда: Vinnitsa
Насколько я понял речь именно о скриптах в Digitals. Тогда вот пример простого скрипта, который показывает площадь помеченного объекта сначала в га, затем в кв. м. Для получения площади в кв. м используется функция Calc, которая вызывается неявно при наличии математического выражения в правой части. К параметру можно обращатся не только по номеру, но и по коду,например - GetParameter ID10000.

Код:
$S=@Map.Selected.GetParameter 0
@Dialog.Message Площадь, га=$S
$S2=$S*10000
@Dialog.Message Площадь, м2=$S2

На всякий случай напишу как этот скрипт вставить в Digitals. Используйте команду Окно>Создать панель инструментов для создания новой панели. Затем кликните правой кнопкой по панели и выберите Добавить кнопку, скопируйте скрипт с этой страницы и вставьте в правую текстовую панель окна Выбор команд для кнопки. Затем пометьте на карте любой площадной объект и нажмите добавленную кнопку.

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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: @Map.FindByParameters - substring
СообщениеДобавлено: 07 ноя 2008 14:08 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
04 ноя 2004 17:33
Сообщения: 109
Откуда: Калининград
Sergey Oleynik писал(а):
Павел Корыстин писал(а):
А меж тем очень не хватает поиска по частичному совпадению.
Сделайте пожалуйста, или может уже есть какая-то опция, да мы не знаем :(

Между ними действительно очень небольшая разница.
SelectByParameters - это базовая фунция
FindByParameters это DeselectAll+SelectByParameters
FindFirstByParameters - то же самое что FindByParameters, но возвращает в качестве результата не количество найденных и помеченных объектов, а номер первого из них. Ее обычно удобно использовать для поиска объекта по уникальному параметру, типа кадастрового кода участка.

Теперь ясно, спасибо. Но сделайте, если не трудно, все-таки поиск подстроки. Лучше конечно, чтоб во всех этих трех функциях работала маска (*,?), или какой-то префикс. Чтобы при поиске по нескольким параметрам можно было в одних найти подстроку, а в других полное совпадение. Например для адреса (улицу частично, а номер полностью):
@Map.FindByParameters 2|ID211=*ленин*|ID212=5 - искомый адрес "ул.Ленина 5"

Пожалуйста! Очень просим! Очень нужно для поиска по адресу.
Ну или если с масками нельзя, то еще четвертый вариант функции :roll: типа: @Map.FindSubstringByParameters
для поиска подстроки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 07 ноя 2008 16:24 
Участник
Участник

Зарегистрирован:
06 ноя 2008 14:01
Сообщения: 4
Откуда: Киев
Bondarets Alexander писал(а):
Насколько я понял речь именно о скриптах в Digitals. Тогда вот пример простого скрипта, который показывает площадь помеченного объекта сначала в га, затем в кв. м. Для получения площади в кв. м используется функция Calc, которая вызывается неявно при наличии математического выражения в правой части. К параметру можно обращатся не только по номеру, но и по коду,например - GetParameter ID10000.

Код:
$S=@Map.Selected.GetParameter 0
@Dialog.Message Площадь, га=$S
$S2=$S*10000
@Dialog.Message Площадь, м2=$S2

На всякий случай напишу как этот скрипт вставить в Digitals. Используйте команду Окно>Создать панель инструментов для создания новой панели. Затем кликните правой кнопкой по панели и выберите Добавить кнопку, скопируйте скрипт с этой страницы и вставьте в правую текстовую панель окна Выбор команд для кнопки. Затем пометьте на карте любой площадной объект и нажмите добавленную кнопку.


7.11.2008
Спасибо, Александр.
мой скрипт выглядел примерно также, проблема в том, что программа почему-то не воспринимает математические выражения как таковые, а выдает в результат само выражение, т.е.на примере вашего скрипта я получила как результат сообщение: "Площадь, м2=1814.88*10000" (где 1814.88 - площадь выделенного объекта).
Самое непонятное то, что скрипт работает у людей, которые меня консультируют. Карта, в которой запускается скрипт, тестовая, т.е.содержит только один слой с одним объектом, у которого задан один параметр
К слову сказать, если для функции Map.Selected.GetParameter указывать ID, появляется сообщение об ошибке..

10.11.2008
Проблема с мат.выражением разрешилась.Банально.В региональных настройках винды как разделитель целой и дробной части для чисел и для денежного формата стояла "," - изменила на "." и все заработало, считает и выводит результат :D


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 12 ноя 2008 18:11 
Участник
Участник

Зарегистрирован:
06 ноя 2008 14:01
Сообщения: 4
Откуда: Киев
Добрый день!
Помогите, пожалуйста, написать скрипт для нахождения объектов с одинаковыми значениями заданных параметров. Т.е.алгоритм примерно такой:
1.для выделенных объектов одного слоя проверить уникальность определенного параметра (параметр задается, например, через его ID либо в теле скрипта либо в диалоговом окне);
2.оставить выделенными только объекты с одинаковыми параметрами;
3.занести соответствующую запись о дублировании для всех выделенных объектов в отведенный для этого параметр (например, параметр "код ошибки" запись "5")

При самостоятельном написании столкнулась с непонятным поведением функции Map.NexSelected Number - при разном значении Number выдается одно и то же число. Не могли бы вы привести пример работы с данной командой и подробное ее описание.

Спасибо.


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

Зарегистрирован:
08 окт 2008 09:19
Сообщения: 42
Подскажите, есть ли функция для пометки определенного слоя? Т.е. мне нужно в определенной последовательности пометить нужные слои (по ID), и так же разотметить.


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

Зарегистрирован:
06 янв 2008 17:06
Сообщения: 636
Откуда: Одеса
Щоб не було подібних запитань треба описати призначення всіх функцій, значення їх параметрів. Дещо уже зроблено, але у вікні створення скрипту опрацьовані не всі функції.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 14 ноя 2008 17:33 
Гуру
Гуру

Зарегистрирован:
14 дек 2005 20:20
Сообщения: 274
Откуда: Черновцы
Olga Star писал(а):
Добрый день!
Помогите, пожалуйста, написать скрипт для нахождения объектов с одинаковыми значениями заданных параметров. Т.е.алгоритм примерно такой:
1.для выделенных объектов одного слоя проверить уникальность определенного параметра (параметр задается, например, через его ID либо в теле скрипта либо в диалоговом окне);
2.оставить выделенными только объекты с одинаковыми параметрами;
3.занести соответствующую запись о дублировании для всех выделенных объектов в отведенный для этого параметр (например, параметр "код ошибки" запись "5")

При самостоятельном написании столкнулась с непонятным поведением функции Map.NexSelected Number - при разном значении Number выдается одно и то же число. Не могли бы вы привести пример работы с данной командой и подробное ее описание.

Спасибо.


Писать новый скрипт нет никакой необходимости. В программе уже давно все реализовано. (правда надо немножко играться чтоб все было как надо)
1. Оставляете редактируемым только нужный слой. остальные закрыть. Нужно это для того чтоб не цеплялись объекты из других слоев. Я когдато давно просил локализировать чтоб поиск велся по слою объект которого выделен. Но так ничего и не сделали :(
2. На вкладке инфо выделяете нужное поле и нажимаете кнопку список.
В результате получите окошко в котором будет показано сколько вхождений каких параметров есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 14 ноя 2008 17:44 
Гуру
Гуру

Зарегистрирован:
14 дек 2005 20:20
Сообщения: 274
Откуда: Черновцы
Для большей автоматизации просьба реализовать функции в которых нужно вводить данные (например: Расширить/Сжать) таким образом чтоб:
1) можно было их вызвать с уже существующим параметром.
2) Сделать возможным вызов при котором диалог вообще появляться не будет.

Например:
[ Операции с объектами.Расширить/сжать ] 10, 0 - вызов с параметром 10 и диалог не показывать
[ Операции с объектами.Расширить/сжать ] 15, 1 - вызов с параметром 15 и диалог показать


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 14 ноя 2008 17:53 
Гуру
Гуру

Зарегистрирован:
14 дек 2005 20:20
Сообщения: 274
Откуда: Черновцы
Еще хотелось бы иметь функцию которая будет добавлять в конец объекта кусочек (с разрывом или без)
Например у меня есть основа откоса. Я хочу добавлять в конец объекта штрихи. Но при этом чтобы не приходилось пересылать весь объект.

Map.AddObjectPart objname|позиция (добавить впереди или сзади)|List

И вообще было бы неплохо реализовать функции для работы с отдельными точами объекта без необходимости менять его целиком.

Map.ObjectAddNode
Map.ObjectRemoveNode
Map.ObjectMoveNode


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрос на функцию
СообщениеДобавлено: 15 ноя 2008 18:15 
Администратор
Администратор

Зарегистрирован:
28 авг 2004 17:19
Сообщения: 1009
Dkrav писал(а):
Для большей автоматизации просьба реализовать функции в которых нужно вводить данные (например: Расширить/Сжать) таким образом чтоб:
1) можно было их вызвать с уже существующим параметром.
2) Сделать возможным вызов при котором диалог вообще появляться не будет.

Например:
[ Операции с объектами.Расширить/сжать ] 10, 0 - вызов с параметром 10 и диалог не показывать
[ Операции с объектами.Расширить/сжать ] 15, 1 - вызов с параметром 15 и диалог показать

Это можно сделать при помощи функции SendChars, которую нужно вызывать перед диалогом.

Пример скрипта, передающего в в диалог Расширить/сжать значение 10 и нажатие <Enter>:

@SendChars 10<CR>
[ Операции с объектами.Расширить/сжать ]

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1369 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 92  След.

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


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

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


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

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