Збереження списку координат точок

Мені потрібно зберегти файл DMF, який містить точкові обєкти, у вигляді текстового файлу (типу DAT), який би містив список номерів точок та їхніх координат. В результаті я хочу відкрити кінцевий файл і роздрукувати координати точок (каталог координат).
Пробував зберегти в DAT. Але так взагалі нічого не зберігається.
Дещо схоже можна зробити, зберігши в ASCII text file:

MET
BEGIN
XY

//Layer 10 Точки теодолітних ходів
//ObjectID 1
//P[1] 6869
//P[3] 33438292.00
//P[2018] 6869
//C[1] X0.000 Y1.000 Z0.000 O0 L256
309526.05 142430.73 121.83

//Layer 10 Точки теодолітних ходів
//ObjectID 2
//P[1] 519
//P[3] 2526492.00
//P[2018] 519
//C[1] X0.000 Y1.000 Z0.000 O0 L256
307376.13 143430.70 121.75

//Layer 10 Точки теодолітних ходів
//ObjectID 3
//P[1] 6874
//P[3] 33462632.00
//P[2018] 6874
//C[1] X0.000 Y1.000 Z0.000 O0 L256
307336.77 143912.26 122.22

Але тут багато зайвих стрічок (виділено синім), а потрібні тільки координати і номер (виділено червоним).

Пользуйтесь командой Сервис-Отчет.

  • помечаем объект
  • вызываем вышеупомянутую команду
  • выбираем необходимый тип отчета - в данном случае Простой список с координатами
  • задаем маску NXY
  • выбираем необходимые параметры, например площадь. Хотя бы один параметр должен быть выбран обязательно
  • жмем Отчет
  • далее по желанию - можно записать в файл, можно передать в exell, можно разместить в виде таблицы на карте.

Попробуйте также другие типы отчетов. Наверняка пригодится Простой список.

Теперь такие вещи можно довольно просто (при определенном навыке) делать при помощи скриптов.
Вот пример скрипта, который сохраняет в текстовый файл все точечные объекты карты с их номерами:

$C=@Map.Count
@If $C<1 @Break
$I=0
%Start
$I=$I+1
$N=@Map.Object[$I].Count
@if $N<>1 @Goto %Skip
$Point=@Map.Object[$I].Point[1]
$Number=@Map.Object[$I].Parameter[1]
@Text.Add $Number $Point
%Skip
@If $I<$C @Goto %Start
$File=@Map.ClearFilename
$File=@Dialog.SaveFile *.txt $File.txt
@Text.Save $File

Номера берутся из первого параметра, но это легко поменять, отредактировав строчку
$Number=@Map.Object[$I].Parameter[1].
При желании скрипт также можно модифицировать, чтобы сохранялись только помеченные объекты, объекты из определенного слоя, и т.д. и т.п.

Также прилагаю готовый тулбар: Save.tlb.zip (470 Bytes)

Дякую за готовий скрипт :exclamation: :exclamation: :exclamation:

Як настроїти програму, щоб при імпорті DAT-файлу точки закидувались в “правильний” шар і назва точки заносилась в “правильний” параметр??? Бо у мене чогось точки відкриваються в тисячному масштабі в шарі Агровиробнича зона, а номери точок в параметрі Коефіцієнт бонітету.

Навеное никак. Я уже давно с этим смирился и не обращаю внимания. Просто меняю нужные ID и копирую куда положено.

Сервис>Настройки>Чтение>DAT устанавливаем нужный Код слоя и через запятую перечисляем Коды параметров.

Я так зрозумів що при читанні DAT-файлу в якості параметра N можуть виступати тільки числові дані. Яким чином можна відкрити текстовий файл формату:

символьне_імя_точки X Y Z

??? :question:

Поле N может быть любым, не только числовым.
Единственное ограничение - в нем не должно быть пробелов, иначе нарушится порядок колонок и программа будет читать координаты не из тех частей строки, что нужно.

Однако текстовое описание с пробелами тоже можно загрузить - для этого оно должно идти пятой колонкой, после координаты Z:

символьне_імя_точки X Y Z будь який текст

В Настройках задаются коды для двух параметров:


В первый параметр (с кодом 1) заносится номер точки из первой колонки, а во второй (с кодом 29) - весь текст после координаты Z до конца строки.

Здравствуйте.
Объясните, почему вдруг при вставке DAT файла выдает сообщение: List capacity out of bounds (0)
(Переводчик выдал:Составьте список вместимости вне границ (0) и файл не открывается? В чем фокус?

Вышлите этот файл на help@vingeo.com, разберемся

Здравствуйте!
Проверил вставку DATфайла в старом GED (версия 5.0.0.497) - работает нормально. Значит проблема в GED.exe?

А вы отправляли нам свой DAT файл?

Здравствуйте! Давно не заглядывал на форум. Сегодня еще раз проверил импорт DAT-файла, уже все работает. Почему был глюк - не понял, но раз уже работает, то и хорошо.

Попробуйте убрать в normal.dmf соранные (отрисованные слои).Будет грузить .dat