Аналитика http://geosystema.net/forum/ |
|
Все про скрипти http://geosystema.net/forum/viewtopic.php?f=1&t=2809 |
Страница 6 из 83 |
Автор: | voha [ 06 апр 2013 08:20 ] |
Заголовок сообщения: | Re: Все про скрипти |
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 При использовании команды Правка|Специальная вставка|В другом масштабе объекты карты масштабируются (растягиваются или сжимаются) и им присваивается специальный коэффициент масштабирования. Этот коэффициент используется для приведения площади и периметра измененного объекта к исходным значениям до изменения. Никогда не используйте вставку в другом масштабе в ваших рабочих картах. Эта команда предназначена только для печати документов, схем и т.д. У меня вопрос:есть участок (помечен красным цветом в документе который прилагаю) и тут же его оригинал(не масштабированный).если бы у меня не было оригинала, тоя бы смог с помощью скрипта указанного выше вернуть все к исходному Застосовувати функцію @Map.Object[$N].Scale 0 до всіх об'єктів карти1 і подальший запис змін в карті1 - означає втрату масштабного коефіцієнта для об'єктів, масштабні коефіцієнти яких не були рівними 0 Через це, приведення об'єктів, масштабний коефіцієнт яких не рівний 0, до первинного вигляду, можливе лише шляхом копіювання в буфер обміну з карти1 і спеціальної вставки при масштабному коефіцієнті 0. Інше питання - розміщення цього об'єкта після такої вставки (відео SpecialPaste.exe) Вложение:
|
Автор: | voha [ 06 апр 2013 09:57 ] |
Заголовок сообщения: | Re: Все про скрипти |
Пупкин писал(а): ...Допоможіть будь-ласка знайти функцію, якою можна було би перевірити полігон на предмет того, чи містить він вкраплені контури (вирізані методом "Сложный полигон", наприклад). Можна просити розробників добавити скриптову функцію @Map.Object[N].Type що повертала-б тип об'єкта, в тому числі якщо полігон - тип полігону (збірний чи складний).Інакше - писати скрипта перебору всіх об'єктів полігонів з аналізом наявності розриву в координатах (збірний полігоний і складний полігон); розділити полігон; аналізувати на перекриття отримані після розділення полігони (якщо є перекриття - значить полігон складний, якщо немає перекриття - полігон збірний); якщо полігон складний - повторити створення складного полігону, якщо полігон збірний - відмінити розділення полігонів. Частина коду підійде звідси. За відсутності функції @Map.Object[N].Type - мабуть, тільки так. |
Автор: | voha [ 06 апр 2013 13:07 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denidz писал(а): Вроде все заработало , но только не могу понять как дополнить кодом, что если совпадение не найдено то строки которые не совпали записывались в отдельный txt. А я не можу зрозуміти, як у Вас все запрацювало От трохи поправив Код: $C=@Map.SelCount Правда прийшлось перезберегти кодування текстового файла на: 1051 Ansi (кирилиця). Кадномери, що не знайшлися в текстовому файлі, записуються в D:\NoPresent.txt.@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 Знайдено всі відповідності кадномера У Вас @if $С=0 then @Break Выделите объекты - кирилична літера. |
Автор: | bytarlr16 [ 06 апр 2013 14:21 ] |
Заголовок сообщения: | Re: Все про скрипти |
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 При использовании команды Правка|Специальная вставка|В другом масштабе объекты карты масштабируются (растягиваются или сжимаются) и им присваивается специальный коэффициент масштабирования. Этот коэффициент используется для приведения площади и периметра измененного объекта к исходным значениям до изменения. Никогда не используйте вставку в другом масштабе в ваших рабочих картах. Эта команда предназначена только для печати документов, схем и т.д. У меня вопрос:есть участок (помечен красным цветом в документе который прилагаю) и тут же его оригинал(не масштабированный).если бы у меня не было оригинала, тоя бы смог с помощью скрипта указанного выше вернуть все к исходному Застосовувати функцію @Map.Object[$N].Scale 0 до всіх об'єктів карти1 і подальший запис змін в карті1 - означає втрату масштабного коефіцієнта для об'єктів, масштабні коефіцієнти яких не були рівними 0 Через це, приведення об'єктів, масштабний коефіцієнт яких не рівний 0, до первинного вигляду, можливе лише шляхом копіювання в буфер обміну з карти1 і спеціальної вставки при масштабному коефіцієнті 0. Інше питання - розміщення цього об'єкта після такої вставки (відео SpecialPaste.exe) Вложение: SpecialPaste.exe Очень благодарен за квалификационную помощь,очень помогло |
Автор: | Denidz [ 07 апр 2013 18:16 ] |
Заголовок сообщения: | Re: Все про скрипти |
voha писал(а): А я не можу зрозуміти, як у Вас все запрацювало От трохи поправив не, ну в процессе я и $C подправил и в Ansi перекодил конечно, еще убрал ":". вроде больше ничего не трогал. потестил на 20 участках все корректно было. @if "$Kadin"="$KAD" @Goto %Start за эту строчку особенное спасибо, должно сократить время в моем скрипте, как я сам не догадался!? Да и вообще спасибо, что помогли! все понятно разжевали. |
Автор: | Zavik [ 15 апр 2013 14:40 ] |
Заголовок сообщения: | Re: Все про скрипти |
Хочу дізнатись в чому тут помилка? В мене відкритий ХML хочу зберегти його з новою назвою як це правильно зробити? $FileName=@Map.Filename $Path=@GetFilePath $FileName $Ext=.xml $NewName=new $tmp=@Concat $Path,\,$NewName @Map.SaveToFile $tmp $Ext |
Автор: | voha [ 16 апр 2013 14:40 ] |
Заголовок сообщения: | Re: Все про скрипти |
Zavik писал(а): Хочу дізнатись в чому тут помилка? В мене відкритий ХML хочу зберегти його з новою назвою як це правильно зробити? Код: $FileName=@Map.ClearFilename
$FilePath=@GetFilePath $FileName $MapName=@Map.ClearShortFilename $NewMapName=@Dialog.Ask Вкажіть нове ім'я файла Default=$MapName $NewName=$FilePath\$NewMapName.xml @Map.SaveToFile $NewName |
Автор: | Zavik [ 18 апр 2013 14:34 ] |
Заголовок сообщения: | Re: Все про скрипти |
Дуже вдячний!!! В мене тут ще одне питання виникло: В мене є .dmf файл з ділянками в якому заповнено параметри ПД(коли і ким виданий пасп.) Є також сформовані .XML файли на ці ділянки. Як записати дані з ПД в відповідні поля XML |
Автор: | Deffar [ 21 май 2013 08:28 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня. Допоможіть розібратися, маємо: Код: $Tab=@Calc char(9) $Tab=@DequoteText $Tab $Kv1=1 $Kv2=2 $Kv3=3 @Dialog.Message $Kv1$Tab$Kv2$Tab$Kv3 В результаті отримую 12$Tab3 Як з цим боротися ? |
Автор: | Dmitry_Zolotar [ 21 май 2013 09:59 ] |
Заголовок сообщения: | Re: Все про скрипти |
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 |
Автор: | Kasman [ 24 май 2013 11:20 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Подскажите пожалуйста как с помощью етого скрипта)@Map.Layers.SetState Number State(0/1/2/3)) можна делать слой скрытым и видимым ? (ид слоя 1000001) |
Автор: | Denidz [ 25 май 2013 18:18 ] |
Заголовок сообщения: | Re: Все про скрипти |
не получается заменить " на _ $URNM=ппп "аааа" $URNM=@Calc Replace($URNM,""","_") |
Автор: | Vaho [ 27 май 2013 08:22 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Подскажите пожалуйста! Хочу создать кнопульку при нажатии на которую активная карта пересчитывалась бы из одной системы координат в другую. То-есть у меня карта в СК63, а хочу пересчитать в местную (из плоской в плоскую) по ключам перехода. Типа (карта|система координат) в старой системе от трех до четырех точек и соответствующие им в новой системе. |
Автор: | Dmitriy Fedorov [ 27 май 2013 08:41 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Vaho писал(а): Подскажите пожалуйста! Хочу создать кнопульку при нажатии на которую активная карта пересчитывалась бы из одной системы координат в другую. То-есть у меня карта в СК63, а хочу пересчитать в местную (из плоской в плоскую) по ключам перехода. Типа (карта|система координат) в старой системе от трех до четырех точек и соответствующие им в новой системе. Создайте местную систему в datums.ini - там присутствует образец/заготовка местной системы на базе СК63. Опишите ваши связующие точки и дело в шляпе. Пересчет через буфер обмена, исходная карта будет СК63, конечная - ваша Местная (Карта - Свойства). |
Автор: | Dmitry_Zolotar [ 27 май 2013 10:28 ] |
Заголовок сообщения: | Re: Все про скрипти |
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 |
Страница 6 из 83 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |