Библиотека полезных скриптов

Чи є можливість зробити щоб цей скрипт працював?

Не можливо. Інформація з ППК зараз не підтягуеться.

Можливо хтось має лайфхаки як знаходити місце розташування ділянки в кадастровій карті - щоб взяти КОАТУУ, зону, квартал?
Вручну, візуально постійно шукати то довга справа.

download/file.php?id=3597
шар PCM, обов’язково вкажіть на карті датум

А як із цим чудом працювати?

Створiть кнопку i вставте в неї цей код (взято з вищенаведеного прикладу)$MCount=@MapCount @If $MCount=0 Then @Break $EO=@Map.NextSelected @If $EO=0 Then @Break Виберiть дiлянку (контур) для вiдображення її розташування на ПКК $Datum=@Map.Datum ; ---------------------------------- ; Датум по замовчуванню - SK63(1) @If $Datum= Then $Datum=SK63(1) ; ---------------------------------- @Map.Datum $Datum $Tab=@Calc char(9) $Tab=@DequoteText $Tab $XYZ=@Map.Object[$EO].PointList 0.0000 WebMercator (EPSG3857) $XYZ=%Library.ReplaceComma $XYZ $X=@StringPart 1$Tab$XYZ $Y=@StringPart 2$Tab$XYZ $URL=https://map.land.gov.ua/?cc=$Y,$X&z=16&l=kadastr&bl=ortho10k_all @Run $URL %Ignore
пiсля вибору об’єкту i натисненнi на кнопку завантажиться ПКК, де в центрi буде знаходитися вибраний об’єкт.

ДЯКУЮ ! :slight_smile:

Оновлений OnClick.dmf, зверніть увагу на шар PCM_2.

Скрипт який читає атрибути ділянки з ППК по кадастровому номеру, та записує в параметри поміченого об’єкта отримані дані
Для того щоб цільове ділянки було повним а не скороченим (01.01), потрібно в папку Lists скопіювати файл DovidnykKZ-all.txt
;----------------------------------------------------
;@OpenLog
;----------------------------
;Шлях до папки з програмою
$Papka=@ProgramFolder
;----------------------------
$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
$L=@Calc Copy(“$CVNKS”,“1”,“5”)
$L=@DequoteText $L
;шлях до довідника з кодами КВЦПЗ c:\Program Files (x86)\Digitals\Lists
@Text[1].Load $Papka\Lists\DovidnykKZ-all.txt
$TC=@Text[1].Count
$I=0
%Loop
$I=$I+1
$TL=@Text[1].Line[$I]
$L2=@Calc Pos(“$L”,“$TL”)
@if $L2>0 then $CVNKS=“$TL”
$CVNKS=@DequoteText $CVNKS
@if $L2>0 then @Goto %Yes
@if $I<$TC then @Goto %Loop
%Yes
;@Dialog.Message $KDNKS|$VLNKS|$CVNKS|$PLNKS
;------------------------------
;помічаємо об’єкт в який потрібно записати атрибути
@Map.SelectObject $SO
;------------------------------
;отримуємо список доступних шару параметрів та додаємо нові
;за потреби цей блок можна відключити поставивши ; перед початком кожного рядка
$ParSO=@Map.Layers.GetValidParameters $FindByID
@Map.Layers.SetValidParameters $ParSO $IDKDNKS $IDVLNKS $IDCVNKS $IDPLNKS
@Map.Selected.Refresh
@ExecuteMenu ViewShowAll
@Map.CalculateRange
;------------------------------
;параметри об’єкта в які записуємо отримані значення
;можна замінити на свій, замість [$IDKDNKS] наприклад вписати [85]
;[85] - порядковий номер вашого параметра в який потрібно записати дані
@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
;@CloseLog D:\123.txt
;----------------------------------------
P.S. Доповнення та виправлення скрипта вітаються :smiley:

Добрый день! подскажите, есть ли какой-то скрипт, с помощью которого можно создать базу, вытянув одним махом все хмли с заданной папки какого-то определенного района (внутри папки находятся папками с каждым заказчиком отдельно)? много времени тратится если вставлять в карту хмл заходя в каждую папку заказчика отдельно.

До того поки не прочитав цей допис, чомусь не користувався готовим скриптом для зміни масштабу в готових документах - тепер буду.
Скрипт для корегування масштабу на планах:
digitals.at.ua/load/skript_dlja_ … h/1-1-0-59