Формат данных QR

QR-импорт и формат данных QR

QR-коды в ArxSilex MapTools являются версионированным форматом обмена компактными данными приложения.

Обновлено: 28 мая 2026

Кратко

Обзор для использования и разработки

Этот раздел кратко описывает, что содержат QR-коды, как их можно технически создавать и почему импорт выполняется локально.

Содержимое QR

QR-коды могут содержать координаты, имена объектов, заметки, части проекта или сведения о группе; поэтому групповые QR конфиденциальны.

Техническая совместимость

Собственные инструменты могут создавать QR-коды при соблюдении версии, лимитов размера, кодирования и правил валидации.

Локальный импорт

Ссылка не является загрузкой. Сервер не обрабатывает payload; приложение локально читает данные из QR-ссылки.

Структура URL

QR-ссылка

QR-коды используют проверенную HTTPS app link. Блок данных находится после знака фрагмента.

https://www.arxsilex.de/app/maptools/qr#d=<base64url-json>

Часть после # обычно не отправляется веб-серверу. Поэтому одна ссылка работает как app link и как переход к этому объяснению.

Конфиденциальность

Делиться конфиденциально

QR-коды могут содержать координаты, имена объектов, заметки, части проекта или сведения о группе.

Нет автоматической передачи

QR-данные обрабатываются локально. Этот сайт не декодирует и не сохраняет payload.

Геоданные

Местоположения и объекты проекта могут быть персональными данными. Делитесь QR-кодами только с подходящими получателями.

Группы

Групповые QR-коды содержат ключ группы. Тот, кто сканирует код, может присоединиться к группе или импортировать ее данные.

Техническая спецификация

Техническая спецификация

Сейчас документирована версия 1. Более новые версии могут отклоняться старыми версиями приложения.

ПунктЗначениеПримечание
Текущая HTTPS app linkhttps://www.arxsilex.de/app/maptools/qr#d=<payload>Путь без конечного слеша; так зарегистрирована Android app link.
URL документацииhttps://www.arxsilex.de/app/maptools/qr/index.htmlЭта веб-документация доступна как index.html в папке QR.
Устаревшая schemeasmaptools://qr?v=1&d=<payload>Формат совместимости для старых или внешних сканеров.
Кодирование payloadBase64URL, UTF-8 JSONURL-safe Base64 без padding; содержимое UTF-8 JSON.
Версия схемыv: 1Версии ниже 1 недействительны; новые версии могут быть отклонены.
Лимит payload2,200 bytesКонсервативный лимит для надежного создания и декодирования QR.
Лимит входящего URI64 KiBЖесткая верхняя граница для входящих deep link.
Отрисовка QRZXing QR, error correction M, 512 pxПриложение создает QR-битмапы 512 px и может добавить небольшой логотип.

Schema

QR-импорт и формат данных QR

QR-коды объектов используют короткие ключи, чтобы код оставался небольшим. Ключи являются техническими идентификаторами.

КлючЗначениеПоля
vВерсия схемыinteger
mМаркерыi, n, inf, la, lo, ic, cl
cОкружностиi, n, la, lo, r, cl, sc, fc
dРасстоянияi, n, la, lo, ea, eo, cl
bПеленги/направленияi, n, la, lo, bg, ln, iv, bc, cl
aОбластиi, n, pts, cl, sc, fc
rМаршрутыi, n, pts, cl

Группы

Типизированные групповые payload

Групповые QR-коды используют типизированные JSON payload. Ключ группы конфиденциален.

type: group

Содержит name, group_id, group_key, исходную точку, цвет, описание и необязательные быстрые сообщения.

type: objects

Упаковывает данные объектов в поле objects.

type: group_with_objects

Объединяет профиль группы и необязательные объекты. Приложение может импортировать группу, объекты или оба набора.

Валидация

Валидация и лимиты

Приложение проверяет QR-данные перед импортом и отклоняет неверную геометрию или слишком большие данные.

Координаты

Широта -90 до 90, долгота -180 до 180. Экспортированные координаты округляются до 5 знаков.

Геометрия

ID должны быть больше 0. Маршрутам нужны минимум 2, областям минимум 3 разные точки.

Пеленги

Пеленг 0-360 градусов, коррекция -180 до 180 градусов, длина и интервал до 1 000 км.

JSON

Примеры

Примеры до кодирования Base64URL. В реальной QR-ссылке закодированный JSON находится в #d=...

{
 "v": 1,
 "m": [
 {"i":1,"n":"Start","la":48.13715,"lo":11.57612,"ic":"PIN"}
 ]
}
{
 "v": 1,
 "type": "group",
 "name": "Team Alpha",
 "group_id": 123456,
 "group_key": "shared-secret",
 "originLat": 48.13715,
 "originLon": 11.57612
}