Аналитика http://geosystema.net/forum/ |
|
Библиотека полезных скриптов http://geosystema.net/forum/viewtopic.php?f=3&t=2539 |
Страница 4 из 15 |
Автор: | fendak [ 02 мар 2014 19:40 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Повна конвертація IN4 в XML Пропоную вашій увазі скрипт, який конвертує IN4 в XML. В результаті отримуємо повноцінний файл XML, який без проблем приймає НКС Усі дані підтягуються із IN4. Необхідно ввести тільки дату видачі і ким виданий паспорт, а також вибрати тип техдокументації Скрипт призначений (поки що) тільки для типових простих файлів IN4: - без оренди/сервітутів/обмежень, - власник - тільки фізична особа і тільки один - цільове призначення - тільки ОЖБ, ОСГ, ТСГВ і для ведення садівництва - тип документа, що посвідчує особу - тільки паспорт громадянина України - підстава - тільки рішення органу місцевого самоврядування Вимога до IN4: - ПІП голови місцевої ради обов'язково у форматі Прізвище Ім'я По батькові Якщо перераховані умови не виконуються то XML буде сформовано з помилками. ;виділяємо шар IN4 Квартал і копіюємо потрібні параметри @Map.SelectLayer ID10000 $SrcParam1=@Map.Selected.GetParameter GL $ParcelLocation=@Map.Selected.GetParameter BC ;виділяємо шар IN4 Ділянка і копіюємо потрібні параметри @Map.SelectLayer ID20000 $SrcParam2=@Map.Selected.GetParameter AD $SrcParam3=@Map.Selected.GetParameter KZ $SrcParam4=@Map.Selected.GetParameter NM $SrcParam5=@Map.Selected.GetParameter KF $SrcParam6=@Map.Selected.GetParameter PP $SrcParam7=@Map.Selected.GetParameter AU $SrcParam8=@Map.Selected.GetParameter PZ @Map.DeselectAll @Map.SelectLayer ID30353 Перетворити | Петлю в складний полігон @Map.DeselectAll ;виділяємо всі угіддя @Map.SelectLayer ID30353 @Map.SelectLayer ID30050 @Map.SelectLayer ID30140 @Map.SelectLayer ID30080 @Map.SelectLayer ID30351 @Map.SelectLayer ID30580 @Map.SelectLayer ID30590 @Map.SelectLayer ID30110 Вибрати | Усю групу шарів ;перейменовуємо всі угіддя в шар IN4 Угіддля @Map.ChangeSelectedLayer 4 @Map.DeselectAll ;виділяємо всі суміжники і копіюємо @Map.SelectLayer ID50000 @Map.Selected.Copy ;конвертуємо в XML @Map.In4ToXML ;обновляємо карту, щоби обновити всі шари (іншого способу не знайшов:)) ) @FileNew @FileClose @Window.Refresh ;вставляємо суміжники @Map.Paste @Map.CalculateRange @Map.SelectAll ;заповнюємо типові параметри в XML (замінити на свої) @Map.Selected.ChangeParameter ID7000003 Львівська регіональна філія ЦДЗК @Map.Selected.ChangeParameter ID7000004 00694 @Map.Selected.ChangeParameter ID7000007 <Executor><CompanyName>МПП "Землемір"</CompanyName><EDRPOU>32631088</EDRPOU><License><LicenseSeries>АГ</LicenseSeries><LicenseNumber>579407</LicenseNumber><LicenseIssuedDate>2012-01-05</LicenseIssuedDate></License><Chief><ChiefName><LastName>Дудич</LastName><FirstName>Артур</FirstName></ChiefName><ChiefPosition>директор</ChiefPosition></Chief><Executor><ExecutorName><LastName>Вачевська</LastName><FirstName>Світлана</FirstName></ExecutorName><ExecutorPosition>інженер-землевпорядник</ExecutorPosition><ContactInfo><Phone>-</Phone></ContactInfo></Executor><Address><Country>804</Country><Region>Львівська область</Region><District>Дрогобицький</District><Settlement>село Снятинка</Settlement><Street>Зелена</Street><Building>9</Building></Address></Executor> @Map.Selected.ChangeParameter ID7000009 <CoordinateSystem><SC63><X></X></SC63></CoordinateSystem> @Map.Selected.ChangeParameter ID7000010 <HeightSystem><Baltic77></Baltic77></HeightSystem> @Map.Selected.ChangeParameter ID7000011 <MeasurementUnit><M></M></MeasurementUnit> ;заповнюємо ПІП гололови місцевої ради $t1=<LocalAuthorityHead><LastName> $t2=@StringPart 1 $SrcParam1 $t3=</LastName><FirstName> $t4=@StringPart 2 $SrcParam1 $t5=</FirstName><MiddleName> $t6=@StringPart 3 $SrcParam1 $t7=</MiddleName></LocalAuthorityHead> $result=@Calc $t1$t2$t3$t4$t5$t6$t7 @Map.Selected.ChangeParameter ID7000402 $result ;заповнюємо ПІП начальника Держземагенства $t1=<DKZRHead><LastName>Бреньо</LastName><FirstName>Любомир</FirstName><MiddleName>Любомирович</MiddleName></DKZRHead> @Map.Selected.ChangeParameter ID7000403 $t1 ;місцезнаходження ділянки (введіть область і район вручну!) $t1=<ParcelLocationInfo><Region>Львівська область</Region><Settlement> $t2=@StringPart 1,$SrcParam2 $t3=</Settlement><District>Дрогобицький район</District> ;в межах чи за межами @if "$ParcelLocation"<>"000" then $t4=<ParcelLocation><Urban></Urban></ParcelLocation> @if "$ParcelLocation"="000" then $t4=<ParcelLocation><Rural></Rural></ParcelLocation> $t5=<ParcelAddress><StreetType> $vul=@StringPart 2,$SrcParam2 $typvyl=@StringPart 1.$vul @if $typvyl=вул then $t6=вулиця @if $typvyl=провул then $t6=провулок @if $typvyl=вулиця then $t6=вулиця @if $typvyl=провулок then $t6=провулок @if $typvyl=пл then $t6=площа @if $typvyl=площа then $t6=площа $t7=</StreetType><StreetName> $t8=@StringPart 2.$vul $t9=</StreetName><Building> $t10=@StringPart 3,$SrcParam2 $t11=</Building></ParcelAddress> $t12=</ParcelLocationInfo> @if "$vul"="-" then $result=@Calc $t1$t2$t3$t4$t12 @if "$vul"<>"-" then $result=@Calc $t1$t2$t3$t4$t5$t6$t7$t8$t9$t10$t11$t12 @Map.Selected.ChangeParameter ID7000500 $result ;цільове призначення @if "$SrcParam3"="21 особисті підсобні господарства" then $t1=01.03 @if "$SrcParam3"="22 ділянки для будівництва та обслуговування житлового будинку та господарських будівель (присадибні ділянки)" then $t1=02.01 @if "$SrcParam3"="23 ###ДІЛЯНКИ ДЛЯ САДІВНИЦТВА" then $t1=01.05 @if "$SrcParam3"="19 ділянки для ведення товарного с/г виробництва" then $t1=01.01 @Map.Selected.ChangeParameter ID7000510 $t1 @if "$SrcParam3"="21 особисті підсобні господарства" then $t1=ОСГ @if "$SrcParam3"="22 ділянки для будівництва та обслуговування житлового будинку та господарських будівель (присадибні ділянки)" then $t1=ОЖБ @if "$SrcParam3"="23 ###ДІЛЯНКИ ДЛЯ САДІВНИЦТВА" then $t1=ведення садівництва @if "$SrcParam3"="19 ділянки для ведення товарного с/г виробництва" then $t1=ТСГВ @Map.Selected.ChangeParameter ID7000511 $t1 @Map.Selected.ChangeParameter ID7000517 <DeterminationMethod><ExhangeFileCoordinates></ExhangeFileCoordinates></DeterminationMethod> @Map.Selected.ChangeParameter ID7000518 0.0005 ;інформація про власника (ПІП, паспорт, адреса, підстава набуття) $t1=<Proprietors><ProprietorInfo><Authentication><NaturalPerson><FullName> $t2=@StringPart 1 $SrcParam4 $t2=<LastName>$t2</LastName> $t3=@StringPart 2 $SrcParam4 $t3=<FirstName>$t3</FirstName> $t4=@StringPart 3 $SrcParam4 $t4=<MiddleName>$t4</MiddleName> $t5=</FullName> $t6=<TaxNumber>$SrcParam5</TaxNumber> $t7=<Passport><DocumentType>Паспорт громадянина України</DocumentType> $nomerseria=@StringPart 3,$SrcParam6 $t8=@StringPart 2 $nomerseria $t8=<PassportNumber>$t8</PassportNumber> $t9=@Dialog.Ask Дата видачі паспорта (рік-місяць-число) Default=1997-10-21 Size=250 $t9=<PassportIssuedDate>$t9</PassportIssuedDate> $t10=@Dialog.Ask Ким виданий паспорт Default=Дрогобицьким РВ УМВС України у Львівській області Size=400 $t10=<IssuanceAuthority>$t10</IssuanceAuthority> $t11=@StringPart 1 $nomerseria $t11=<PassportSeries>$t11</PassportSeries> $t12=</Passport> $t13=@StringPart 1,$SrcParam6 $t13=<Citizenship>$t13</Citizenship> $t14=<Address> $t15=@StringPart 1,$SrcParam7 $t15=<Country>$t15</Country> $oblast=@StringPart 3,$SrcParam7 $t16=@StringPart 1 $oblast $t16=<Region>$t16</Region> $t17=@StringPart 4,$SrcParam7 $t17=<District>$t17</District> $t18=@StringPart 5,$SrcParam7 $t18=<Settlement>$t18</Settlement> $t19=@StringPart 6,$SrcParam7 $t19=<Street>$t19</Street> $t20=@StringPart 7,$SrcParam7 $t20=<Building>$t20</Building> $korpus=@StringPart 8,$SrcParam7 @if "$korpus"="-" then $t21= @if "$korpus"<>"-" then $t21=<Block>$korpus</Block> $kvartyra=@StringPart 9,$SrcParam7 @if "$kvartyra"="-" then $t22= @if "$kvartyra"<>"-" then $t22=<BuildingUnit>$kvartyra</BuildingUnit> $t23=@StringPart 1 $SrcParam3 $t23=</Address></NaturalPerson></Authentication><ProprietorCode>$t23</ProprietorCode><PropertyAcquisitionJustification><Document>001</Document> ;тут добавити різні підстави набуття права власності $t24=@StringPart 2,$SrcParam8 $chyslo=@StringPart 1.$t24 $misyac=@StringPart 2.$t24 $rik=@StringPart 3.$t24 $t24="$rik-$misyac-$chyslo" $t24=@DequoteText $t24 $t24=<DocumentDate>$t24</DocumentDate> $t25=@StringPart 3,$SrcParam8 $t25=<DocumentNumber>$t25</DocumentNumber> $t26=@StringPart 4,$SrcParam8 $t26=<ApprovalAuthority>$t26</ApprovalAuthority> $t27=</PropertyAcquisitionJustification></ProprietorInfo></Proprietors> $result=@Calc $t1$t2$t3$t4$t5$t6$t7$t8$t9$t10$t11$t12$t13$t14$t15$t16$t17$t18$t19$t20$t21$t22$t23$t24$t25$t26$t27 @Map.Selected.ChangeParameter ID7000520 $result ;вибираємо тип техдокументації $t1=<TechnicalDocumentationInfo><DocumentationType> $t2=@Dialog.ListSelect Виберіть тип техдокументації|001|002|003|004|005|006|007|008|009|010|011|012|013|014|015|016|017|018|019|020|021|022|023 $t3=</DocumentationType><DraftingDate>2014-02-18</DraftingDate><DocumentList>001</DocumentList><DocumentList>002</DocumentList><DocumentList>004</DocumentList><DocumentList>005</DocumentList><DocumentList>007</DocumentList><DocumentList>011</DocumentList><DocumentList>013</DocumentList><DocumentList>014</DocumentList><DocumentList>017</DocumentList><DocumentList>022</DocumentList><DocumentList>034</DocumentList><DocumentList>036</DocumentList><DocumentList>040</DocumentList><DocumentList>041</DocumentList><DocumentList>042</DocumentList></TechnicalDocumentationInfo> $result=@Calc $t1$t2$t3 @Map.Selected.ChangeParameter ID7000522 $result ;Заповнюємо суміжники @Map.DeselectAll @Map.SelectLayer ID70010 @Map.Selected.Delete @Map.SelectLayer ID50000 $N1=@Map.SelCount $MC=@Map.Count @if $N1=0 then @Break На карті немає суміжників $N1=0 @Map.DeselectAll %Pochatok2 $N1=$N1+1 $LID=@Map.Object[$N1].LayerID @If $LID<>50000 then @Goto %Next2 $P1=@Map.Object[$N1].Parameter[ID20030] @Map.SelectObject $N1 @Map.ChangeSelectedLayer 14 $t1=<Proprietor><NaturalPerson><FullName><LastName> $t2=@StringPart 1 $P1 $t3=</LastName><FirstName> $t4=@StringPart 2 $P1 $t5=</FirstName><MiddleName> $t6=@StringPart 3 $P1 $t7=</MiddleName></FullName></NaturalPerson></Proprietor> $t8=<Proprietor><LegalEntity><Name> $t9=</Name></LegalEntity></Proprietor> @if $t2=землі then $result=@Calc $t8$P1$t9 else $result=@Calc $t1$t2$t3$t4$t5$t6$t7 @Map.Selected.ChangeParameter ID7001003 $result @Map.DeselectObject $N1 %Next2 @if $N1<$MC then @Goto %Pochatok2 @Map.SelectLayer ID50000 @Map.Selected.Delete ;Малюємо дві точки - закріплені межові знаки ;вибираємо шар XML:Земельна ділянка @Map.SelectLayer ID70005 $Obj=@Map.SelCount ;координати 1-ої точки з XML:Земельна ділянка $P=@Map.Object[$Obj].Point[1] ;створюємо перший точковий об'єкт в шарі "XML:Межові знаки, закріплені точки" з даними координатами $PntObj=@Map.NewObject ID70001 @Map.Object[$PntObj].Point[1] $P ;заносимо номер точки та інші значення параметрів @Map.Object[$PntObj].Parameter[ID7000100]=1 @Map.Object[$PntObj].Parameter[ID7000101]=Survey @Map.Object[$PntObj].Parameter[ID7000102]=0,05 @Map.Object[$PntObj].Parameter[ID7000103]=0,05 @Map.Object[$PntObj].Parameter[ID7000104]=0,05 @Map.Object[$PntObj].Parameter[ID7000106]=+ @Map.RefreshObject $PntObj ;координати 2-ої точки з XML:Земельна ділянка $P=@Map.Object[$Obj].Point[2] ;створюємо другий точковий об'єкт в шарі "XML:Межові знаки, закріплені точки" з даними координатами $PntObj=@Map.NewObject ID70001 @Map.Object[$PntObj].Point[1] $P ;заносимо номер точки та інші значення параметрів @Map.Object[$PntObj].Parameter[ID7000100]=2 @Map.Object[$PntObj].Parameter[ID7000101]=Survey @Map.Object[$PntObj].Parameter[ID7000102]=0,05 @Map.Object[$PntObj].Parameter[ID7000103]=0,05 @Map.Object[$PntObj].Parameter[ID7000104]=0,05 @Map.Object[$PntObj].Parameter[ID7000106]=+ @Map.RefreshObject $PntObj @Window.Refresh ;Виплавляємо угіддя, в яких замість 14 стоїть чомусь 17 @Map.DeselectAll @Map.SelectLayer ID70009 $N1=@Map.SelCount $MC=@Map.Count @if $N1=0 then @Goto %End $N1=0 @Map.DeselectAll %Pochatok3 $N1=$N1+1 $LID=@Map.Object[$N1].LayerID @If $LID<>70009 then @Goto %Next3 $P1=@Map.Object[$N1].Parameter[ID7000901] @If $P1<>17 Землі тимчасової консервації then @Goto %Next3 @Map.SelectObject $N1 @Map.Object[$N1].Parameter[ID7000901]=14 @Map.DeselectObject $N1 %Next3 @if $N1<$MC then @Goto %Pochatok3 %End |
Автор: | Bondarets Alexander [ 04 мар 2014 14:30 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Серьезный скрипт, видно, что немало труда вложено. Спасибо, что поделились. |
Автор: | fendak [ 25 май 2014 10:20 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
У файлах IN4, зроблених ще в програмі Інвент-Град у словах українська буква "і" писалася латиницею. Зараз, при конвертації такого файлу в XML, виникає проблема через це, бо в останньому всі символи мають бути кирилицею. Пропоную скрипт, який всі латинські символи "і" у параметрах IN4 у відкритій карті перетворює на кириличні. Також скрипт шукає і замінює у параметрі PZ (підстава набуття права власності) римські цифри на арабські Код: @Map.DeselectAll
@Map.SelectLayer ID10000 $GL=@Map.Selected.GetParameter GL @Map.DeselectAll @Map.SelectLayer ID20000 $AD=@Map.Selected.GetParameter AD $NM=@Map.Selected.GetParameter NM $TX=@Map.Selected.GetParameter TX $AU=@Map.Selected.GetParameter AU $PZ=@Map.Selected.GetParameter PZ $TD=@Map.Selected.GetParameter TD $New=@Calc Replace("$GL","I","І",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id10070 $New $New=@Calc Replace("$AD","I","І",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id20020 $New $New=@Calc Replace("$NM","I","І",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id20030 $New $New=@Calc Replace("$TX","I","І",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id20040 $New $New=@Calc Replace("$AU","I","І",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id20070 $New $New=@Calc Replace("$TD","I","І",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id20180 $New $New=@Calc Replace("$PZ","XXX","30",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXIX","29",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXVIII","28",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXVII","27",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXVI","26",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXV","25",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXIV","24",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXIII","23",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXII","22",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XXI","21",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XX","20",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XIX","19",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XVIII","18",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XVII","17",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XVI","16",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XV","15",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XIV","14",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XIII","13",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XII","12",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","XI","11",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","IX","9",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","X","10",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","VIII","8",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","VII","7",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","VI","6",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","IV","4",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","V","5",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","III","3",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","II","2",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","I","1",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id20160 $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Selected.ChangeParameter id20160 $New @Map.DeselectAll $MC=@Map.Count $N1=0 @Map.DeselectAll %Pochatok $N1=$N1+1 $LID=@Map.Object[$N1].LayerID @If $LID<>50000 then @Goto %Next $P1=@Map.Object[$N1].Parameter[ID20030] $New=@Calc Replace("$P1","I","І",1,0) $New=@DequoteText $New $New=@Calc Replace("$New","i","і",1,0) $New=@DequoteText $New @Map.Object[$N1].Parameter[id20030]=$New @Map.DeselectObject $N1 %Next @if $N1<$MC then @Goto %Pochatok |
Автор: | Bondarets Alexander [ 18 авг 2014 16:15 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Нахождение минимального расстояния между двумя объектами $Obj1=@Map.NextSelected 0 @if $Obj1=0 @Break Выделите 2 объекта $Obj2=@Map.NextSelected $Obj1 @if $Obj2=0 @Break Выделите 2 объекта $MinD=@Map.MinObjectDistance $Obj1 $Obj2 @Dialog.Message Расстояние между объектами $MinDм Функция @Map.MinObjectDistance реализована в версии Digitals начиная с 19.08.2014. |
Автор: | Bondarets Alexander [ 19 авг 2014 08:05 ] | ||
Заголовок сообщения: | Re: Библиотека полезных скриптов | ||
Нахождение средней высоты откоса $Obj=@Map.NextSelected 0 @if $Obj=0 @Break Выделите откос $Height=@Map.GetSlopeHeight $Obj @Dialog.Message Высота откоса $Heightм Функция @Map.GetSlopeHeight реализована в версии Digitals начиная с 19.08.2014.
|
Автор: | Bondarets Alexander [ 21 авг 2014 11:04 ] | ||
Заголовок сообщения: | Re: Библиотека полезных скриптов | ||
Нахождение высоты между 2-мя замаркированными точками объекта Скрипт полезен при вычислении высоты откоса в произвольном месте. Замаркируйте точку на нижней и верхней кромке откоса и вызовите скрипт. Рассчитанная высота записывается в параметр с ID1 и выносится на карту в виде подписи. $Obj=@Map.NextSelected 0 @if $Obj=0 @Break Выделите откос $N=@Map.Object[$Obj].GetMarkedPointsCount @if $N<>2 @Break Замаркируйте верхнюю и нижнюю точки откоса $PntCount=@Map.Object[$Obj].Count $ZArr= $I=1 %Start $Marked=@Map.Object[$Obj].GetPointMarked $I @if $Marked=0 @Goto %NotMarked $P=@Map.Object[$Obj].Point[$I] $Z=@StringPart 3 $P ;это нужно если используется разделитель-запятая ;меняем запятую на точку $Z=@Calc Replace("$Z",",",".") $Z=@DequoteText $Z ;собираем высоты всех маркированных точек в одну строку $ZArr=@Concat $ZArr, ,$Z %NotMarked $I=$I+1 @if $I<=$PntCount @Goto %Start ;высота первой и второй маркированных точек $Z1=@StringPart 2 $ZArr $Z2=@StringPart 3 $ZArr ;разница высот $Height=@Calc Abs($Z1-$Z2) ;меняем точку на запятую $Height=@Calc Replace("$Height",".",",") $Height=@DequoteText $Height ;округляем до десятых $Height=@RoundTo $Height 1 @Map.Object[$Obj].Parameter[ID1]=$Height @Map.Object[$Obj].CreateCaption ID1 0 0 1 1 0 0 @Window.Refresh
|
Автор: | Bondarets Alexander [ 22 авг 2014 11:05 ] | ||
Заголовок сообщения: | Re: Библиотека полезных скриптов | ||
Построение отрезка, соединяющего 2 помеченных объекта по кратчайшему пути $Obj1=@Map.NextSelected 0 @if $Obj1=0 @Break Выделите 2 объекта $Obj2=@Map.NextSelected $Obj1 @if $Obj2=0 @Break Выделите 2 объекта ;получаем координаты кратчайшего отрезка в виде строки X1 Y1 Z1 X2 Y2 Z2 $Crds=@Map.ShortestSegmentBetweenObjects $Obj1 $Obj2 ;добавляем объект в слой с ID1 $Obj=@Map.NewObject ID1 ;координаты первой точки $X=@StringPart 1 $Crds $Y=@StringPart 2 $Crds ;объект создан уже с одной точкой в списке, меняем ее координаты @Map.Object[$Obj].Point[1] $X $Y ;координаты второй точки $X=@StringPart 4 $Crds $Y=@StringPart 5 $Crds ;добавляем вторую точку объекта @Map.Object[$Obj].AddPoint $X $Y @Window.Refresh
|
Автор: | Vaho [ 27 авг 2014 10:47 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Здравствуйте! Напишите пожалуйста скрипт: Извлечь файл в ин4 - сохранить в определенный каталог с именем которое вытягивается с параметра CM (додаткова інформація ID20100) что-то у меня не получается такого сделать. Заранее благодарен. |
Автор: | Dmitry_Zolotar [ 28 авг 2014 11:30 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Vaho писал(а): Здравствуйте! Напишите пожалуйста скрипт: Извлечь файл в ин4 - сохранить в определенный каталог с именем которое вытягивается с параметра CM (додаткова інформація ID20100) что-то у меня не получается такого сделать. Заранее благодарен. $Path=d:\temp $FE=@FolderExists $Path @if $FE<>1 then @Break Путь "$Path" не существует $SL=@Map.Selected.List @Text[1].Text $SL $SC=@Text[1].Count @if $SC<1 then @Break Пометьте Іn4-участок(ки) $SourceMap=@ActivateMap @Map.DeselectAll $I=0 %Loop $I=$I+1 $SO=@Text[1].Line[$I] $LID=@Map.Object[$SO].LayerID @if $LID<>20000 then @Goto %Next @Map.SelectObject $SO $CadNumber=@Map.Object[$SO].CalculateFormula PARENT[DS](10000)PARENT[SD](10000)P[SC] $FN=@Map.Object[$SO].Parameter[CM] @if $FN= then $FN=$CadNumber @if $FN= then @Goto %Next Файл | Извлечь участок в In4 @Map.SaveToFile $Path\$FN.in4 @CloseMap @ActivateMap $SourceMap @Map.DeselectAll %Next @if $I<$SC then @Goto %Loop |
Автор: | 00zakachka00 [ 04 сен 2014 08:47 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Здравствуйте. Скрипт "Повна конвертація IN4 в XML" КЛАС !!! , но подскажите постоянно выбивает "На карті немає суміжників" |
Автор: | fendak [ 04 сен 2014 19:01 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
00zakachka00 писал(а): Здравствуйте. Скрипт "Повна конвертація IN4 в XML" КЛАС !!! , но подскажите постоянно выбивает "На карті немає суміжників" Взагалі цей сприпт, то був тільки початок). Я його вже вдосконалив десять раз. І він зараз конвертує фактично при будь-якій формі обмінного файлу ін4. В тому числі і при кількох співвласниках, кількох підставах набуття права власності, по оренді, з сервітутами і тому подібне. Але даний скрипт я просто так у вільний доступ не надам, бо я на його розробку витратив багато часу і зусиль. Скиньте обмінний файл, який ви конвертуєте і я скажу, в чому проблема. Очевидно, щось із нумерацією шарів. |
Автор: | Guevara [ 07 сен 2014 12:17 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
fendak писал(а): 00zakachka00 писал(а): Здравствуйте. Скрипт "Повна конвертація IN4 в XML" КЛАС !!! , но подскажите постоянно выбивает "На карті немає суміжників" Взагалі цей сприпт, то був тільки початок). Я його вже вдосконалив десять раз. І він зараз конвертує фактично при будь-якій формі обмінного файлу ін4. В тому числі і при кількох співвласниках, кількох підставах набуття права власності, по оренді, з сервітутами і тому подібне. Але даний скрипт я просто так у вільний доступ не надам, бо я на його розробку витратив багато часу і зусиль. яка ціна питання? |
Автор: | fendak [ 11 сен 2014 11:52 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Guevara писал(а): яка ціна питання? лс |
Автор: | fair_18 [ 12 сен 2014 22:23 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Неплохой такой скриптик по конвертации обменных файлов, чем то похож на мой. |
Автор: | Yura790 [ 23 сен 2014 11:21 ] |
Заголовок сообщения: | Re: Библиотека полезных скриптов |
Здравствуйте. Помогите пожалуйста нужен скрипт чтоб в XML в смежниках (юр. лицо) автоматом добавлялся ЕДРПОУ с номером (00000001). Заранее спасибо. |
Страница 4 из 15 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |