Головна » Файли » Готові скрипти

Автоматичне відкривання растру
[ Викачати з сервера (3.9 Kb) ] 05.12.2016, 11:07

Панель інструментів призначена для простого та автоматичного відкривання растрів під об'єктами карти, а також автоматичного відкривання растру разом з будь-яким файлом. Відповідний растр шукається по координатах відкритого файлу.

Для встановлення:

1. Скачайте файл-архів.

2. Закрийте програму Digitals

3. Розпакуйте архів в папку з Digitals.

Після запуску Digitals появиться нова панель інструментів: . ЇЇ можна перемістити в зручне для вас місце на екрані лівою клавішею мишки, затиснувши при цьому Shift.

Підготовка скрипту до роботи (створення бази растрів) (відео):

1.Створіть чистий листок і додайте на нього всі потрібні растри (ортофото) через меню Вставка-Растрове зображення - Приєднання.

2.Запустіть першу кнопку панелі інструментів (+). Вона сформує список та координати усіх ваших ортофото та занесе їх у базу скрипту.

Інструкція з користування

Відкрийте будь-який файл та натисніть другу кнопку. Під ним автоматично відкриється відповідний йому растр. Якщо такого не знайдено, то появиться діалог вибору із списком усіх растрів. Натисніть на кнопку ще раз - і растр закриється.

Якщо перед натисканням кнопки виділити один з об'єктів на карті, то растр відкриється тільки під ним.

Третя кнопка має два положення: натиснута і відтиснута. Якщо третя кнопка натиснута, то при відкритті будь-якого файлу буде автоматично відкриватися і растр. Якщо відтиснута - ні.

Перевагою скрипту над простим відкриттям ортофото через меню Вставка-Растрове зображення є те, що не треба думати та шукати, яке саме ортофото потрібне в даному випадку. Це робить скрипт за вас. І не треба відкривати відразу всі ортофото (що при їх великій кількості та не сильному комп'ютері займає деякий час). Тут все миттєво.

Якщо об'єкт знаходиться на стику декількох растрів, то скрипт відкриє відразу декілька растрів.

Скрипт також вміє відкривати всі потрібні растри, щоб заповнити відповідний квадрат довкола ділянки. Адже, наприклад, при формуванні викопіювання, якщо ділянка знаходиться на краю растру, нам потрібний і сусідній растр, щоб не вийшло так, що частина викопіювання буде просто біла без растру. За замовчуванням скрипт заповнює растром весь квадрат по 650 метрів довкола ділянки. Змінити це значення можна в коді кнопки (Контекстне меню другої та третьої кнопок - Змінити кнопку, прокрутити в самий верх у правій частині вікна), знайшовши значення $Plus=650.

Першу кнопку після виконання її функції можна видалити, щоб не заважала. А якщо буде потрібною знову, то додати, вставивши її код:

$ID=1000001
$IDParamName=50031
$Papka=@ProgramFolder
$CountMap=@MapCount
@If $CountMap=0 then @Break
@Map.SelectLayer id$ID
$N=0
%Start
$N=@Map.NextSelected $N
@if $N=0 then @Text.Save $Papka\RastrKoordList.txt
@if $N=0 then @Text[2].Save $Papka\RastrList.txt
@if $N=0 then @Break Виконано
;$X=@Map.Object[$N].Parameter[-4]
;$Y=@Map.Object[$N].Parameter[-3]
$MinMax=@Map.Object[$N].GetMinMax
$Xn=@StringPart 1 $MinMax
$Xn=@Calc replace("$Xn",",",".")
$Xn=@DequoteText $Xn
$Yn=@StringPart 2 $MinMax
$Yn=@Calc replace("$Yn",",",".")
$Yn=@DequoteText $Yn
$Xv=@StringPart 4 $MinMax
$Xv=@Calc replace("$Xv",",",".")
$Xv=@DequoteText $Xv
$Yv=@StringPart 5 $MinMax
$Yv=@Calc replace("$Yv",",",".")
$Yv=@DequoteText $Yv
$File=@Map.Object[$N].Parameter[id$IDParamName]
@Text.Add $File $Xn $Xv $Yn $Yv
@Text[2].Add $File
@Goto %Start

Якщо у вашій програмі не стандартний (редагований) файл Normal, то перевірте ці ID:

$ID=1000001 - шар, в якому знаходяться ортофото на чистому листку
$IDParamName=50031 - параметр ортофото, в якому записаний шлях до нього

Якщо потрібно, щоб дана панель інструментів відкривала декілька різних незалежних типів растрів, то її просто потрібно продублювати, назвавши, наприклад scr Rastr2.tlb і в налаштуваннях (на кожній кнопці вибрати Змінити кнопку) поставити цифри 2,3,4 і т.д.(виділено жовтим нижче). Тоді кожна копія скрипту буде мати окремий довідник растрів.

Категорія: Готові скрипти | Додав: Микола
Переглядів: 6446 | Завантажень: 1106 | Коментарі: 59 | Рейтинг: 0.0/0
Всього коментарів: 591 2 »
avatar
49 usichok • 20:29, 16.03.2024
Добрий день. помилка - Line38: $File=@Map.Object[$N]. Parameter[id$IDParamName]. Підкажіть як вирішити дану проблему?
avatar
50 chulovac • 14:28, 17.03.2024
Доброго дня ! У мене теж! Допоможіть вирішити дану проблему!
avatar
0
51 Микола • 14:32, 17.03.2024
Перевірте, чи коректно заповнено рядок:
$IDParamName=50031
тут пілся = мають бути тільки цифри
avatar
52 chulovac • 14:47, 17.03.2024
Все відповідає: $IDParamName=50031
але, $File=@Map.Object[$N].Parameter[id$IDParamName] помічено в червоному кольорі, можливо після оновлення програми збій скрипту?
avatar
0
53 Микола • 15:45, 17.03.2024
те, що даний рядок в червоному кольорі - це нормально, воно так вже два роки
це просто в алгоритмі перевірки не враховано, що код може мати вигляд не тільки змінної, але і букв id.
помилка не в цьому, перевірив на новій версії - працює

можливо помилка в самому растрі? перевірте, чи справді у вашому растрі саме в цей параметр записується шлях до растру?
avatar
54 chulovac • 16:15, 17.03.2024
Наче все відповідає, при завантаженні 1 растру теж помилка
avatar
0
56 Микола • 16:26, 17.03.2024
якщо хочете, наберіть Доступно тільки для користувачів, підключуся через AnyDesk
avatar
55 chulovac • 16:19, 17.03.2024
sad
avatar
57 Анонімно • 22:20, 17.03.2024
Спробуйте прописати ось так, у мене працює.
.....
$IDParamName=ID50031
......
$File=@Map.Object[$N].Parameter[$IDParamName]
avatar
0
58 Микола • 23:07, 17.03.2024
Там проблема була в тому, що растри були додані на чисту карту, яка створена на основі шаблону XMLNormal, а не на карту, яка створена на основі Normal. Відтак були зовсім інші ID. При чому, як параметра, так і шару.
avatar
59 chulovac • 06:23, 18.03.2024
Дуже дякую за оперативу допомогу у вирішенні даної проблеми! respect Дійсно, при додаванні растрів потрібно відкрити шаблон NORMAL, і все працює.
avatar
0
46 Микола • 21:47, 09.04.2020
Скрипт оновлено.
Внесені зміни у зв'язку із змінами у програмі Digitals (від 06.04.2020 року), які вступили у конфлікт із даним скриптом. Через це скрипт почав давати помилку або просто не реагував ніяк на запуск. 
Скачайте скрипт заново.
avatar
47 mal_and • 22:00, 02.05.2020
А можна кнопці скрипта присвоїти інше зображення. Я хочу використовувати декілька тематичних груп растрів. Якщо буде однакова іконка, буду плутатися
avatar
0
48 Микола • 19:11, 03.05.2020
права клавіша мишки на кнопці скрипту - пунтк Призначити іконку
avatar
0
45 Микола • 12:15, 09.01.2020
скрипт ще трохи оновлено - тепер растри відкриваються миттєво
avatar
44 vitas007 • 13:03, 08.04.2019
Працює. Дякую!
avatar
42 vitas007 • 19:50, 28.03.2019
Доброго дня. А якщоо потрібно щоб завантажувало декілька різних растрів наприклад 2000топо 2000орто
avatar
0
43 Микола • 11:17, 29.03.2019
Оновив скрипт. Скачайте ще раз.
Тепер якщо потрібно, щоб дана панель інструментів відкривала декілька різних незалежних типів растрів, то її просто потрібно продублювати, назвавши, наприклад scr Rastr2.tlb і в налаштуваннях (на кожній кнопці вибрати Змінити кнопку) поставити цифри 2,3,4 і т.д.(виділено жовтим нижче). Тоді кожна копія скрипту буде мати окремий довідник растрів.
avatar
40 topogeoid • 08:54, 12.02.2019
Добрий день, не вдається скачати, прописує, що архів пошкоджений.
avatar
0
41 Микола • 10:38, 12.02.2019
в мене скачується і відкривається, спробуйте оновити архіватор
avatar
0
39 Микола • 13:48, 12.08.2018
скрипт оновлено
Вдосконалено алгоритм відкривання растрів.
При великих відстанях між об'єктами карти (наприклад, коли на карті пункти ДГМ), тепер відкриваються не тільки кутові, а повністю всі растри.

Тепер, якщо перед натисканням кнопки 2 на карті виділити якісь об'єкти, то растр відкриється тільки під ними і карта автоматично відцентрується на них. Якщо ж перед відкриттям растру жодного об'єкту на карті не виділено, то позиціювання та масштаб відображення карти тепер залишаються без змін.

Коли сторінка ще порожня, але ми хочемо відкрити растр по населеному пункті, який нас цікавить, можна в коді скрипту (кнопка 2) замість рядків

$File=@Dialog.ListSelect Виберіть растр|$Text
@Map.InsertRasters $File


прописати такі рядки:

$rastr=@Dialog.Select Виберіть населений пункт для відкриття растру|Биків|Бистрий|Бистриця|Бистриця-Гірська|...
$papkarastr=E:\Ортофото
@if "$rastr"="Биків" then @Map.InsertRasters $papkarastr\05.tif
@if "$rastr"="Биків" then @Map.InsertRasters $papkarastr\13.tif
@if "$rastr"="Бистрий" then @Map.InsertRasters $papkarastr\69.tif
@if "$rastr"="Бистриця" then @Map.InsertRasters $papkarastr\04.tif
@if "$rastr"="Бистриця" then @Map.InsertRasters $papkarastr\05.tif
@if "$rastr"="Бистриця" then @Map.InsertRasters $papkarastr\12.tif
@if "$rastr"="Бистриця" then @Map.InsertRasters $papkarastr\13.tif
@if "$rastr"="Бистриця-Гірська" then @Map.InsertRasters $papkarastr\53.tif
@if "$rastr"="Бистриця-Гірська" then @Map.InsertRasters $papkarastr\63.tif


і прописавши навпроти відповідного міста чи села відповідний растр (чи декілька растрів), потім, при виборі населеного пункту, у нас відкриватиметься той чи інший растр.
avatar
36 xml-reg • 15:11, 15.09.2017
Дякую так дійсно, в шляху до растрів не првинно бути пробілів! Але тепер авторастр (3-тя кнопка автоматичного відкриття) не працює. Що тут може бути?))) Дякую.
avatar
0
37 Микола • 22:17, 15.09.2017
Растр відкривається автоматично, коли третя кнопка в положені "затиснута"
У всьому іншому вона аналогічна другій.
avatar
38 xml-reg • 16:30, 16.09.2017
в тому то і діло що вона затиснута але при відкриванні файлу растр автоматично під ним не відкривається!
avatar
34 xml-reg • 10:07, 14.09.2017
з АЙДИ розібрався дійсно були не такі , 1-й етам виконано (в фалі растр ліс і координати ліст є шляхи до растру і координати) але після 2-го всеодно помилка "немає доступу до .. і шлях до растру" в свойтвах папки (і файлах що там знаходяться-растрах) зняв гвлочку "только для чтения" і ще й дав досьуп всім пользователям- не помогло те саме. Растри самі відкриваються в діджиталі, растри лежать і підпапках на диску Д діджитал на диску С. Що можете ще підказати?
avatar
0
35 Микола • 17:03, 14.09.2017
Попробуйте вставити цей шлях в провіднику, чи він доступний буде
Подивіться, чи заповнився файл RastrList.txt іменами растрів правильно.
Можливо, папка з растрами знаходиться десь так далеко, що шлях не доступний для програми. Може в назві папок і растрів є пробіли і шлях читається не повністю. Перевірте це все. Причин тут багато може бути.
avatar
32 xml-reg • 16:25, 13.09.2017
Добрий день. Скажіть що це за помилка вискакує
Лінія 29: $File=@Map.Object[$N].Parameter[id$IDParamName]
Раніше була помилка що "немає доступу то .. і шлях до растру", в догонку як дозволити саме цей доступ не трогаючи діджитал з диску С?
avatar
0
33 Микола • 17:05, 13.09.2017
Якщо у вашій програмі не стандартний (редагований) файл Normal, то перевірте ці ID:$ID=1000001 - шар, в якому знаходяться ортофото на чистому листку
$IDParamName=50031 - параметр ортофото, в якому записаний шлях до нього

По доступі до растру - перевірте, чи є доступ до конкретного растру, який вказаний в помилці (це доступ на відкриття і він не має бути повязанаий з доступом до диску С загалом)
avatar
31 121212 • 16:20, 01.07.2017
питання знято! заново зкачав панель і знову нажав+, все запрацювало))
avatar
29 121212 • 14:42, 01.07.2017
цікаво мій дігі чи комп не вмре від такої кількості орто)) майте терабайт буде на одній карті
avatar
0
30 Микола • 15:12, 01.07.2017
та ні, растри ж не вставляються в карту фізично, а тільки як ярлик на карту. А при відображенні будується піраміда зображень. Хоча, можна і через Блок тріангуляції вставляти, щоб швидше.
avatar
27 121212 • 12:21, 01.07.2017
таке питання, були орто в ск63 і відповідна панель, тепер перевів всі орто в мск і хочу зробити панель для мск, але так щоб обидві панелі працювали. якщо я нажму + то чи не перестане працювати моя перша панелька(ск63)?
avatar
0
28 Микола • 14:22, 01.07.2017
- відкрийте чисту карту;
- вставте на карту через меню Вставка-Растрове зображення-Приєднання всі ортофото  (і в СК-63 і в МСК), щоб вони були одночасно на карті;
- сформуйте кнопкою "+" список усіх растрів та координат їхніх рамок.

