Как создать файл gsi

Обновлено: 29.06.2024

Очень бы хотелось видеть расширенную поддержку GSI в Geodesy.

P.S. А формат файла *.GDM, динамически создаваемого при импорте данных, довольно таки интересен и если его доработать в части восприятия угловых измерений в виде ГГГ.ММSSD или ГГГ.DDDDDDD в принципе можно было бы настроить экспорт данных из прибора напрямую в *.GDM.

А формат файла *.GDM, динамически создаваемого при импорте данных, довольно таки интересен и если его доработать в части восприятия угловых измерений в виде ГГГ.ММSSD или ГГГ.DDDDDDD в принципе можно было бы настроить экспорт данных из прибора напрямую в *.GDM.

Ничего дорабатывать не надо, т.к. программа должна без проблем воспринимать вариант ГГГ.DDDDDD (градусы с дробной частью после запятой) в файлах *.GDM.

Очень бы хотелось видеть расширенную поддержку GSI в Geodesy.

Как правило исполнители не задают координаты точек непосредственно в прибор и проблема отпадает сама собой: исходные координаты задают уже после импорта измерений (см. Ход|Исходные данные ).
Для решения проблемы выложите ваш файл с опорными точками или пришлите по почте.

Приветствую!
Недавно начал работу с прибором Leica TCR405power, есть возможность скачать файл с прибора в 3ох разных росширениях: *.GSI; *.IDX; *.ASC.
При загрузке GSI геодезия плотно зависает и вывести из этого состояния приходится убиением процеса!
IDX и ASC прекрасно жует и с ними можно работать но:
я привык работать с кодами для пикетов и станций стояния, (до этих пор обрабатывал файлы с прибора Sokkia, нарадоватся немог ), а тут при загрузке ASC файла с кодами для пикетов станцию стояния разрывает на несколько частей обзывает как ноль
при загрузке файла IDX, коды(в геодезии звучит как примечание) вобще отсуцтвуют! но пикеты не рвет, эт радует
высылаю файлы, поглядите, мож не то, что-то делаю?
желательно довести до ума ASC он-же TPS400_8GSI, судя по всему в несм содержится больше инфы

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!

Приветствую!
Недавно начал работу с прибором Leica TCR405power, есть возможность скачать файл с прибора в 3ох разных росширениях: *.GSI; *.IDX; *.ASC.
При загрузке GSI геодезия плотно зависает и вывести из этого состояния приходится убиением процеса!
IDX и ASC прекрасно жует и с ними можно работать но:
я привык работать с кодами для пикетов и станций стояния, (до этих пор обрабатывал файлы с прибора Sokkia, нарадоватся немог ), а тут при загрузке ASC файла с кодами для пикетов станцию стояния разрывает на несколько частей обзывает как ноль
при загрузке файла IDX, коды(в геодезии звучит как примечание) вобще отсуцтвуют! но пикеты не рвет, эт радует
высылаю файлы, поглядите, мож не то, что-то делаю?
желательно довести до ума ASC он-же TPS400_8GSI, судя по всему в несм содержится больше инфы

А куда Вы выслали файлы?

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!


Проблема исправлена. Получили ли Вы письмо с новой версией программы? Проблема исправлена. Получили ли Вы письмо с новой версией программы?

_________________
ГрызЁм гранит науки, и внедряем осколки в массы!

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

Начну с форматов файлов.
Файл *.GSI не похож на файлы данного формата, с которыми мне
доводилось встречаться, т.к. строки начинаются с символа * (звездочка)
и кол-во символов значений больше. Другое деле файл ASC, который по
сути и представляет собой формат GSI, который был первым добавлен для
импорта в Геодезию. Но представление данных в этом файле отличается от
прежнего, поэтому и появились нулевые станции. В старом варианте коды
точек вообще не давались, а в данном файле они даются тем же кодом,
что и станции - 41, поэтому и "рвались" станции. Я эту проблему
исправил.

Кроме того, я доработал чтение кодов из формата *.IDX. По идее, теперь
результаты импорта из форматов *.ASC и *.IDX не должны отличаться.

Начнем. Вы, наверное, слышали, что в некоторых устройствах используется какая-то диковинная A/B структура разделов . Она отличается от структуры в большинстве Android устройств.
На ней как-то странно и непривычно устанавливаются обновления, прямо при работающей системе (O_o). Внутри OTA образов другая, нечитабельная структура. Установка TWRP сопровождается какими-то, раннее не встречаемыми, сложностями, дополнительными манипуляциями и значительно отличается от всего, что "я" раньше видел. Все говорят о каких-то буквах "А", "Б", слотах, двух и системах и прочих, непонятных "мне", вещах. Что же, давайте попробуем во всем этом разобраться.


Начнем с общих вопросов:
Q: Ну и кто все это придумал? Проклятые производители простым гикам жизнь усложняют?
A: Новая структура "A/B разделов" разработана непосредственно Google-ом как часть глобальных изменений в архитектуре Android. Она успешно используется в смартфонах Google Pixel, Essential Phone и различных других устройствах. В дальнейшем все больше устройств от сторонних производителей будут ее использовать. Ничего плохого и страшного в этом нет, наоборот, открывается много новых возможностей.

Q: Так что же из себя представляет A/B структура разделов?
A: Если говорить совсем просто — внутри вашего устройства расположены сразу две (а в зависимости от реализации и больше), независимые между собой, системы. Что-то на подобии MultiROM (если слышали о таком), только с гораздо более продуманной реализацией на более низком уровне. Если интересует конкретная информация с объяснением всех аспектов - прошу продолжить чтение.


Таблица разделов на примере Google Pixel:
Дабы наглядно отобразить, изложенную выше, теорию и увидеть отличия по сравнению с другими устройствами — познакомимся с таблицей разделов Google Pixel.
Если вы вообще не знакомы со структурой разделов в Linux-подобных системах, и Android в частности, — советую поискать информацию об этом в Google, благо ее полно.

Нас интересуют конкретные разделы, существующие в двух копиях для наглядности и демонстрации.
Итак (раскрываем код полностью):

Как видно из выдержки выше, — имеются два, независимых между собой, слота, а именно "группы разделов", которые содержат в себе основные, обновляемые компоненты прошивки.

Два представленных слота состоят из:
Bootloader (загрузчик) — 28 разделов (14 на каждый слот).
Radio/Modem (радиомодуль) — 2 раздела (по одному на слот).
Boot (ядро) — 2 раздела (по одному на слот).
Vendor (драйверы) — 2 раздела (по одному на слот).
System (система) — 2 раздела (по одному на слот).

Остальные разделы, не указанные в таблице, представлены в одном экземпляре за ненадобностью их деления.
Обратите внимание раздел пользовательского хранилища (userdata) всегда один! Именно поэтому вы не можете (без очистки хранилища) одновременно использовать две абсолютно разных прошивки, будет конфликт. Возможно одновременное использование одинаковых по типу прошивок (а в некоторых случаях и это невозможно без сброса данных).


Принципиальные отличия по сравнению с другими устройствами:
С дублированием разделов и, структурой в целом, разобрались. Однако, вы могли заметить (если просматривали полную таблицу разделов) отсутствие, привычных в любом устройстве, разделов "/recovery" и "/cache". Да, их действительно нет. Но могут и встречаться в отклонениях от нормы.

Q: Стоп. Но если раздела для Recovery нет, а сам Recovery есть (Он ведь есть, правда?), где же он находится?
A: Система восстановления (Recovery) включена в состав образа ядра (boot). А потому, наличие, отсутствие и тип установленного recovery напрямую зависят от ядра системы. Переключение в него (Recovery), как и раньше, осуществляется специальным флагом в "/misc" разделе.
Именно в этом и состоит загвоздка установки TWRP — его как-то нужно "засунуть" в ядро. Потому TWRP сначала временно загружают (устанавливать то его некуда), а затем уже из TWRP, специальным скриптом, на лету распаковывается ядро и вшивается в него TWRP. Такая же схема "перепаковки ядра на лету" применяется при получении "systemless" рут-прав через SuperSU и Magisk.

Q: Хорошо, а что же тогда случилось с "/cache" разделом?
A: В привычных устройствах он необходим лишь для хранения OTA обновлений и системных логов Recovery, в данном же случае, ввиду применения новой схемы этих самых обновлений (см. ниже), раздел стал попросту "не нужОн". Вот от него и избавились.

Ручное переключение слотов:
Естественно, помимо самих слотов, должен быть способ ручного взаимодействия с ними. И он есть. Для ручного переключения текущего активного слота необходимо воспользоваться утилитой fastboot. Команды:

