На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Объекты с текстом в метрике

Поиск  Пользователи  Правила  Войти
Форум » Общие вопросы » Конвертация данных
Страницы: 1
RSS
Объекты с текстом в метрике, Непонятная кодировка текста
 
Добрый день.
Я использую ваши карты в бинарном формате SXF, полученными из OSM-карт, в других программных продуктах.
Для этого я конвертирую эти карты.
И вопрос именно про это.

В этих картах есть объекты, где текст подписей помещен в метрику.
В описании бинарного SXF сказано, что текст в метрике ВСЕГДА д.б. в кодировке ANSI.
Я же в реальных картах, например «Иркутской области» вижу, что часть таких подписей действительно представлена в кодировке ANSI (1 байт на символ) – например, номера домов, но в то же время существуют объекты, где подпись в метрике представлена в кодировке UNICODE (2 байта на символ) – например, названия улиц.
В связи с этим вопрос: где в файле SXF находится информация о том, в какой кодировке представлен текст в метрике?
 
В заголовке объекта:
Код
struct TOBJ4 {
  int   id;             // идентификатор начала записи 0x7FFF7FFF
  DWORD size;           // общая длина записи вместе с заголовком
  DWORD mlen;           // длина поля метрики в байтах
  DWORD code;           // код объекта
  union {
    DWORD   uniqNum;    // уникальный номер объекта
    struct {
      WORD  num;        // номер объекта в группе
      WORD  gnum;       // номер группы
  };}; 
  BYTE  loc : 4;        // характер локализации
  BYTE  frm : 4;        // выход на рамку
  BYTE  cls : 1;        // признак замкнутости
  BYTE  sem : 1;        // наличие семантики
  BYTE  msz : 1;        // размер элемента метрики
  BYTE  vec : 1;        // наличие вектора привязки
  BYTE  unc : 1;   // признак текста в UNICODE (если == 1) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  BYTE  rs1 : 3;        // резерв
  BYTE  mfr : 1;        // формат записи метрики
  BYTE  unt : 1;        // размерность представления
  BYTE  typ : 1;        // тип элемента метрики
  BYTE  txt : 1;        // признак метрики с текстом
  BYTE  grf : 1;        // наличие графики (знака)
  BYTE  scl : 1;        // масштабируемость графики
  BYTE  spl : 2;        // признак построения сплайна по метрике 
  BYTE  slo : 4;        // нижняя граница видимости
  BYTE  shi : 4;        // верхняя граница видимости
  DWORD gid;            // число точек метрики для больших объектов, при этом pcnt = 65535!!!
  WORD  cnt;            // число подобъектов
  WORD  pcnt;           // число точек метрики
};
Изменено: Газонокосильщик - 06.02.2015 08:11:12
 
Цитата
Александр Ястребов пишет:
Добрый день.
Я использую ваши карты в бинарном формате SXF, полученными из OSM-карт, в других программных продуктах.
Для этого я конвертирую эти карты.
И вопрос именно про это.
В этих картах есть объекты, где текст подписей помещен в метрику.
В описании бинарного SXF сказано, что текст в метрике ВСЕГДА д.б. в кодировке ANSI.
Я же в реальных картах, например «Иркутской области» вижу, что часть таких подписей действительно представлена в кодировке ANSI (1 байт на символ) – например, номера домов, но в то же время существуют объекты, где подпись в метрике представлена в кодировке UNICODE (2 байта на символ) – например, названия улиц.
В связи с этим вопрос: где в файле SXF находится информация о том, в какой кодировке представлен текст в метрике?
В разделе документации к ГИС "Карта 2011" есть документ "Формат SXF.doc" (ВЕКТОРНЫЙ ФОРМАТ "SXF" СТРУКТУРА ДАННЫХ В ДВОИЧНОМ ВИДЕ) в котором на стр. 18 в разделе "2.1.3.1 Структура заголовка записи" в таблице "2.3" описано "Признак текста в UNICODE - 1 - UNICODE (UTF-16)"
С уважением, Демиденко Р.А.
 
Спасибо.

Однако, хочу отметить, что в той же документации в разделе 2.1.4. написано, что для объектов с текстом в метрике:

"Текст подписи размещается за координатами точек метрики в кодировке ANSI (в
версии 3.0 и ранее - ASCIIZ)."

Это недоработка в документации...
 
Спасибо за сообщение!
Раздел дополнили.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности