Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 29 мар 2024 01:38

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




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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
bytarlr16 писал(а):
Sergey Oleynik писал(а):
Сброс коэффициента масштабирования объектов

$C=@Map.Count
@If $C<1 @Break
$N=1
%Start:
@Map.Object[$N].Scale 0
$N=$N+1
@If $N<$C @Goto %Start


При использовании команды Правка|Специальная вставка|В другом масштабе объекты карты масштабируются (растягиваются или сжимаются) и им присваивается специальный коэффициент масштабирования. Этот коэффициент используется для приведения площади и периметра измененного объекта к исходным значениям до изменения.

Никогда не используйте вставку в другом масштабе в ваших рабочих картах. Эта команда предназначена только для печати документов, схем и т.д.

У меня вопрос:есть участок (помечен красным цветом в документе который прилагаю) и тут же его оригинал(не масштабированный).если бы у меня не было оригинала, тоя бы смог с помощью скрипта указанного выше вернуть все к исходному :?:
Наскільки я зрозумів, масштабний коефіцієнт об'єкта, що був заданий при спеціальній вставці об'єкта в карту1 з карти3, зберігається в карті1.

Застосовувати функцію @Map.Object[$N].Scale 0 до всіх об'єктів карти1 і подальший запис змін в карті1 - означає втрату масштабного коефіцієнта для об'єктів, масштабні коефіцієнти яких не були рівними 0 :!:

Через це, приведення об'єктів, масштабний коефіцієнт яких не рівний 0, до первинного вигляду, можливе лише шляхом копіювання в буфер обміну з карти1 і спеціальної вставки при масштабному коефіцієнті 0.

Інше питання - розміщення цього об'єкта після такої вставки (відео SpecialPaste.exe)
Вложение:
SpecialPaste.exe [816.68 Кб]
Скачиваний: 673


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Пупкин писал(а):
...Допоможіть будь-ласка знайти функцію, якою можна було би перевірити полігон на предмет того, чи містить він вкраплені контури (вирізані методом "Сложный полигон", наприклад).
Можна просити розробників добавити скриптову функцію @Map.Object[N].Type що повертала-б тип об'єкта, в тому числі якщо полігон - тип полігону (збірний чи складний).
Інакше - писати скрипта перебору всіх об'єктів полігонів з аналізом наявності розриву в координатах (збірний полігоний і складний полігон); розділити полігон; аналізувати на перекриття отримані після розділення полігони (якщо є перекриття - значить полігон складний, якщо немає перекриття - полігон збірний); якщо полігон складний - повторити створення складного полігону, якщо полігон збірний - відмінити розділення полігонів. Частина коду підійде звідси.
За відсутності функції @Map.Object[N].Type - мабуть, тільки так.


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Denidz писал(а):
Вроде все заработало :D, но только не могу понять как дополнить кодом, что если совпадение не найдено то строки которые не совпали записывались в отдельный txt.
А я не можу зрозуміти, як у Вас все запрацювало :wink:
От трохи поправив
Код:
$C=@Map.SelCount
@if $C=0 then @Break Выделите объекты
$N=0
;список со строками вида 'Гейван Георгій Засімович.0123982200:05:001:0571'
@Text[1].Load D:\2.txt
;число строк в списке
$SC=@Text[1].Count
%Start
;перебираем обьекты по 1
$N=@Map.NextSelected $N
@if $N=0 then @Goto %End
;параметр с кадастровым номером вида '0123982200:05:001:0571'
$KAD=@Map.Object[$N].Parameter[ID106]
$I=0
%Loop
$I=$I+1
@if $I>$SC @Goto %EndLoop
;перебираем строки в списке
$z=@Text[1].line[$I]
;имя землепользователя
$NM=@StringPart 1.$z
;кадастровый номер
$Kadin=@StringPart 2.$z
;если находим совпадение по кад. номерам то в параметр 20030 записываем ФИО
@if "$Kadin"="$KAD" then @Map.Object[$N].Parameter[ID20030]=$NM
@if "$Kadin"="$KAD" @Goto %Start
@Goto %Loop
%EndLoop
@Text[2].Add $KAD
@Goto %Start
%End
$CountText2=@Text[2].Count
@If $CountText2<>0 @Text[2].Save D:\NoPresent.txt
@If $CountText2<>0 then @Dialog.Message Не знайдено відповідності кадномера|Записано D:\NoPresent.txt else @Dialog.Message Знайдено всі відповідності кадномера
Правда прийшлось перезберегти кодування текстового файла на: 1051 Ansi (кирилиця). Кадномери, що не знайшлися в текстовому файлі, записуються в D:\NoPresent.txt.