Так же, переключится в другой слот можно в соответствующем пункте TWRP (Reboot -> Slot A / Slot B).

Итоги и положения:
1. Между слотами как система, так и сам пользователь могут переключаться.
2. Изначально (с завода) слоты полностью идентичны между собой. Различия появляются после применения любого OTA обновления системы.
3. Слоты изолированы между собой. Состояние и целостность одного слота никак не влияет на другой. За исключением применения OTA обновлений (см. ниже).


"Seamless" система обновлений:
Итак, с разделами и слотами разобрались. Но что же там с обновлениями, наверняка их тоже коснулись изменения, ввиду описанного выше?
Да, OTA обновления на устройствах с A/B структурой кардинально отличаются от того, что мы можем видеть на других устройствах.

Итоги и положения:
1. Все OTA обновления устанавливаются в неактивный, противоположный слот. То бишь - обновляется лишь один слот.
2. Все OTA обновления устанавливаются в фоновом режиме при рабочей системе, без перезагрузки устройства.
3. Все OTA обновления устанавливаются в два этапа "Шаги": "Шаг 1" - Загрузка обновления. "Шаг 2" - Фоновое применение обновления в неактивный, противоположный слот.
4. После установки OTA обновления, при перезагрузке устройства, оно автоматически загрузится в обновленный слот (ранее неактивный).

Android 8.0+ — трансляция обновлений:
Начиная с версии Android 8.0 возможна (но не обязательна) частичная реализация трансляции обновлений с одновременным их применением (прямая запись).
Это значит, что обновления не нуждаются в предварительной их загрузке, а применяются "на лету".


Для себя я определил наиболее удобный способ при помощи инструментов QuickTools, Credo DAT и Leica Geo Office (Вместо LGO можно использовать TSAgent).

Процесс этот достаточно прост, отработан до мелочей и в итоге подготовка к работе занимает немного времени.

1. создаём файл с координатами точек


если у вас ещё нет этой панели, можете её скачать,и установить



Получившийся текстовый файл:


2. импортируем текстовый файл с координатами точек в Credo DAT


  • Выбираем файл
  • в открывшемся окне в левой панели выбираем нужные нам точки (или все)
  • передаём их в правую панель
  • выбираем значения столбцов
  • выполняем импорт


теперь все точки из текстового файла у нас загружены в Credo DAT


3. Делаем экпорт точек из Credo DAT (*.gsi)



Получившийся файл (*.gsi):



Большой набор интерфейсных команд, которые поддерживают тахеометры серии TPS и цифровые нивелиры фирмы Leica, обеспечивает прямой доступ к компьютеру и записям данных посредством последовательного интерфейса RS-232.

Интерфейс Leica GSI представляет собой последовательный интерфейс общего назначения для двустороннего обмена данными между прибором и компьютером. G SI использует простую структуру команд для чтния-записи значений из или в прибор. Для указания типов данных используются как глобальные, так и специфические для конкретного прибора, WI -указатели (Word Index). GSI предоставляет специфический набор команд, адаптированный к функционалу различных серий приборов.

GSI формат данных

GSI -данные передаются поблочно, каждый блок при этом завершается символом или символами конца блока (терминатором или окончанием) CR или CR / LF . Каждый блок состоит из нескольких слов данных (см. пример ниже). Слово данных начинается с 2-х символов, которые называются указателем или кодом слова (Word Index, WI-указатель, WI-код), указывающего тип данных внутри этого блока. Блок формата GSI-8 имеет длину в 16 символов, представляющих собой 7 информационных символов (например, WI, знак), за которым следует 8 символов данных и пустой символ (ASCII-код 32) в конце слова данных. Блок формата GSI-16 подобен блоку GSI-8, но блок начинается с символа «*» и слово данных состоит из 16 символов для передачи длинных значений, таких как UTM-координаты, длинные алфавитно-цифровые коды, атрибуты или ID -номера точек.

В примере 1 показана последовательность GSI -8 блоков, состоящих из слов для ID-номера точки (11), координат Y (81) и X (82). В примере 2 показана последовательность GSI-16 блоков, состоящих из ID-номера точки (11), горизонтального (21) и вертикального (22) углов.

Структура GSI -8 слова данных:

Поз. 16: Пробел (равносилен разделяющему символу)

Пример 2: GSI -16

Структура GSI -16 слова данных:

Читайте также: