В предыдущей статье положено начало анализу PLN формата. В этом продолжении попробую логически добавить информацию которую удалось получить о структуре указанного формата. Было принято решение не менять прошлые статьи, для того чтобы можно было отследить последовательность действий (но версия 2 прошлой статьи всё таки поправлена). Однако ценность этой информации для не целевой аудитории не очень велика. Новое описание данных:
На изображении видно что первые 4 байта 02, высокая вероятность что это указана версия пакета данных. Так как есть файлы с байтом 03 и расширенной шапкой, сейчас структура изучается и будет описана далее. Следующие 8 байт, данные тира Real (указаны фиолетовым цветом), содержат адрес по индексу первого вхождение параметра. Например, в верхней строке первое вхождение на графике кривульки GZ3 будет на глубине 3585.10. Неизвестно по какой причине, однако в некоторых блоках эта информация отсутствует, т.е. содержит нули хотя кривулька начинается не с нулей.
Далее идёт поле описаний. В этом поле находится описание и мнемоника кривульки. Если есть только мнемоника, то после первого вхождения идёт 9 байт нулей. Если есть и описание и мнемоника, то после первого вхождения идёт 8 байт нулей. Скорее всего это место под поля с единицами измерения и другими сопутствующими параметрами. Более предметных данных на сейчас нет.
От конца мнемоники до начала маркера 10 B8, находится 10 байт значение которых уточняется. Зачастую это байты нулей 00. Иногда первый байт бывает 01, информация уточняется.
Следующие за маркером 10 B8 4 байта зачастую содержат нули, иногда начинаются с байтом 01. Следующие 4 байта могут содержать уникальный номер кривульки. Некоторые кривые получают уникальный номер, но многие не имеют уникальный номер. Те кривульки, которые не имеют уникальный номер содержат нулевое значение четырёх байт. Следующие 8 байт могут содержать время и дату создания или записи параметра (указано фиолетовым цветом).
Следующий байт (указан розовым цветом) определяет тип кривульки. На сейчас есть сведения о следующих типах:
- 00 - Кривые
- 01 - Границы
- 02 - Пласты
- 03 - Палетки
- 04 - Акустика
При этом тип 03 вероятно всего не визуальный. Внешний вид некоторых типов приведён ниже.
По типу "кривой" и по типу "границы" информация точна, по типу "пласта" информация уточняется.
В правой части изображения указан тип данных - Акустика.
За сегментом GeoDataHeader может находится несколько дополнительных сегментов с пользовательскими данными, однако структура идентична описанному выше.
Продолжение ожидается...