Головна » Статті » Уроки

Як створювати шаблони в Digitals?

Відеоуроки для початківців - Як створювати шаблони? 


Урок 1. Про те, що таке шаблон в Digitals, як його створити "з нуля", основи редагування і основні таблички та функції, які можна в нього добавити

Урок 2. Показано, як малювати в шаблоні таблиці, лінії, як вставити знак Північ-Південь і автомасштаб

Урок 3. Показана робота з такими основними функцями, як CLA, GET, SEL, SEF, FIL та ін.

Категорія: Уроки | Додав: Микола (16.11.2014)
Переглядів: 3669 | Коментарі: 7 | Рейтинг: 0.0/0
Всього коментарів: 7
avatar
2 lvivsurveyer • 17:17, 20.10.2020
Виникло питання в роботі з Digitals. пошук по форуму результату не дав
Задача:
маємо кад.номер земельної ділянки і межу земельної ділянки
необхідно з публічки витягнути цільове призначення земельної ділянки за даним кад номером і тип власності. і вставити в файл з ділянкою
знайшов ось таку формулу, але так і не зрозумів як вона працює
$SO=@Map.SelectedObject
@if $S0=0 then @Break Виділіть об'єкт
$X=@Map.Object[$SO].Parameter[-4]
$Y=@Map.Object[$SO].Parameter[-3]
$Res=@Map.GetPublicMapParcelInfo $X $Y
@if $Res=0 then @Break Інформація не знайдена
@Dialog.Message $Res
avatar
-1
3 Микола • 21:52, 20.10.2020
Справа в тому, що скриптова функція @Map.GetPublicMapParcelInfo більше не працює, бо відсутній доступ до ПКК.
Є ще функція @CreateParcelMarker, яка начебто мала показувати цільове призначення за кадастровим номером. Але не знаю, чи вона працює. Пробував - не виходить.
avatar
4 petrogeo0410 • 00:25, 21.10.2020
Можна так, якщо є кадастровий прочитати атрибути з ППК, код скрипту
;------------------------------
;потрібно виділити об'єкт
$MS=@Map.SelCount
@if $MS=0 then @Break Виділи об'єкт в який потрібно записати атрибути з ППК!
$SO=@Map.SelectedObject
$LayerID=@Map.Object[$SO].LayerID 
$FindByID=@Map.Layers.FindByID $LayerID
@Map.DeselectAll
$KadNomAsk=
$KadNomAsk=@Dialog.Ask Встав кадастровий номер Default=$KadNomAsk Size=200
@if $KadNomAsk= then @Break Введи кадастровий номер!!!
$KadNomAsk=@Calc Trim("$KadNomAsk")
$KadNomAsk=@DequoteText $KadNomAsk
@CreateParcelMarker $KadNomAsk
;------------------------------
$IDKDNKS=@Map.Parameters.FindByName Кадастровий номер
$IDVLNKS=@Map.Parameters.FindByName Тип власності
$IDCVNKS=@Map.Parameters.FindByName Цільове призначення
$IDPLNKS=@Map.Parameters.FindByName Площа
;------------------------------
@Map.DeselectAll
@Map.SelectByParameters 1|$IDKDNKS=$KadNomAsk
$S=@Map.SelectedObject
$KDNKS=@Map.Object[$S].Parameter[$IDKDNKS]
$VLNKS=@Map.Object[$S].Parameter[$IDVLNKS]
$CVNKS=@Map.Object[$S].Parameter[$IDCVNKS]
$PLNKS=@Map.Object[$S].Parameter[$IDPLNKS]
@Map.DeleteObject $S
;@Dialog.Message $KDNKS|$VLNKS|$CVNKS|$PLNKS
;------------------------------
@Map.SelectObject $SO
@Map.Layers.SetValidParameters $FindByID $IDKDNKS $IDVLNKS $IDCVNKS $IDPLNKS
@Map.Selected.Refresh
@ExecuteMenu ViewShowAll
@Map.CalculateRange
@Map.Object[$SO].Parameter[$IDKDNKS] $KDNKS
@Map.Object[$SO].Parameter[$IDVLNKS] $VLNKS
@Map.Object[$SO].Parameter[$IDCVNKS] $CVNKS
@Map.Object[$SO].Parameter[$IDPLNKS] $PLNKS
@Map.Selected.Refresh
avatar
0
5 Микола • 09:07, 21.10.2020
і у Вас працює?
бо я вводжу різні кадастрові номери (наприклад, цей - 4621282100:01:002:0104)
і нічого не знаходить
Відповідь: Зрозумів. Це треба, щоб програма Digitals була оновленою. На програмах за 23 вересня і старіших дана функція (а також функція Реєстри - Земельна ділянка) не працюває
avatar
6 lvivsurveyer • 09:26, 21.10.2020
так. працює. треба виділити межу ділянки для коректної роботи і натиснути кнопку активації скрипту. Вставити кад номер в випливаюче вікно і натиснути ОК. далі скрипт підтягує інформацію з публічки в вкладці інфо. Тягне такі параметри:
Кадастровий номер    4610137500:12:001:0014
Тип власності    Комунальна власність
Цільове призначення    11.02
Площа    0.0123

Жаль що підтягує лише код КВЦПЗ, а не повне цільове згідно даного документу https://zakon.rada.gov.ua/laws/show/z1011-10#Text
але я не розумію даний момент: що і як підправити, аби тягнуло повний КВЦПЗ з цільовим призначенням, тобто формату "11.02 для розміщення та експлуатації основних, підсобних і допоміжних будівель та споруд підприємств переробної, машинобудівної та іншої промисловості". Можливо можна зробити щоб скрипт витягував з публічки код цільового, а з *.txt файлу в корені програми щоб тягнуло повний текст на основі даного коду цільового призначення
і не розумію як залишити кілька своїх параметрів, як були витягнуті в вкладці "Інфо" (щоразу заходити в параметри і додавати ті, які приховав скрипт зовсім не цікаво

також не зрозуміло що це за формули і яким чином на основі цих формул прописати свої, аби вони працювали. 
$IDKDNKS=@Map.Parameters.FindByName Кадастровий номер
$IDVLNKS=@Map.Parameters.FindByName Тип власності
$IDCVNKS=@Map.Parameters.FindByName Цільове призначення
$IDPLNKS=@Map.Parameters.FindByName Площа
avatar
7 petrogeo0410 • 15:13, 21.10.2020
Трохи доопрацював скрипт.
розмістив на форумі Delta/Digitals
http://www.geosystema.net/forum/viewtopic.php?f=1&t=2539&start=210
avatar
1 sckorobagaty33 • 11:27, 11.05.2016
SEF(GET(1/1,P[ID7000901](ID7000901<>)),LandCode2.txt) підскажіть будьласко як витягнути назву угідь. Якщо 42.1 пробіл 008.01 пробіл Землі під соціально-культурними об’єктами.
avatar