Скрипт для перерахунку растрів в іншу систему координат
Скрипт забезпечує масовий перерахунок всіх растрових зображень з системи СК63 в УСК2000 чи МСК. Для цього необхідно вказати папку де знаходяться зображення в системі СК63 та вибрати датум в який їх необхідно перерахувати. Для перерахованих зображень автоматично створюється нова папка. Растри перераховуються в систему MSK-XX, яка вибрана у меню Реєстри|Вибір регіону).
@SetDefaultImageDatum SK63
$DestDatum=@ActiveMSK
$V=@Version
@If $V>=42881 then @Goto %Start
@Dialog.Message Цей скрипт потребує оновлення программи
@ExecuteMenu HelpAbout
@Break
%Start:
$SourceDir=@Dialog.SelectFolder Оберіть папку з растрами в СК63
@if $SourceDir= then @Break
$DestDatum=@Dialog.Ask В який датум перерахувати растри? Default=$DestDatum
@If $DestDatum= then @Break
$L=@Calc length(“$SourceDir”)
$DestDir=$SourceDir ($DestDatum)
@Text[2].Clear
@Text[1].FolderListTree *.tif $SourceDir
$FC=@Text[1].Count
@if $FC=0 then @Break Не знайдено tif-файлів в $SourceDir
@Text[2].Add Папка вхідних зображень: $SourceDir
@Text[2].Add Папка трансформованих зображень: $DestDir
@Text[2].Add
$I=0
%LoopFile
$I=$I+1
@FileNew
@Map.Datum $DestDatum
$FN=@Text[1].Line[$I]
$GSD=@GetImageGSD $FN
$BPP=3
$BPP2=@GetImageBitsPerPixel $FN
@if $BPP2=8 then $BPP=1
@Map.InsertTriangulation $FN
$RP=@Calc copy(“$FN”,$L+2,1000)
$RP=@DequoteText $RP
$PC=@StringPartCount \ $RP
$SF=
@if $PC<2 then @Goto %Continue1
$J=1
%LoopPart
$SF2=@StringPart $J$RP
@if $SF2<> then $SF=$SF$SF2
$J=$J+1
@if $J<$PC then @Goto %LoopPart
%Continue1
@OrthoRectification $GSD $BPP $DestDir$SF
@CloseMap
@Text[2].Add Оброблено $FN
@Goto %Continue2
%IgnoreRaster
@Text[2].Add Проблема з обробкою $FN
%Continue2
@CloseMap
@if $I<$FC then @Goto %LoopFile
@Text[2].Save $SourceDir\OrthoRect.log
@Run notepad.exe $SourceDir\OrthoRect.log
@Run $DestDir
Додатково:
Використання готових скриптів - facebook.com/vinmap.net/pos … 6725161000