Аналитика

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

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




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

Зарегистрирован:
01 фев 2013 17:16
Сообщения: 109
Доброго дня. Из какого сообщения скачивать? по сылке только скрипт. Или я чего то не понимаю?

Сори все получилось!!!!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 07 сен 2015 09:46 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Доброго всім дня! У когось є скрипт для заповнення шару "Обмеження". Якщо є змога, то поділіться :)


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 сен 2015 10:22 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
sirenko_s_a Спробуйте цей.

;ОБМЕЖЕННЯ
$KolObmez=@Map.SelectLayer ID70008
@if $KolObmez=0 then @Break На земельній ділянці обмеження відсутні
$MC=@Map.Count
@Map.DeselectAll
$I=0
%Loop
$I=$I+1
;Знаходимо ID шару
$LID=@Map.Object[$I].LayerID
@if $LID<>70008 then @Goto %Continue
@Map.SelectObject $I
Вид | Показать помеченные
;Вибір параметрів
$Tip=@Dialog.Select Вкажіть тип обмеження|ЛЕП|Прибережні захисні смуги вздовж річок, навколо водойм та на островах|...
@if $Tip=ЛЕП then @goto %LEP
@if $Tip=Прибережні захисні смуги вздовж річок, навколо водойм та на островах then @goto %Voda
%LEP
@Map.Selected.SetParameter 83 01.05 Охоронна зона навколо (вздовж) об’єкта енергетичної системи
@Map.Selected.SetParameter 84 Охоронна зона навколо (вздовж) об’єкта енергетичної системи
@Map.Selected.SetParameter 86 <RestrictionEntitlement><DocumentType>01</DocumentType><DocumentName>Закон України "Про землі енергетики та правовий режим спеціальних зон енергетичних об'єктів"</DocumentName><DocumentDate>2010-07-09</DocumentDate></RestrictionEntitlement>
@Map.Selected.SetParameter 87 <RestrictionTerm><Permanent/></RestrictionTerm>
@Map.Selected.SetParameter 91 <Payment><Free/></Payment>
@Dialog.Message Для виділеного об'єкта вибрано тип обмеження:"$Tip"
@goto %konecobmez
%Voda
@Map.Selected.SetParameter 83 05.02 Прибережні захисні смуги вздовж річок, навколо водойм та на островах
@Map.Selected.SetParameter 84 Прибережні захисні смуги вздовж річок, навколо водойм та на островах
@Map.Selected.SetParameter 86 <RestrictionEntitlement><DocumentType>01</DocumentType><DocumentName>Водний кодекс</DocumentName><DocumentDate>1995-07-06</DocumentDate></RestrictionEntitlement>
@Map.Selected.SetParameter 87 <RestrictionTerm><Permanent/></RestrictionTerm>
@Map.Selected.SetParameter 91 <Payment><Free/></Payment>
@Dialog.Message Для виділеного об'єкта вибрано тип обмеження:"$Tip"
%konecobmez
;Знімаємо помітку з об'єкту
@Map.DeselectObject $I
%Continue
@if $I<$MC then @Goto %Loop