У Вас @if $С=0 then @Break Выделите объекты - кирилична літера.


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

Зарегистрирован:
17 дек 2012 19:19
Сообщения: 57
voha писал(а):
bytarlr16 писал(а):
Sergey Oleynik писал(а):
Сброс коэффициента масштабирования объектов

$C=@Map.Count
@If $C<1 @Break
$N=1
%Start:
@Map.Object[$N].Scale 0
$N=$N+1
@If $N<$C @Goto %Start


При использовании команды Правка|Специальная вставка|В другом масштабе объекты карты масштабируются (растягиваются или сжимаются) и им присваивается специальный коэффициент масштабирования. Этот коэффициент используется для приведения площади и периметра измененного объекта к исходным значениям до изменения.

Никогда не используйте вставку в другом масштабе в ваших рабочих картах. Эта команда предназначена только для печати документов, схем и т.д.

У меня вопрос:есть участок (помечен красным цветом в документе который прилагаю) и тут же его оригинал(не масштабированный).если бы у меня не было оригинала, тоя бы смог с помощью скрипта указанного выше вернуть все к исходному :?:
Наскільки я зрозумів, масштабний коефіцієнт об'єкта, що був заданий при спеціальній вставці об'єкта в карту1 з карти3, зберігається в карті1.

Застосовувати функцію @Map.Object[$N].Scale 0 до всіх об'єктів карти1 і подальший запис змін в карті1 - означає втрату масштабного коефіцієнта для об'єктів, масштабні коефіцієнти яких не були рівними 0 :!:

Через це, приведення об'єктів, масштабний коефіцієнт яких не рівний 0, до первинного вигляду, можливе лише шляхом копіювання в буфер обміну з карти1 і спеціальної вставки при масштабному коефіцієнті 0.

Інше питання - розміщення цього об'єкта після такої вставки (відео SpecialPaste.exe)
Вложение:
SpecialPaste.exe

Очень благодарен за квалификационную помощь,очень помогло :!: :D


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

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
voha писал(а):
А я не можу зрозуміти, як у Вас все запрацювало :wink:
От трохи поправив

не, ну в процессе я и $C подправил и в Ansi перекодил конечно, еще убрал ":". вроде больше ничего не трогал. потестил на 20 участках все корректно было.
@if "$Kadin"="$KAD" @Goto %Start за эту строчку особенное спасибо, должно сократить время в моем скрипте, как я сам не догадался!? :D Да и вообще спасибо, что помогли! все понятно разжевали.


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

Зарегистрирован:
22 мар 2013 11:51
Сообщения: 13
Откуда: м. Львів
Хочу дізнатись в чому тут помилка? В мене відкритий ХML хочу зберегти його з новою назвою як це правильно зробити?
$FileName=@Map.Filename
$Path=@GetFilePath $FileName
$Ext=.xml
$NewName=new
$tmp=@Concat $Path,\,$NewName
@Map.SaveToFile $tmp $Ext


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Zavik писал(а):
Хочу дізнатись в чому тут помилка? В мене відкритий ХML хочу зберегти його з новою назвою як це правильно зробити?
Код:
$FileName=@Map.ClearFilename
$FilePath=@GetFilePath $FileName
$MapName=@Map.ClearShortFilename
$NewMapName=@Dialog.Ask Вкажіть нове ім'я файла Default=$MapName
$NewName=$FilePath\$NewMapName.xml
@Map.SaveToFile $NewName


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

