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

Створення файлу *.dat для перенесення меж в натуру
[ Викачати з сервера (7.9 Kb) ] 27.05.2023, 15:34

Скрипт створює файл *.dat (чи *.txt) для приладу GPS, на основі якого можна переносити межі в натуру.

Для цього достатньо просто відкрити xml, in4 чи файл json та запустити скрипт.

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

Або можна самому наперед додати потрібні пікети в шарі Точки зйомочної мережі (id28) і тоді скрипт сформує файл виносу тільки по цих точках.

Для встановлення скрипту просто скачайте файл у папку Digitals та перезапустіть програму.

Якщо натиснути правою кнопкою мишки на скрипті і вибрати Змінити кнопку, то там в перших рядках доступні такі опції:

;ІD точки виносу
$IDPoint=28
;Змінювати місцями Х та У
$YX=ні
;Додавати опис точки (якщо колонка потрібна, то поставте в ній хоч пробіл)
$Code=000
;Формат файлу (підтримуються  *.dat  *.txt  *.csv, останній тільки простого табличного вигляду)
$Format=*.dat

За замовчуванням файл виносу матиме ось такий вигляд:

1,000,5551837.088,422486.89,0
2,000,5551831.043,422507.807,0
3,000,5551812.735,422504.647,0
4,000,5551813.476,422478.334,0
5,000,5551814.481,422476.379,0
6,000,5551830.288,422480.763,0

Якщо у вашому приладі GPS не потрібно вказувати колонку опису точки (000), то у відповідній опції зітріть ці нулі.

Якщо у вашому приладі GPS Х та У поміняні місцями, то включіть відповідну опцію.

Категорія: Готові скрипти | Додав: Микола
Переглядів: 1543 | Завантажень: 339 | Коментарі: 13 | Рейтинг: 5.0/3
Всього коментарів: 13
avatar
11 seruy3009 • 14:56, 09.04.2024
Що зробити щоб замість
1,5398422.54209455, 1399544.09364753,0
було
1,5398422.5420,1399544.0936,200,
Дякую.
avatar
0
12 Микола • 17:59, 09.04.2024
Знайдіть в коді скрипту ось такі рядки і додайте ті, що тут виділені жирним:
$NameP=@Map.Object[$MON].Parameter[id40042]
$X=@StringPart 1 $XY
$X=@Calc replace("$X",",",".")
$X=@DequoteText $X
$X=@RoundTo $X 3
$Y=@StringPart 2 $XY
$Y=@Calc replace("$Y",",",".")
$Y=@DequoteText $Y
$Y=@RoundTo $Y 3
$Z=@StringPart 3 $XY
$Z=@Calc replace("$Z
avatar
13 seruy3009 • 09:03, 10.04.2024
Дякую
avatar
7 alibi • 11:57, 01.08.2023
Як змінити формат точок, а саме: "1 5369597,481 5254387,528 0"
avatar
1
8 Микола • 18:11, 01.08.2023
В коді скрипту замість рядків:

$X=@StringPart 1 $XY
$X=@Calc replace("$X",",",".")
$X=@DequoteText $X
$Y=@StringPart 2 $XY
$Y=@Calc replace("$Y",",",".")
$Y=@DequoteText $Y
$Z=@StringPart 3 $XY
$Z=@Calc replace("$Z",",",".")
$Z=@DequoteText $Z
@if $YX<>так then @Text.Add $NameP,$Code$X,$Y,$Z
@if $YX=так then @Text.Add $NameP,$Code$Y,$X,$Z

напишіть такі 4 рядки:

$X=@StringPart 1 $XY
$Y=@StringPart 2 $XY
$Z=@StringPart 3 $XY
@Text.Add $NameP $X $Y $Z
avatar
9 alibi • 10:21, 03.08.2023
Дякую за швидку відповідь.
Залишилось питання, я змінити роздільник в координатах. При заміні коду зараз рядок виглядає так:
Цитата
1 5369597.481 5254387.528 0
Потрібно щоб він мав вигляд ось так:
Цитата1 5369597,481 5254387,528 0Дякую.
avatar
0
10 Микола • 19:15, 03.08.2023
Тоді поверніть ці рядки, але в ось такому вигляді:
$X=@StringPart 1 $XY
$X=@Calc replace("$X",".",",")
$X=@DequoteText $X
$Y=@StringPart 2 $XY
$Y=@Calc replace("$Y",".",",")
$Y=@DequoteText $Y
$Z=@StringPart 3 $XY
$Z=@Calc replace("$Z",".",",")
$Z=@DequoteText $Z

Замість цих трьох:
$X=@StringPart 1 $XY
$Y=@StringPart 2 $XY
$Z=@StringPart 3 $XY
avatar
5 365yaroslav • 20:45, 13.06.2023
Всеодно пустий файл зберігає. Можливо ще щось виправити?
avatar
1
6 Микола • 21:30, 13.06.2023
Відкрийте код скрипту і подивіться приблизно в 20-тому рядку має бути ось таке:
$ListObj=@Map.Selected.List
(в старому скрипті там в коді Group)
Якщо немає - значить ваш браузер скачав старий скрипт.
Тоді почистіть кеш браузера і скачайте файл заново. Бо деякі браузери заради економії трафіку нові файли скачують не з сайту, а кожного наступного разу беруть старий файл з кешу.

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

Але якщо справа не в цьому, то опишіть детальніше, з якої карти (це хмл, dmf? які у вас шари карти?) ви запускаєте скрипт? А ще краще вишліть вашу карту на імейл.
avatar
2 kovboj • 14:44, 29.05.2023
в мене зберігає пусті файли
avatar
0
3 Микола • 14:42, 01.06.2023
виправив
в деяких випадках справді зберігало пусті файли
avatar
1 kovboj • 14:37, 29.05.2023
як зробити так щоб зберігався файл TXT?
avatar
0
4 Микола • 14:43, 01.06.2023
в коді скрипту в перших рядках пропишіть:
$Format=*.txt
avatar