Так вже ж було детальніше [size=130]тут[/size]. А в скрипті один рядок:
@Map.RecalculateToNewDatum [OldDatumName] NewDatumName
“Пересчитывает координаты всех объектов карты в другую систему координат, например @Map.RecalculateToNewDatum SK42(5) SK63(3)”
Якщо в поточній карті не встановлено датум, то необов’язковий параметр OldDatumName має бути вказаний, інакше ніякого перерахунку координат не відбудеться. Параметр NewDatumName - назва датума, який був створений Вами у файлі Datums.ini.
В принципі, можна й потренуватись в написанні такого скрипта (не знаю - для чого велосипед). Скрипт не пропустить карту на перерахунок, якщо не вказано датум карти:$ProgPath=@ProgramPath
;Вичитуєм датум вхідної карти
$DatumOld=@Map.Datum
@If $DatumOld<> then @Goto %EndDatumOld
;Вичитуєм список датумів
@Text[1].Load $ProgPath\Datums.ini
$DatumsINITextCount=@Text[1].Count
$N=0
%StartDatumsINI
$N=$N+1
@If $N>$DatumsINITextCount @Goto %DatumsINITextEnd
$StrDatumsINIRow=@Text[1].Line[$N]
$FirstLatter=@Calc Pos(";","$StrDatumsINIRow")
@If $FirstLatter=1 @Goto %StartDatumsINI
$FirstLatter=@Calc Pos("[","$StrDatumsINIRow")
@If $FirstLatter=1 @Text[2].Add $StrDatumsINIRow
@Goto %StartDatumsINI
%DatumsINITextEnd
$ListDatumsINI=@Text[2].Text
$StrDatumInput=@Dialog.ListSelect Карті не присвоєно датум. Обов'язково виберіть зі списку датум карти.|$ListDatumsINI
$StrDatumInput=@Calc Replace("$StrDatumInput","[","",1)
$StrDatumInput=@DequoteText $StrDatumInput
$StrDatumInput=@Calc Replace("$StrDatumInput","]","",1)
$StrDatumInput=@DequoteText $StrDatumInput
@If $StrDatumInput= then @Break Визначіть датум карти.
@Map.Datum $StrDatumInput
%EndDatum
;Визначаєм новий датум карти
$NewDatum=@Dialog.ListSelect Виберіть зі списку датум карти, в який перерахувати координати карти.|$ListDatumsINI
$NewDatum=@Calc Replace("$NewDatum","[","",1)
$NewDatum=@DequoteText $NewDatum
$NewDatum=@Calc Replace("$NewDatum","]","",1)
$NewDatum=@DequoteText $NewDatum
@If $NewDatum= then @Break Визначіть датум карти.
@Map.RecalculateToNewDatum $NewDatum
@Map.SelectAll
@Window.ShowSelected
@Map.DeselectAll