Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 18 дек 2017 18:29

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




Начать новую тему Ответить на тему  [ Сообщений: 161 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11  След.
Автор Сообщение
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 18 ноя 2016 14:35 
Участник
Участник

Зарегистрирован:
04 фев 2011 15:39
Сообщения: 9
Откуда: м.Хмельницький
fendak писал(а):
Проблема в тому, що в дігіталс нема функції - витягнути в ХМЛ. Через це складно суміжники сформувати.


Можливо є резон з Олійником переговорити, щоб добавили в дігіталс функцію - витягнути в ХМЛ!!!???


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

Зарегистрирован:
06 дек 2011 13:07
Сообщения: 200
Откуда: Дубно
fendak писал(а):
Скрипт, який формує Список межових знаків, переданих на зберігання.
Коротко про суть роботи. Формується карта з DMT шаблону. Послідовно запитує виділити закріплені межові знаки на ділянці і будівлю чи ЛЕП, до якої знак прив'язаний промірами. Потім результат промірів і інше заносяться в текстову табличку.
Тут можна переглянути відео - http://www.geosystema.net/forum/viewtopic.php?f=1&t=19487&p=35688#35688

Код:
@Map.DeselectAll
@Map.SelectLayer ID20000
Документи | Опис меж

.....

чому після привязки усіх чотирьох точок нічого далі не відбувається? усе зупиняється і залишається початкова ділянка тільки з привязками точок...?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 29 ноя 2016 00:58 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
iventy писал(а):
Так у мене карта із масивом вже готових ХМЛ, а тепер потрібно витягнути їх по окремості і щоб назва файла містила кадастровий номер земельної ділянки :arrow: *(19-и значний).xml :arrow: і бажано в одну папку на локальному диску! Ооо!

Колись писав щось подiбне для товариша з Закарпаття, може чимось Вам поможе
Код:
;Для ЦIМБОРА (формування окремих ХМЛ з одного масиву 09.04.2015)
$Count=@MapCount
;вихiд, коли не вiдкрито жодної карти
@if $Count=0 @Break
$Source=@ActivateMap
;перевiрка, чи немає лишнiх об'єктiв на шарах in4
@Map.DeselectAll
@Map.SelectLayer ID10000 ID20000 ID30000 ID50000
$ParcCnt=@Map.SelCount
@if $ParcCnt=0 then @Goto %PRStart
$DLG=@Dialog.Confirm На шарах IN4 є об'єкти. Витерти їх для коректного виконання програми?
@if $DLG=0 then @Break
@Map.Selected.Delete
%PRStart:
;витираємо шари IN4
$Lay=@Map.Layers.FindByID ID10000
@if $Lay<>0 then @Map.Layers.Delete $Lay
$Lay=@Map.Layers.FindByID ID20000
@if $Lay<>0 then @Map.Layers.Delete $Lay
$Lay=@Map.Layers.FindByID ID30000
@if $Lay<>0 then @Map.Layers.Delete $Lay
$Lay=@Map.Layers.FindByID ID50000
@if $Lay<>0 then @Map.Layers.Delete $Lay
; шари видалено
@Map.DeselectAll
; берем загальнi данi xml
@Map.SelectLayer ID70003
$DS=@Map.NextSelected
$DS=@Map.GetObjectParamBuf $DS
@Map.DeselectAll
;працюєм далi
$Count=@Map.Count
$CurrentObject=0
%Loop
;копiюєм в буфер шар 'реквiзити файлу'
@Map.SelectLayer ID70000
@Map.Selected.Copy
@Map.DeselectAll
$CurrentObject=$CurrentObject+1
$LID=@Map.Object[$CurrentObject].LayerID
@if $LID<>70005 then @Goto %Continue
@Map.SelectObject $CurrentObject
Файл | Извлечь участок в In4
$Target=@ActivateMap
;@Dialog.Message before PASTE
;вставляєм з буферу шар 'реквiзити файлу'
@Map.Paste
;@Dialog.Message after PASTE
; записуємо данi 'DS'
@Map.DeselectAll
@Map.SelectLayer ID70003
$ParcCnt=@Map.SelCount
@if $ParcCnt=0 then @Goto %CRLayer
;@Dialog.Message OLD
%SetParam:
$DSnew=@Map.NextSelected
@Map.SetObjectParamBuf $DSnew|$DS
@Map.DeselectAll
;@Dialog.Message Set parameter to obj: $DSnew
@goto %NextCHK
%CRLayer:
; наступну стрiчку забрати для подальшого вiдлагоджування
; @goto %NextCHK
$Bnum=$CurrentObject
;@Dialog.Message OK $Bnum
; пошук елементу "Дiлянка"
$CountXMLmap=@Map.Count
%FindBND
;@Dialog.Message $CountXMLmap
$ObjID=@Map.Object[$CountXMLmap].ID
@if $CurrentObject<>$ObjID then @goto %ExitCycle
;знайдено об'єкт з нашою дiлянкою в новоствореному файлi
$Bnum=@Map.Object[$CountXMLmap].Index
;@Dialog.Message IDX=$Bnum
%ExitCycle
$CountXMLmap=$CountXMLmap-1
@if $CountXMLmap>0 then @goto %FindBND
@Map.DeselectAll
;копiюємо дiлянку в шар 'кадастрова зона'
@Map.Object[$Bnum].Select
@Map.Selected.Copy
@Map.Paste
@Map.ChangeSelectedLayer ID70003
;@Dialog.Message End $Bnum
;
;@Dialog.Message NEW OK
;створюємо новий шар на основi дiлянки
@goto %SetParam
%NextCHK
; перевiрки:
; 1. якщо є шар in4-сумiжник перекидаємо його в xml-сумiжник
@Map.SelectLayer ID50000
@if @Map.SelCount=0 then @Goto %XMLcreate
@Map.ChangeSelectedLayer ID70010
%XMLcreate:
; 2. перевiрка на к-сть дiлянок в малюнку (якщо > 1 тодi
;    перекидаєм їх на шар з сумiжниками)
@Map.DeselectAll
@Map.SelectLayer ID70005
$ParcCnt=@Map.SelCount
;    - якщо одна тодi далi
@if $ParcCnt=1 then @Goto %Single
;    - якщо > одної тодi
$XMLobject=0
;@Dialog.Message START
%Loop2
$XMLobject=@Map.NextSelected $XMLobject
$IDX=@Map.Object[$XMLobject].ID
;@Dialog.Message $ParcCnt $XMLobject $IDX $CurrentObject
@if $IDX<>$CurrentObject then @Goto %ReplLayer
; викидаємо саму дiлянку з списку помiчених 
;@Dialog.Message Замiна $IDX
@Map.DeselectObject $XMLobject
;@Dialog.Message del
%NextStep
$ParcCnt=$ParcCnt-1
@if $ParcCnt>0 then goto %Loop2
@Goto %Single
%ReplLayer:
@Map.DeselectAll
@Map.SelectObject $XMLobject
; прайюємо з параметрами XML Дiлянка-Сумiжник
; формуємо данi про землекористувача
$A=@Map.Object[$XMLobject].Parameter[63]
$Sstr=@Calc Pos("<Authentication>","$A")
$Estr=@Calc Pos("</Authentication>","$A")
$A=@Calc Copy("$A",$Sstr+16,$Estr-$Sstr-16)
$A=@DequoteText $A
$A=<Proprietor>$A</Proprietor>
; перекидаєм помiченi на шар сумiжникiв
@Map.Selected.ChangeLayer ID70010
@Map.Selected.SetParameter 106 $A
@Goto %XMLcreate
;
%Single:
@Map.DeselectAll
;$FName=@Map.ClearFilename
$FPath=@Map.ClearFilename
$FPath=@ExtractFilePath $FPath
$FName=@Map.XMLCadastralNumber
$FName=$FPath$FName
;@Dialog.Message $FName
$Suffix=0
%NextSuffix
$Suffix=$Suffix+1
$FFN=$FName
@if $Suffix<>1 then $FFN=$FFN($Suffix)
$FFN=$FFN.xml
$FE=@FileExists $FFN
@if $FE<>0 then @Goto %NextSuffix
%SaveIn4
@Map.SaveToFile $FFN
@CloseMap $Target
%Continue
@ActivateMap $Source
@Map.DeselectAll
@if $CurrentObject<$Count then @Goto %Loop
;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 дек 2016 02:41 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
Ryvol писал(а):
...буде цікаво зробити варіант вводу довжин та внутрішніх кутів (Полярним методом) в самому Діджіталс без додаткових заморочок із модулем "Геодезiя (Geodesy.exe)".
http://www.geosystema.net/forum/viewtopic.php?f=1&p=38368#38368

Код:
$Count=@MapCount
@if $Count=0 @Break
@Map.DeselectAll
$Dialog=@Dialog.WaitBox Виберiть початкову лiнiю для роботи
@If $Dialog=0 @Break
$ObjSel=@Map.SelCount
@if $ObjSel=0 @Break
@if $ObjSel > 1 then goto %ErrCount
$NObj=@Map.NextSelected
$Cnt=@Map.Object[$NObj].Count
@if $Cnt<2 then goto %ErrLine
%Cycle
$CntP=$Cnt-1   
$PntPrev=@Map.Object[$NObj].Point[$CntP]
$PntCur=@Map.Object[$NObj].Point[$Cnt]
$LnAng=@Map.Object[$NObj].LineAngle[$CntP]
$LnAng=@Calc Replace("$LnAng",",",".")
$InputP=@Dialog.Ask Введiть довжину та кут (25.00 90 00 00)
$InputP=@Calc Replace("$InputP",".",",")
$InputP=@DequoteText $InputP
$Dist=@StringPart 1 $InputP
$Dist=@Calc Replace("$Dist",",",".")
$Dist=@DequoteText $Dist
$Ang1=@StringPart 2 $InputP
$Ang2=@StringPart 3 $InputP
$Ang3=@StringPart 4 $InputP
@If $Ang1= then $Ang1=0
@If $Ang2= then $Ang2=0
@If $Ang3= then $Ang3=0
@if $Ang1 < 0 then goto %LeftCrd
$Angle=(($Ang3/60+$Ang2)/60+$Ang1)*-1
@Goto %Next
%LeftCrd
$Angle=(($Ang3/60+$Ang2)/60-$Ang1)
%Next
$Angle=$LnAng-180+$Angle
$Rad=$Angle*3.1415926535897932384626433832795028841971/180
$ACos=@Calc Cos($Rad)
$PntX=@StringPart 1 $PntCur
$PntY=@StringPart 2 $PntCur
$PntX=@Calc Replace("$PntX",",",".")
$PntY=@Calc Replace("$PntY",",",".")
$DX=$PntX+$ACos*$Dist
$DX=@Calc Replace("$DX",".",",")
$DX=@DequoteText $DX
$ASin=@Calc Sin($Rad)
$DY=$PntY+$ASin*$Dist
$DY=@Calc Replace("$DY",".",",")
$DY=@DequoteText $DY
@Map.Object[$NObj].AddPoint $DX $DY
@Map.Selected.Refresh
@Window.ShowSelected
@Window.Position $DX $DY
$Cnt=@Map.Object[$NObj].Count
@Goto %Cycle
@goto %End
%ErrLine
@dialog.message Виберiть лiнiйний елемент для роботи
@goto %End
%ErrCount
@dialog.message Виберiть лише один лiнiйний елемент для роботи
%End


Последний раз редактировалось Руслан Пархуць 09 дек 2016 18:03, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 09 дек 2016 16:47 
Гуру
Гуру

Зарегистрирован:
02 апр 2013 15:28
Сообщения: 176
А би ще по цьому і звіт зформувати.


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

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
klaid писал(а):
А би ще по цьому і звіт зформувати.

звiт в Geodesy.exe :)