Зарегистрирован:
22 мар 2013 11:51
Сообщения: 13
Откуда: м. Львів
Дуже вдячний!!! В мене тут ще одне питання виникло:
В мене є .dmf файл з ділянками в якому заповнено параметри ПД(коли і ким виданий пасп.)
Є також сформовані .XML файли на ці ділянки. Як записати дані з ПД в відповідні поля XML


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

Зарегистрирован:
30 авг 2010 16:23
Сообщения: 100
Откуда: Хмельницкий
Доброго дня. Допоможіть розібратися, маємо:
Код:
$Tab=@Calc char(9)
$Tab=@DequoteText $Tab
$Kv1=1
$Kv2=2
$Kv3=3
@Dialog.Message $Kv1$Tab$Kv2$Tab$Kv3

В результаті отримую 12$Tab3 Як з цим боротися ?


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Deffar писал(а):
Доброго дня. Допоможіть розібратися, маємо:
Код:
$Tab=@Calc char(9)
$Tab=@DequoteText $Tab
$Kv1=1
$Kv2=2
$Kv3=3
@Dialog.Message $Kv1$Tab$Kv2$Tab$Kv3

В результаті отримую 12$Tab3 Як з цим боротися ?

$Tab=@Calc char(9)
$Tab=@DequoteText $Tab
$Kv1=1
$Kv2=2
$Kv3=3
$K=$Kv1$Tab$Kv2
$K=$K$Tab$Kv3
@Dialog.Message $K

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


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

Зарегистрирован:
21 янв 2013 16:06
Сообщения: 23
Подскажите пожалуйста как с помощью етого скрипта)@Map.Layers.SetState Number State(0/1/2/3)) можна делать слой скрытым и видимым ? (ид слоя 1000001)


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

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
не получается заменить " на _
$URNM=ппп "аааа"
$URNM=@Calc Replace($URNM,""","_")


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

Зарегистрирован:
18 июл 2011 09:16
Сообщения: 43
Подскажите пожалуйста! Хочу создать кнопульку при нажатии на которую активная карта пересчитывалась бы из одной системы координат в другую. То-есть у меня карта в СК63, а хочу пересчитать в местную (из плоской в плоскую) по ключам перехода. Типа (карта|система координат) в старой системе от трех до четырех точек и соответствующие им в новой системе.


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

Зарегистрирован:
04 дек 2004 19:41
Сообщения: 1035
Откуда: г. Харьков
Vaho писал(а):
Подскажите пожалуйста! Хочу создать кнопульку при нажатии на которую активная карта пересчитывалась бы из одной системы координат в другую. То-есть у меня карта в СК63, а хочу пересчитать в местную (из плоской в плоскую) по ключам перехода. Типа (карта|система координат) в старой системе от трех до четырех точек и соответствующие им в новой системе.

Создайте местную систему в datums.ini - там присутствует образец/заготовка местной системы на базе СК63. Опишите ваши связующие точки и дело в шляпе. Пересчет через буфер обмена, исходная карта будет СК63, конечная - ваша Местная (Карта - Свойства).


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

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Denidz писал(а):
не получается заменить " на _
$URNM=ппп "аааа"
$URNM=@Calc Replace($URNM,""","_")

$RS=#
$S=ТОВ "Землеустроительная фирма"
$SS=
$N=@StringPartCount " $S
$I=0
%Loop
$I=$I+1
$S1=@StringPart $I"$S
@if $I<>1 then $SS=$SS$RS
$SS=$SS$S1
@if $I<$N then @Goto %Loop
@Dialog.Message $SS

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


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

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


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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 107


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

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