P/s/ мова Digitals: російська


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 сен 2015 14:06 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Як прив`язатись до ID, бо до номеру шару дає помилку


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 сен 2015 14:14 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Vaho писал(а):
Скачал обновления и прочитал, что добавили интересную функцию "@Map.CreateLayout". Сначала попробовал сам разобраться, но выдавало мне чистый лист. Нашел на форуме пример использования этой функции, тоже самое, формирует пустой лист. Может что делаю не так?
Пример:
$SO=@Map.SelectedObject
@if $SO=0 then @Break Нужно пометить объект
$X=@Map.Object[$SO].Parameter[-4]
$Y=@Map.Object[$SO].Parameter[-3]
$PP=@ProgramPath
$FN=$PP\Pictures\Викопіювання.bmp
@Map.CreateLayout $X $Y 605 605 0 300 8 $FN
@Run $FN

А в "сервис\документы" - вообще такой функции или шаблона не нашел.
После обновления в папке "С:\Digitals\Update\Templates" - пусто, "С:\Digitals\Update\Favorites" - пусто. То-есть: никаких шаблонов скачано не было!


Пробував цей скрипт, працює, але чому не в кольорі створює .ВМП???


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 сен 2015 14:37 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2299
Откуда: Vinnytsia
sirenko_s_a писал(а):
Пробував цей скрипт, працює, але чому не в кольорі створює .ВМП???

змініть бітність растру з 8 на 24
...
@Map.CreateLayout $X $Y 605 605 0 300 24 $FN
...

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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 сен 2015 15:04 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
Dmitry_Zolotar писал(а):
sirenko_s_a писал(а):
Пробував цей скрипт, працює, але чому не в кольорі створює .ВМП???

змініть бітність растру з 8 на 24
...
@Map.CreateLayout $X $Y 605 605 0 300 24 $FN
...

:) Дякую!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 сен 2015 15:32 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
sergykydr писал(а):
sirenko_s_a Спробуйте цей.

;ОБМЕЖЕННЯ
$KolObmez=@Map.SelectLayer ID70008
@if $KolObmez=0 then @Break На земельній ділянці обмеження відсутні
$MC=@Map.Count
@Map.DeselectAll
$I=0
%Loop
$I=$I+1
;Знаходимо ID шару
$LID=@Map.Object[$I].LayerID
@if $LID<>70008 then @Goto %Continue
@Map.SelectObject $I
Вид | Показать помеченные
;Вибір параметрів
$Tip=@Dialog.Select Вкажіть тип обмеження|ЛЕП|Прибережні захисні смуги вздовж річок, навколо водойм та на островах|...
@if $Tip=ЛЕП then @goto %LEP
@if $Tip=Прибережні захисні смуги вздовж річок, навколо водойм та на островах then @goto %Voda
%LEP
@Map.Selected.SetParameter 83 01.05 Охоронна зона навколо (вздовж) об’єкта енергетичної системи
@Map.Selected.SetParameter 84 Охоронна зона навколо (вздовж) об’єкта енергетичної системи
@Map.Selected.SetParameter 86 <RestrictionEntitlement><DocumentType>01</DocumentType><DocumentName>Закон України "Про землі енергетики та правовий режим спеціальних зон енергетичних об'єктів"</DocumentName><DocumentDate>2010-07-09</DocumentDate></RestrictionEntitlement>
@Map.Selected.SetParameter 87 <RestrictionTerm><Permanent/></RestrictionTerm>
@Map.Selected.SetParameter 91 <Payment><Free/></Payment>
@Dialog.Message Для виділеного об'єкта вибрано тип обмеження:"$Tip"
@goto %konecobmez
%Voda
@Map.Selected.SetParameter 83 05.02 Прибережні захисні смуги вздовж річок, навколо водойм та на островах
@Map.Selected.SetParameter 84 Прибережні захисні смуги вздовж річок, навколо водойм та на островах
@Map.Selected.SetParameter 86 <RestrictionEntitlement><DocumentType>01</DocumentType><DocumentName>Водний кодекс</DocumentName><DocumentDate>1995-07-06</DocumentDate></RestrictionEntitlement>
@Map.Selected.SetParameter 87 <RestrictionTerm><Permanent/></RestrictionTerm>
@Map.Selected.SetParameter 91 <Payment><Free/></Payment>
@Dialog.Message Для виділеного об'єкта вибрано тип обмеження:"$Tip"
%konecobmez
;Знімаємо помітку з об'єкту
@Map.DeselectObject $I
%Continue
@if $I<$MC then @Goto %Loop



P/s/ мова Digitals: російська

А як зробити щоб по кожному окремому обмеженню забивати інформацію. Бо коли вибираєш ЛЕП то присвоює ЛЕП всім існуючим обмеженням на ділянці.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 10 сен 2015 19:17 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
sirenko_s_a писал(а):
А як зробити щоб по кожному окремому обмеженню забивати інформацію. Бо коли вибираєш ЛЕП то присвоює ЛЕП всім існуючим обмеженням на ділянці.


Так не повино бути, десь помилка. Скиньте скрін з менеджеру шарів вашого XML.


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

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
sergykydr писал(а):
sirenko_s_a писал(а):
А як зробити щоб по кожному окремому обмеженню забивати інформацію. Бо коли вибираєш ЛЕП то присвоює ЛЕП всім існуючим обмеженням на ділянці.


Так не повино бути, десь помилка. Скиньте скрін з менеджеру шарів вашого XML.


добавив розшифрування обмеження 01.05 Охоронна зона ..... Все одно


Вложения:
Image 003.jpg
Image 003.jpg [ 49.06 Кб | Просмотров: 70942 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 12 сен 2015 08:40 
Эксперт
Эксперт

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

%LEP
@Map.Selected.SetParameter ID7000801 Охоронна зона навколо (вздовж) об’єкта енергетичної системи
@Map.Selected.SetParameter ID7000803 <RestrictionEntitlement><DocumentType>01</DocumentType><DocumentName>Закон України "Про землі енергетики та правовий режим спеціальних зон енергетичних об'єктів"</DocumentName><DocumentDate>2010-07-09</DocumentDate></RestrictionEntitlement>
@Map.Selected.SetParameter ID7000808 <RestrictionTerm><Permanent/></RestrictionTerm>
@Map.Selected.SetParameter ID7000812 <Payment><Free/></Payment>
@Dialog.Message Для виділеного об'єкта вибрано тип обмеження:"$Tip"
@goto %konecobmez


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 15 сен 2015 12:33 
Специалист
Специалист

Зарегистрирован:
04 май 2011 13:47
Сообщения: 35
sergykydr писал(а):
Всеж таки краще привязуватись до ID параметру:

%LEP
@Map.Selected.SetParameter ID7000801 Охоронна зона навколо (вздовж) об’єкта енергетичної системи
@Map.Selected.SetParameter ID7000803 <RestrictionEntitlement><DocumentType>01</DocumentType><DocumentName>Закон України "Про землі енергетики та правовий режим спеціальних зон енергетичних об'єктів"</DocumentName><DocumentDate>2010-07-09</DocumentDate></RestrictionEntitlement>
@Map.Selected.SetParameter ID7000808 <RestrictionTerm><Permanent/></RestrictionTerm>
@Map.Selected.SetParameter ID7000812 <Payment><Free/></Payment>
@Dialog.Message Для виділеного об'єкта вибрано тип обмеження:"$Tip"
@goto %konecobmez


Просто супер з прив'язкою до ID


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 22 сен 2015 12:15 
Эксперт
Эксперт

Зарегистрирован:
11 сен 2012 09:11
Сообщения: 78
fendak писал(а):
Написав сприпт, який автоматично визначає в якій стороні світу знаходиться межовий знак
Тут можна переглянути відео, як воно працює

Перед запуском відриваємо IN4
Код:
;Перевірка наявності відкритої карти
$CountMap=@MapCount
@If $CountMap=0 then @Break Для роботи скрипту потрібен IN4
$N=@Map.Count
@If $N=0 @Break На карті немає об'єктів
@Map.DeselectAll
@Map.SelectLayer ID20000
$N=@Map.SelCount
@If $N=0 @Break На карті немає ділянок
@Map.Selected.CreateCaptions -9 0 2 1 1 2 3
@Map.Copy
$SelObj=@Map.SelectedObject
$Range=@Map.Object[$SelObj].GetMinMax
$MinX=@StringPart 1 $Range
$MinX=%Library.ReplaceComma $MinX
$MinX=$MinX-1
$MaxX=@StringPart 4 $Range
$MaxX=%Library.ReplaceComma $MaxX
$MaxX=$MaxX+1
$CntrX=@Calc ($MinX+$MaxX)/2
$MinY=@StringPart 2 $Range
$MinY=%Library.ReplaceComma $MinY
$MinY=$MinY-1
$MaxY=@StringPart 5 $Range
$MaxY=%Library.ReplaceComma $MaxY
$MaxY=$MaxY+1
$CntrY=@Calc ($MinY+$MaxY)/2
;
$Ser1X=@Calc ($MaxX-$MinX)/3+$MinX
$Ser2X=@Calc ($MaxX-$MinX)/3+$Ser1X
$Ser1Y=@Calc ($MaxY-$MinY)/3+$MinY
$Ser2Y=@Calc ($MaxY-$MinY)/3+$Ser1Y
;
@FileNew Визначення сторони світу
@Map.Layers.SetAttributes 2 0 0 16777215 30 1 16777215 0 Courier_New 80 0 -2147483640
$P1=@Map.NewObject ID10000
@Map.Object[$P1].AddPoint $CntrX $CntrY
@Map.Object[$P1].AddPoint $Ser2X $MinY
@Map.Object[$P1].AddPoint $MaxX $MinY
@Map.Object[$P1].AddPoint $MaxX $Ser1Y
@Map.Object[$P1].AddPoint $CntrX $CntrY
@Map.Object[$P1].Delete 1
;
$P2=@Map.NewObject ID10000
@Map.Object[$P2].AddPoint $CntrX $CntrY
@Map.Object[$P2].AddPoint $MaxX $Ser1Y
@Map.Object[$P2].AddPoint $MaxX $Ser2Y
@Map.Object[$P2].AddPoint $CntrX $CntrY
@Map.Object[$P2].Delete 1
;
$P3=@Map.NewObject ID10000
@Map.Object[$P3].AddPoint $CntrX $CntrY
@Map.Object[$P3].AddPoint $MaxX $Ser2Y
@Map.Object[$P3].AddPoint $MaxX $MaxY
@Map.Object[$P3].AddPoint $Ser2X $MaxY
@Map.Object[$P3].AddPoint $CntrX $CntrY
@Map.Object[$P3].Delete 1
;
$P4=@Map.NewObject ID10000
@Map.Object[$P4].AddPoint $CntrX $CntrY
@Map.Object[$P4].AddPoint $Ser2X $MaxY
@Map.Object[$P4].AddPoint $Ser1X $MaxY
@Map.Object[$P4].AddPoint $CntrX $CntrY
@Map.Object[$P4].Delete 1
;
$P5=@Map.NewObject ID10000
@Map.Object[$P5].AddPoint $CntrX $CntrY
@Map.Object[$P5].AddPoint $Ser1X $MaxY
@Map.Object[$P5].AddPoint $MinX $MaxY
@Map.Object[$P5].AddPoint $MinX $Ser2Y
@Map.Object[$P5].AddPoint $CntrX $CntrY
@Map.Object[$P5].Delete 1
;
$P6=@Map.NewObject ID10000
@Map.Object[$P6].AddPoint $CntrX $CntrY
@Map.Object[$P6].AddPoint $MinX $Ser2Y
@Map.Object[$P6].AddPoint $MinX $Ser1Y
@Map.Object[$P6].AddPoint $CntrX $CntrY
@Map.Object[$P6].Delete 1
;
$P7=@Map.NewObject ID10000
@Map.Object[$P7].AddPoint $CntrX $CntrY
@Map.Object[$P7].AddPoint $MinX $Ser1Y
@Map.Object[$P7].AddPoint $MinX $MinY
@Map.Object[$P7].AddPoint $Ser1X $MinY
@Map.Object[$P7].AddPoint $CntrX $CntrY
@Map.Object[$P7].Delete 1
;
$P8=@Map.NewObject ID10000
@Map.Object[$P8].AddPoint $CntrX $CntrY
@Map.Object[$P8].AddPoint $Ser1X $MinY
@Map.Object[$P8].AddPoint $Ser2X $MinY
@Map.Object[$P8].AddPoint $CntrX $CntrY
@Map.Object[$P8].Delete 1
@Window.Refresh
@Map.Paste
@Map.SelectLayer ID20000
@Map.AddNodes 30
@Map.DeselectAll
Перевірка | Очистить удаленные объекты
@Map.SelectAll
Вигляд | Показати позначені
$MC=@Map.Count
$N=0
@Map.DeselectAll
%Pochatok
$N=$N+1
$LID=@Map.Object[$N].LayerID
@If ($LID=10000) then @Goto %Next
$NomerT=@Map.Object[$N].Parameter[91]
@Map.SelectObject $N
@Map.Selected.Cut
@Map.Paste
$ParentObj=@Map.ParentObject $N
@if $ParentObj=$P1 then @Dialog.Message Точка $NomerT знаходиться на північному заході ділянки
@if $ParentObj=$P2 then @Dialog.Message Точка $NomerT знаходиться на півночі ділянки
@if $ParentObj=$P3 then @Dialog.Message Точка $NomerT знаходиться на північному сході ділянки
@if $ParentObj=$P4 then @Dialog.Message Точка $NomerT знаходиться на сході ділянки
@if $ParentObj=$P5 then @Dialog.Message Точка $NomerT знаходиться на південному сході ділянки
@if $ParentObj=$P6 then @Dialog.Message Точка $NomerT знаходиться на півдні ділянки
@if $ParentObj=$P7 then @Dialog.Message Точка $NomerT знаходиться на південному заході ділянки
@if $ParentObj=$P8 then @Dialog.Message Точка $NomerT знаходиться на заході ділянки
@Map.DeselectAll
%Next
@if $N<$MC then @Goto %Pochatok


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 22 сен 2015 12:23 
Эксперт
Эксперт

Зарегистрирован:
11 сен 2012 09:11
Сообщения: 78
[quote="fendak"]Написав сприпт, який автоматично визначає в якій стороні світу знаходиться межовий знак

Подскажите пожалуйста, что сделать что б прописывало стороні света в параметр ну например "Опис місцезнаходження МежЗнака" (Спасибо)


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 23 сен 2015 20:22 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 798
Откуда: Львівська область
замість
@if $ParentObj=$P1 then @Dialog.Message Точка $NomerT знаходиться на північному заході ділянки
...
напишіть
@if $ParentObj=$P1 then $S=північному заході
...(аналогічно для усіх інших сторін світу)
@Text.Add $S

і в кінці скрипта добавте
$S=@Text.Text
;створюємо параметр ID7000581
$S=@Map.Parameters.Get ID7000581
@if $S= then @Map.Parameters.Add 7000580 5 Список сторін світу
;добавляєм параметр ID7000581 в список доступних шару XML : Земельна ділянка
$S=@Map.Layers.GetValidParameters ID70005
@Map.Layers.SetValidParameters ID70005 $S ID7000581
@Map.SelectLayer ID70005
$obj=@Map.SelectedObject
@Map.Object[$obj].Parameter[ID7000580] $Res

В результаті в шарі ХМЛ Земельна ділянка добавиться новий параметр (ID7000581), куди буде записано список сторін світу для усіх точок ділянки. Номер строки в списку відповідатиме номеру точки.

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


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

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


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

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


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

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