aero36 писал(а):
возможно ли в digitals построить биссектрису угла штатными средствами? или как то реализуется скриптом?
http://www.geosystema.net/forum/viewtopic.php?f=1&t=19659#38387

10.12.2016 дописав роботу з замкненими контурами
Код:
; www.geosystema.net/forum/viewtopic.php?f=1&t=2539&start=120#38388
; 09.12.2016
$Count=@MapCount
@if $Count=0 @Break
$Sel=@Map.SelCount
@if $Sel=0 then @break Виберiть елементи
$Obj=0
;Parameters
$Dist=100
$Param=4
%Cycle
$Obj=@Map.NextSelected $Obj
$PntCnt=@Map.Object[$Obj].Count
@if $PntCnt<3 then goto %SkipElem
; якщо контур замкнений
$Closed=@Map.Object[$Obj].Closed
@if $Closed=1 then @goto %CloseElem
$PntCnt=$PntCnt-1
%DrawBS
@if $PntCnt=1 then @goto %SkipElem
$PrvCnt=$PntCnt-1
$LnAng1=@Map.Object[$Obj].LineAngle[$PntCnt]
$LnAng2=@Map.Object[$Obj].LineAngle[$PrvCnt]
@goto %Next
%CloseElem
$EndPnt=@Map.Object[$Obj].Count
$EndPnt=$EndPnt-1
$LnAng1=@Map.Object[$Obj].LineAngle[$EndPnt]
$LnAng2=@Map.Object[$Obj].LineAngle[1]
%Next
$PntCur=@Map.Object[$Obj].Point[$PntCnt]
$LnAng1=@Calc Replace("$LnAng1",",",".")
$LnAng1=@DequoteText $LnAng1
$LnAng2=@Calc Replace("$LnAng2",",",".")
$LnAng2=@DequoteText $LnAng2
$LnAng2=$LnAng2+180
@if $LnAng2>360 then $LnAng2=$LnAng2-360
$Angle=$LnAng1-180+($LnAng2-$LnAng1)/2
@if $LnAng2<$LnAng1 then $Angle=$Angle+180
$Rad=$Angle*3.1415926535897932384626433832795028841971/180
$ACos=@Calc Cos($Rad)
$PntX=@StringPart 1 $PntCur
$PntY=@StringPart 2 $PntCur
$PntX=@Calc Replace("$PntX",",",".")
$PntY=@Calc Replace("$PntY",",",".")
$PntX=@DequoteText $PntX
$PntY=@DequoteText $PntY
$DX=$PntX+$ACos*$Dist
$DX=@Calc Replace("$DX",".",",")
$DX=@DequoteText $DX
$ASin=@Calc Sin($Rad)
$DY=$PntY+$ASin*$Dist
$DY=@Calc Replace("$DY",".",",")
$DY=@DequoteText $DY
$PntX=@Calc Replace("$PntX",".",",")
$PntY=@Calc Replace("$PntY",".",",")
$PntX=@DequoteText $PntX
$PntY=@DequoteText $PntY
$Layer=@Map.Object[$Obj].Layer
$N=@Map.AddObject 0|1|$Layer|2|0 $PntX $PntY 0|0 $DX $DY 0|1|$Layer|1|$Param $Angle
$PntCnt=$PntCnt-1
@if $PntCnt>0 then @goto %DrawBS
%SkipElem
$Sel=$Sel-1
@if $Sel>0 then @goto %Cycle
%End


