Правительство Санкт-Петербурга
Государственная административно-техническая инспекция
Увеличить   Уменьшить   Изменить контрастность   Сбросить все        для слабовидящих
(812) 417-47-86
ГАТИ - Описание формата .PSP PDF Печать E-mail

 

Формат «цифрового» обозначения территорий – протокол мобильного обмена для ГИС (.PSP)

 

Заголовок:

2 байта – «T2» (для 2D) или «T3» (для 3D)

1 байт [T] – точность (0/1/2 – число знаков после запятой)

1 байт [B] – размер блоков координат (для Т2: «6» – по 6 байтов; «4» – по 4 байта) (для Т3: «6» – по 8 байтов; «4» – по 6 байта (добавляются 2 байта координаты Z))

6 байт – смещение по X и Y (формат смещения см. ниже) (точность смещения всегда = 0 знаков после запятой. Смещение Z всегда 0)

 

Описание территории:

Состоит из блоков координат объектов. Каждый блок завершается байтом #156.

Блок делится на группы:

  • для T2 по 6 байт – это 2 координаты.
    (6 байт = 3 байта – X; 3 байта – Y)
  • для T2 по 4 байт – это 2 координаты.
    (4 байт = 2 байта – X; 2 байта – Y)
  • для T3 по 8 байт – это 3 координаты.
    (8 байт = 3 байта –X; 3 байта – Y; 2 байта – Z).
  • для T3 по 6 байт – это 3 координаты.
    (6 байт = 2 байта –X; 2 байта – Y; 2 байта – Z).

 

Если блок состоит из одной группы, то это точка.

Если групп в блоке более одной, то это полилиния.

Если размер блока меньше 4-х байт, то это префикс.

Если блок завершается терминатором #156 #156, то это полигон.

В группе используются байты с кодами от #33 до #155.

 

Преобразование из Х

j:= int( X * (10 ^ [T]))

X1:= int( j / 15129 ) + 33

j:= ( j mod 15129)

X2:= int( j / 123 ) + 33

X3:= ( j mod 123) + 33

Преобразование из Y и Z

аналогично X

 

Преобразование ХХХ и YYY координаты:

((X1-33)*15129+(X2-33)*123+(X3-33)) / (10^[T])

((Y1-33)*15129+(Y2-33)*123+(Y3-33)) / (10^[T])

Преобразование Z координаты:

((Z-33)*123+(Z-33)) / (10^[T])

 

Структура Префиксов для внедрения объектов

nK  #156  nP  #156

Где:    nK – от 1 до 3-х байт – код типа объекта;

nP – от 0 до N байт – необходимые параметры

 

Преобразование В штрих-код

4 байта Заголовка не изменяется.

Остальная часть побайтно перекодируется:

Байты с кодами от #33 до #125 переносятся без изменений.

Байты с кодами от #126 до #137 переносятся как К-125

Байты с кодами от #138 до #156 переносятся как К-124

Преобразование ИЗ штрих-кода

4 байта Заголовка не изменяется.

Остальная часть побайтно перекодируется:

Байты с кодами от #33 до #125 переносятся без изменений.

Байты с кодами от #1 до #12 переносятся как К+125

Байты с кодами от #14 до #32 переносятся как К+124

 

Предпочтительные параметры кодирования

  Менее 150 метров До 1500 метров До 15000 метров Более 15000 метров
Менее 150 точек Т224 Т214 / T226 Т216 / Т204 Т216
Более 150 точек Т224 Т214 Т204 ----

 

Объекты (2D), включаемые посредством Префиксов
(размеры в скобках даны для блоков по 4 байта, а без скобок – для блоков по 6 байт)


Объект
Префикс Параметры
Размер (байт) Код Размер (байт) Описание
Окружность 1 #33 1, 2 6 (4) X, Y – координаты центра (учитывается смещение)
3 3 Диаметр (с точностью, определенной в заголовке)
Дуга в полилинии 1 #34 1, 2 6 (4) X, Y – координаты начала (учитывается смещение)
3 3 Показатель выпуклости (от -1 до +1) (умножено на 100000 и добавлено 100000)
4, 5 6 (4) X, Y – координаты конца (учитывается смещение)
Арка 1 #35 1, 2 6 (4) X, Y – координаты центра (учитывается смещение)
3 3 Диаметр (с точностью, определенной в заголовке)
4, 5 6 Угол начала и угол конца арки (умножено на 100000)
Текст 1 #36 1, 2 6 (4) X, Y – координаты точки привязки для текста (учитывается смещение)
3 2 Высота шрифта умноженная на 10
4 3 Угол поворота текста (умножено на 100000 и добавлено 100000)
5 N Текст Текст. Используются следующие правила перекодировки: Chr(127) – переключение на латиницу. Chr(94) – переключение на кириллицу. На латинице символы не перекодируются. На кириллице ко всем символам до chr(94) добавляется 159, символ chr(95) меняется на пробел, в других случаях добавляется 157
Начало малого блока 1 #37 1, 2 6 X, Y – Смещение начала блока. Внутри блока используем смещения по 2 байта, и точность 2 знака.
3 N Название блока (этот параметр последний, и потому его размер ограничивается терминатором)
Начало большого блока 1 #44 1, 2 6 X, Y – Смещение начала блока. Внутри блока используем смещения по 3 байта, и точность 2 знака.
3 N Название блока (этот параметр последний, и потому его размер ограничивается терминатором)
Конец блока 1 #38     Операндов нет
Название блока (использ. автоматич) 1 #39   N Название блока (этот параметр единственный, и потому его размер ограничивается терминатором)
ЭТОТ префикс генерируется из #37. К 3-му операнду добавляется  #39 (при интерпретации)
Эллипс 1 #40 1, 2 6 (4) X, Y – координаты центра эллипса
3, 4 6 Размеры большой и малой осей (с точностью в заголовке)
5 3 Угол наклона большой оси (умножено на 100000)
6, 7 6 Угол начала и угол конца эллипса (умножено на 100000)
Цвет линий 1 #41 1 4 RGB – цвет. Устанавливается текущий цвет. Действует до следующей установки, или до конца блока.
Начало составной области (участка области) 1 #42 1 2 Номер участка. Область состоит из отдельных участков. Участок состоит из перечисления элементов. Завершается описание области тегом #43#156#156. Описание участка завершается началом описания следующего участка, или общим терминатором области.
Конец области 1 #43     Операндов нет

 

Формат файлов .psp

Размер поля Содержимое поля
Заголовок PSP
6 Размер Оглавления
До 100 Общее наименование
2 #13 #10
Оглавление (перечень описаний слоёв)
(описание каждого слоя 200 байт)
50 Идентификатор слоя
100 Наименование слоя
1 Точность (0 / 1/ 2)
5 Размер тела слоя
2 Номера частей
1 Флаг наличия частей
1 Флаг использования цвета
38 Резерв
2 #13 #10
Слои
(содержимое слоёв следует друг за другом в соответствии с оглавлением. Каждый слой завершается комбинацией #13#10. Размер каждого слоя указан в оглавлении)

 

 

 

Используя сайт, вы принимаете условия Пользовательского соглашения
Сейчас на сайте
Сейчас 118 гостей онлайн

                  

Яндекс.Метрика