Аналитика http://geosystema.net/forum/ |
|
Библиотека полезных скриптов http://geosystema.net/forum/viewtopic.php?f=3&t=2539 |
Страница 6 из 15 |
Автор: | zahidzem [ 15 май 2015 08:10 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Доброго дня. Из какого сообщения скачивать? по сылке только скрипт. Или я чего то не понимаю? Сори все получилось!!!! |
Автор: | sirenko_s_a [ 07 сен 2015 09:46 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Доброго всім дня! У когось є скрипт для заповнення шару "Обмеження". Якщо є змога, то поділіться |
Автор: | sergykydr [ 09 сен 2015 10:22 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
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: російська |
Автор: | sirenko_s_a [ 09 сен 2015 14:06 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Як прив`язатись до ID, бо до номеру шару дає помилку |
Автор: | sirenko_s_a [ 09 сен 2015 14:14 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
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" - пусто. То-есть: никаких шаблонов скачано не было! Пробував цей скрипт, працює, але чому не в кольорі створює .ВМП??? |
Автор: | Dmitry_Zolotar [ 09 сен 2015 14:37 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
sirenko_s_a писал(а): Пробував цей скрипт, працює, але чому не в кольорі створює .ВМП??? змініть бітність растру з 8 на 24 ... @Map.CreateLayout $X $Y 605 605 0 300 24 $FN ... |
Автор: | sirenko_s_a [ 09 сен 2015 15:04 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Dmitry_Zolotar писал(а): sirenko_s_a писал(а): Пробував цей скрипт, працює, але чому не в кольорі створює .ВМП??? змініть бітність растру з 8 на 24 ... @Map.CreateLayout $X $Y 605 605 0 300 24 $FN ... Дякую! |
Автор: | sirenko_s_a [ 09 сен 2015 15:32 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
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: російська А як зробити щоб по кожному окремому обмеженню забивати інформацію. Бо коли вибираєш ЛЕП то присвоює ЛЕП всім існуючим обмеженням на ділянці. |
Автор: | sergykydr [ 10 сен 2015 19:17 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
sirenko_s_a писал(а): А як зробити щоб по кожному окремому обмеженню забивати інформацію. Бо коли вибираєш ЛЕП то присвоює ЛЕП всім існуючим обмеженням на ділянці. Так не повино бути, десь помилка. Скиньте скрін з менеджеру шарів вашого XML. |
Автор: | sirenko_s_a [ 11 сен 2015 14:51 ] | ||
Заголовок сообщения: | Re: Библиотека полезных скриптов | ||
sergykydr писал(а): sirenko_s_a писал(а): А як зробити щоб по кожному окремому обмеженню забивати інформацію. Бо коли вибираєш ЛЕП то присвоює ЛЕП всім існуючим обмеженням на ділянці. Так не повино бути, десь помилка. Скиньте скрін з менеджеру шарів вашого XML. добавив розшифрування обмеження 01.05 Охоронна зона ..... Все одно
|
Автор: | sergykydr [ 12 сен 2015 08:40 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Всеж таки краще привязуватись до 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 |
Автор: | sirenko_s_a [ 15 сен 2015 12:33 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
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 |
Автор: | Виталий [ 22 сен 2015 12:15 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
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 |
Автор: | Виталий [ 22 сен 2015 12:23 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
[quote="fendak"]Написав сприпт, який автоматично визначає в якій стороні світу знаходиться межовий знак Подскажите пожалуйста, что сделать что б прописывало стороні света в параметр ну например "Опис місцезнаходження МежЗнака" (Спасибо) |
Автор: | fendak [ 23 сен 2015 20:22 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
замість @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), куди буде записано список сторін світу для усіх точок ділянки. Номер строки в списку відповідатиме номеру точки. |
Страница 6 из 15 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |