Согласное спецификации на формат RSC. В таблице описания семантики есть поле "Смещение на описание классификатора семантики" и "Количество записей в классификаторе данной семантики". Сами записи значений к лежат по этому смещению: сначала записи постоянного размера далее переменная часть. Пытаюсь прочитать значения переменной длины так: Смещение на переменную часть = Смещение на постоянную часть + Количество записей * 36 (размер таблицы постоянных значений). Однако натыкаюсь на описание классификатора значений следующей семантики. В HEX редакторе и на самом деле идут записи другой семантики. А в редакторе классификатора присутствуют значения переменной длины. Если взять другой классификатор и открыть в HEX, то там все честно, за записями постоянной длины следует переменная часть. Подскажити, пожалуйста, как мне найти переменную часть? так как нужен "уникальный символьный ключ".
Сравнил реализации, доступ к переменной части в исходниках осуществляется таким же образом, который я описал выше. Скомпилировать не получилось, требуется mapacces.h, а в архиве и на сайте в разделе Скачать не нашел.
Пример исходных текстов sdk13 представлены в целях ознакомления.
Хорошо, спасибо. А могут ли мне помочь ваши коллеги? Было бы здорово, если бы получилось открыть эти 2 классификатора и уточнить почему переменная часть не доступна по адресу, который указан?
Владимир Шишов написал: А могут ли мне помочь ваши коллеги? Было бы здорово, если бы получилось открыть эти 2 классификатора и уточнить почему переменная часть не доступна по адресу, который указан?
Попробуйте открыть классификаторы RSC в программе ГИС Панорама, что-то поправить и сохранить для проверки.
Елена Кузнецова написал: Попробуйте открыть классификаторы RSC в программе ГИС Панорама, что-то поправить и сохранить для проверки.
Елена, спасибо. Изменил ключ классификатора семантики и файл загрузился без ошибок. Подскажите, пожалуйста, это зависит от версии? Но в заголовке классификатора в старом и измененном "Версия структуры RSC" = 0x0702. Как тогда можно идентифицировать, что старый файл не поддерживает рассширенные свойства классификатоа для сементик.
Владимир Шишов написал: Изменил ключ классификатора семантики и файл загрузился без ошибок.Подскажите, пожалуйста, это зависит от версии? Но в заголовке классификатора в старом и измененном "Версия структуры RSC" = 0x0702. Как тогда можно идентифицировать, что старый файл не поддерживает рассширенные свойства классификатоа для сементик.
Версия RSC одна и та же. В некоторых RSC названия могут быть только в кодировке ANSI (1251), в других есть и UTF-16. Код доступа показан в sdk13.zip.
Елена Кузнецова написал: Версия RSC одна и та же. В некоторых RSC названия могут быть только в кодировке ANSI (1251), в других есть и UTF-16. Код доступа показан в sdk13.zip .
Елена, не совсем понял какое отношение имеет кодировка? Ведь в ошибочном файле нет блока данных переменной длины классификаторв семантики, а в исправленом этот блок присутствует. И возникает вопрос как идентифицировать файл на несоответствие формату классификатора RSC, описаном в спецификации ПАРБ.00046-06 99 05 от 2019г.