Вложения:
Комментарий к файлу: Добавити в папку Digitals
bisector.tlb [4.64 Кб]
Скачиваний: 54
01.jpg
01.jpg [ 23.51 Кб | Просмотров: 6916 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 18 дек 2016 02:25 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
Пропоную скрипт для "тихого" перетворення координат. Використовується формат PROJ4 https://trac.osgeo.org/proj/wiki/GenParms (один з найпоширенiших форматiв для опису систем координат).
Застосовується функцiя @DLLExec

19.12.2016 Крiм Transfer Добавлено функцiї
Grad2Str (45.123456789 = 45°07'24)
Str2Grad (45°07'24 = 45.123456789)
Працює з датумами з файлу Datums.ini (напр. GeoGed.Transfer 'SK63(1)' 'WGS84' '$PntList'). Тестувалось на SK63, SK42 та WGS84.

27.12.2016 У зв'язку з рiзними значеннями параметрiв 7-ми параметричного перетворення змiнено читання з файлу Datums.ini (завантажуйте оновлений файл GeoGed.dll)
Добавлена ф-цiя GetPublicMapInfo (подiбна стандартнiй)
...потрiбна була iнформацiя про грунти (приклад додаю в наступному повiдомленнi).

17.01.2017
1. Добавлено функцiю GetUrlContents для отримання даних з URL сторiнки
2. Ф-цiя Transfer працює зi складними контурами (значення -2684354.56 не трансформуються)

Код:
$Count=@MapCount
@if $Count=0 @Break
$Sel=@Map.SelCount
@if $Sel=0 then @break Виберiть елементи
;Parameters SC 63(1)
$source=+proj=tmerc +lat_0=0 +lon_0=23.5 +k=1 +x_0=1300000 +y_0=-9214.688 +ellps=krass +towgs84=25.0,-141.0,-78.5,0,-0.35,-0.736,0.0 +no_defs
;Parameters WGS64
;$target=+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs
;Parameters SK42(6)
$target=+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=25.0,-141.0,-78.5,0,-0.35,-0.736,0.0 +no_defs
$Obj=0
%Cycle
$Obj=@Map.NextSelected $Obj
$PntCnt=@Map.Object[$Obj].Count
$PntList=
%MakeList
$Pnt=@Map.Object[$Obj].Point[$PntCnt]
$PntList=$Pnt $PntList
$PntCnt=$PntCnt-1
@if $PntCnt>0 then @goto %MakeList
;
$Str=@DLLExec GeoGed\GeoGed.Transfer '$source' '$target' '$PntList'
$Res=@StringPart 1,$str
@if $Res>0 then @goto %Process
; обробка помилки
;
@Dialog.Message $Res
@Goto %End
%Process
$PntCnt=$Res
$PntList=@Calc Replace(Delete("$Str",1,Pos(",","$Str")),",",";")
%DrawEem
$Pnt=@StringPart $PntCnt;$PntList
$Pnt=@DequoteText $Pnt
; перевiрка, чи не розрив (складний полiгон)
$CPnt=@Map.Object[$Obj].Point[$PntCnt]
$CPntX=@StringPart 1 $CPnt
@If $CPntX=-2684354.56 then @goto %SkipPnt
@Map.Object[$Obj].Point[$PntCnt] $Pnt
%SkipPnt
$PntCnt=$PntCnt-1
@if $PntCnt>0 then @goto %DrawEem
$Sel=$Sel-1
@if $Sel>0 then @goto %Cycle
%End


16.10.2017
Добавлено ряд нових функцiй в бiблiотеку GeoGed (Get_Release, CodePageConvert, UrlEncode, Preg_Match, DialogCheckListBox). Функцiя Get_Release виводить iнформацiю по використанню цих функцiй.


Вложения:
Комментарий к файлу: GeoGed v.2.0
20.10.17 виправлено помилку у ф-цiї CodePageConvert

GeoGed.zip [573.98 Кб]
Скачиваний: 9
Transfer.tlb [3.98 Кб]
Скачиваний: 77


Последний раз редактировалось Руслан Пархуць 20 окт 2017 22:36, всего редактировалось 5 раз(а).
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 27 дек 2016 16:25 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
Скрипт для отримання даних про грунти (в даному випадку), або iншої iнформацiї з публiчної карти (необхiдно бiблiотеку GeoGed з попереднього повiдомлення).
Код:
$Count=@MapCount
@if $Count=0 @Break
$Sel=@Map.SelCount
@if $Sel=0 then @break Виберiть елементи
$Obj=0
$Obj=@Map.NextSelected $Obj
$Pnt=@Map.Object[$Obj].Center
$Res=@DLLExec GeoGed\GeoGed.Transfer 'SK63(1)' 'WGS84' '$Pnt'
$Cnt=@StringPart 1,$Res
@if $Cnt>0 then @goto %NextStep
;
@Goto %End
%NextStep
$Pnt=@StringPart 2,$Res
$target=+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +no_defs
$Res=@DLLExec GeoGed\GeoGed.Transfer 'WGS84' '$target' '$Pnt'
$Cnt=@StringPart 1,$Res
@if $Cnt>0 then @goto %Process
;
@Goto %End
%Process
$Pnt=@StringPart 2,$Res
$Res=@DLLExec GeoGed\GeoGed.GetPublicMapInfo $Pnt
; $Res данi в Text
@Text.Text $Res
; якщо є данi про грунти (секцiя grunt)
$Pos=@Text.IndexOf grunt
@if $Pos=0 @goto %End
; витираємо зайвi елементи списку (формуємо новий $Res) 
@Text.Delete 1-$Pos
; шукаємо секцiю Шифр:
$Pos=@Text.IndexOf Шифр:
@if $Pos=0 @goto %End
; данi секцiї в рядку +1
$Pos=$Pos+1
$SoilsV=@Text.Line[$Pos]
; те саме, але для секцiї Назва:
$Pos=@Text.IndexOf Назва:
@if $Pos=0 @goto %End
$Pos=$Pos+1
$SoilsN=@Text.Line[$Pos]
; записуємо знайдену iнф. в параметри 1 та 2 об'єкту
;@Map.Object[$Obj].Parameter[1] $SoilsV
;@Map.Object[$Obj].Parameter[2] $SoilsN*
@Dialog.Message $SoilsV - $SoilsN
@Goto %End
%Skip
@Dialog.Message Не знайдено iнформацiї
%End


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 27 дек 2016 22:02 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
voha писал(а):
Всім доброго дня.
Є в мене така задача - розділити збірний полігональний об'єкт на не збірні.
http://www.geosystema.net/forum/viewtopic.php?f=1&t=2809&p=38460#38458

Код:
$Count=@MapCount
@if $Count=0 @Break
$Sel=@Map.SelCount
@if $Sel=0 then @break Виберiть елементи
$Obj=0
; поточний ID
$Obj=@Map.NextSelected $Obj
; к-сть елементiв карти
$FCnt=@Map.Count
@ExecuteMenu spbSplit
; к-сть елементiв пiсля розподiлу
$RCnt=@Map.Count
;
@Map.SelectObject $Obj
@ExecuteMenu spbCombine
@Map.DeselectAll
@if $FCnt=$RCnt @Goto %End
$FCnt=$FCnt+1
%Cycle
$Obj=@Map.SelectObject $FCnt
@ExecuteMenu spbCombine
@Map.DeselectAll
$FCnt=$FCnt+1
@if $FCnt>$RCnt @Goto %End
@Goto %Cycle
%End


Вложения:
02.jpg
02.jpg [ 19.78 Кб | Просмотров: 6590 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 17 янв 2017 15:36 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
vitjazzz писал(а):
Доброго дня Чи є на сьогоднішній день можливість провести транслітерацію строкового параметру, наприклад Іванов Іван Іванович, з кирилиці на латинь- Ivanov Ivan Ivanovic. Дякую!

GetUrlContents ф-цiя для отримання даних з URL сторiнки

Код:
$Name=Іванов Іван Іванович
$URL=http://translate.meta.ua/ajax/?sn=get_translit&direction=0&text_source=$Name
$Res=@DLLExec GeoGed\GeoGed.GetUrlContents $URL
@Dialog.Message $Name|$Res


Вложения:
Translit.tlb [2.78 Кб]
Скачиваний: 33
01.jpg
01.jpg [ 8.79 Кб | Просмотров: 5955 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 17 янв 2017 21:47 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 476
от тільки даний сервіс робить транслітерацію за правилами не українського, а російського правопису.
беріть якийсь інший, наприклад, http://www.slovnyk.ua/services/translit.php

Ivanovich --> Ivanovych

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


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

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 183
Откуда: м.Львiв
Руслан Пархуць писал(а):
от тільки даний сервіс робить транслітерацію за правилами не українського, а російського правопису

Ф-цiя писалась для отримання iнформацiї iз сторiнки GET запитом в загальному (а лiтерацiя - для прикладу роботи з нею).
P.S. ... сервiс то український - meta.ua :D

Бiблiотека для транслiтерацiї українського алфавіту згiдно Постанови Кабінету Міністрів України від 27 січня 2010 р. №55. Для використання помiстiть файл Translit.dsf в папку Library.
Код:
$Name=Гаращенко Юрій Костянтинович
$Res=%Library.Translit $Name
@Dialog.Message $Res
$Res=Harashchenko Yurii Kostiantynovych


Вложения:
Translit.zip [1.14 Кб]
Скачиваний: 40
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 13 мар 2017 12:48 
Участник
Участник

Зарегистрирован:
04 фев 2016 15:42
Сообщения: 5
Потрібен скрипт щоб заповнювати КОАТУУ, зону та квартал в XML з ПКК. Таке можливо?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Библиотека полезных скриптов
СообщениеДобавлено: 13 мар 2017 16:35 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1871
Откуда: Vinnitsa
Kaktus писал(а):
Потрібен скрипт щоб заповнювати КОАТУУ, зону та квартал в XML з ПКК. Таке можливо?

@Map.DeselectAll
@Map.SelectLayer ID70005
$SC=@Map.SelCount
@if $SC<>1 then @Break Одна XML-ділянка має бути в карті
$SO=@Map.SelectedObject
$XYZ=@Map.Object[$SO].Centroid
$S=@Map.GetPublicMapQuarterInfo $XYZ
@Text[1].Text $S
$LC=@Text[1].Count
@if $LC<3 then @Break Інформація не знайдена
@if $LC<>3 then @Break Інформація може дублюватись
%LoopLine
$KOATUU=@Text[1].Line[1]
$KOATUU=@StringPart 2=$KOATUU
$ZoneNumber=@Text[1].Line[2]
$ZoneNumber=@StringPart 2=$ZoneNumber
$QuarterNumber=@Text[1].Line[3]
$QuarterNumber=@StringPart 2=$QuarterNumber
@Map.DeselectAll
@Map.SelectLayer ID70003
$SC=@Map.SelCount
@if $SC<>1 then @Break Об'єкт XML-кадастрова зона має бути в карті
$SO=@Map.SelectedObject
@Map.Object[$SO].Parameter[ID7000301] $KOATUU:$ZoneNumber
@Map.DeselectAll
@Map.SelectLayer ID70004
$SC=@Map.SelCount
@if $SC<>1 then @Break Об'єкт XML-кадастровий квартал має бути в карті
$SO=@Map.SelectedObject
@Map.Object[$SO].Parameter[ID7000401] $QuarterNumber
@Map.DeselectAll
@Dialog.Message $S

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


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

Зарегистрирован:
04 фев 2016 15:42
Сообщения: 5
Дякую, Dmitry_Zolotar


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

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


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

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


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

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