В результаті у вас одною і тою самою кнопкою будуть відкриватися потрібні растри, не залежно, чи це СК-63, чи МСК. Растри будуть визначатися автоматично по координатах об'єкта на карті. Адже, координати СК відрізняються.
avatar
23 andrew • 10:02, 18.06.2017
Ошибка скрипта Line 51: $Line=@Text.Line[$I] Incorrest text. Lite index - 1
avatar
0
24 Микола • 10:56, 18.06.2017
щось не так з файлом RastrKoordList.txt. Перевірте, чи такий файл взагалі був створений першою кнопкою в папці з програмою. Якщо створений, то відкрийте і подивіться, чи є в ньому список координат кутів растрових зображень. Сформуйте ще раз цей файл першою кнопкою, вставивши перед тим на чисту карту всі потрібні вам ортофото.
avatar
25 andrew • 08:48, 20.06.2017
файл є тільки порожній
avatar
0
26 Микола • 21:00, 20.06.2017
тут одне із двох - або у вас растри в іншому ID (перевірте ID, як описано в скрипті), або перед формуванням їх просто нема на карті.
avatar
22 mityoktv • 08:25, 28.04.2017
Добродії, допоможіть, треба зробити винесення на полі. Проектант пропав, а інші землевпорядники по чужому проекту не роблять. Один погодився, але треба координати кутів WGS 84 для трьох ділянок кадастрові номери:

avatar
21 olenbka_ne • 17:36, 28.02.2017
відправила на пошту
avatar
19 olenbka_ne • 16:13, 28.02.2017
Щось не даю ради із цим скриптом(((Ніби і ID той і шар теж,коли натискаю вкл/викл растру і помилки не пише жодної і не відбувається нічого.Ділянка просто виділяється із центрами....
avatar
0
20 Микола • 17:28, 28.02.2017
можу подивитися через Тім Вівер. Напишіть на пошту мені id і пароль чи зателефонуйте.
Мій імейл та номер телефону можна знайти в розділі Придбати в кінці опису будь-якого із скриптів.
avatar
17 MaDDoG • 12:59, 20.01.2017
Digitals дійсно стоїть на диску С.
Але справа в тому, що ортофото, знаходяться на зовнішньому жосткому диску, а підключення до нього йде через локальну мережу.
З допомогою першої кнопки, я створюю список орто, але коли хочу відкрити на ділянці з допомогою другої кнопки, то пише, що немає доступу.
Можливо треба дати якийсь дозвіл через комп'ютер?
avatar
0
18 Микола • 14:13, 20.01.2017
до растру дозволів ніяких не треба. Якщо вони вставляються у вас через вставка-растрове зображення, то і скриптом будуть. А помилка "Немає доступу до 000" - це скоріше шлях до внутрішнього файлу скрипту, який стврюється в папці з програмою. Може у вас в назві папка з програмою називається "000 Digitals"? В назві папки не повинно бути пробілів. Тоді назву папки не може прочитати, бо читає тільки першу частину до пробілу. Що це за файл у вас 000?
avatar
0
16 Микола • 18:19, 18.01.2017
IDParamName - це ID параметра, в який записаний шлях до ортофото на закладці Інфо. Оротофото треба вставляти через Вставка-Растрове зображення. ID можна подивитися в менеджері параметрів по назві параметра чи його порядковому номеру так, як на закладці Інфо. Менеджер параметрів тут: 
Немає доступу скоріш за все через те, що Digitals стоїть на диску С. Перемістіть на інший диск або дозвольте програмам створювати файли на диску. Взагалі рекомандую не ставити Digitals на системний диск, бо інакше все пропаде після заміни Windows
avatar
15 MaDDoG • 17:45, 18.01.2017
Чомусь при натисканні 2-ой кнопки, вискакує повідомлення "Немає доступу до 000"
1-20 21-30
avatar