Formato de dados QR

Importação QR e formato de dados QR

Os códigos QR no ArxSilex MapTools são um formato de troca versionado para dados compactos da aplicação.

Atualizado: 28 de maio de 2026

Resumo

Visão geral para utilização e desenvolvimento

Esta secção resume o que os códigos QR contêm, como podem ser gerados tecnicamente e porque a importação ocorre localmente.

Conteúdo QR

Os QR podem conter coordenadas, nomes de objetos, notas, partes de projeto ou informação de grupo; QR de grupo são por isso confidenciais.

Compatibilidade técnica

Ferramentas próprias podem gerar QR se respeitarem versão, limites de tamanho, codificação e regras de validação.

Importação local

A ligação não é um upload. O servidor não processa o payload; a app lê os dados localmente a partir da ligação QR.

Estrutura da URL

A ligação QR

Os códigos QR usam uma ligação de aplicação HTTPS verificada. O bloco de dados fica depois do sinal de fragmento.

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

A parte depois de # normalmente não é enviada ao servidor web. A mesma ligação funciona como app link e como fallback para esta explicação.

Privacidade

Partilhar com confidencialidade

Códigos QR podem conter coordenadas, nomes de objetos, notas, partes de projeto ou informação de grupo.

Sem transferência automática

Os dados QR são processados localmente. Este site não descodifica nem guarda o payload.

Geodados

Localizações e objetos de projeto podem ser dados pessoais. Partilhe QR apenas com destinatários adequados.

Grupos

QR de grupo contêm a chave do grupo. Quem digitaliza o código pode entrar no grupo ou importar dados do grupo.

Especificação técnica

Especificação técnica

Atualmente está documentada a versão 1. Versões mais recentes podem ser recusadas por versões antigas da app.

ItemValorNota
App link HTTPS atualhttps://www.arxsilex.de/app/maptools/qr#d=<payload>Caminho sem barra final; é assim que o app link Android está registado.
URL de documentaçãohttps://www.arxsilex.de/app/maptools/qr/index.htmlEsta documentação web é servida como index.html na pasta QR.
Esquema legadoasmaptools://qr?v=1&d=<payload>Formato de compatibilidade para leitores antigos ou externos.
Codificação do payloadBase64URL, UTF-8 JSONBase64 seguro para URL sem padding; conteúdo em JSON UTF-8.
Versão do esquemav: 1Versões abaixo de 1 são inválidas; versões novas podem ser recusadas.
Limite do payload2,200 bytesLimite conservador para geração e descodificação QR fiáveis.
Limite de URI recebido64 KiBLimite superior rígido para deep links recebidos.
Renderização QRZXing QR, error correction M, 512 pxA app renderiza bitmaps QR de 512 px e pode adicionar um pequeno logótipo.

Schema

Importação QR e formato de dados QR

QR de objetos usam chaves curtas para manter o código pequeno. As chaves permanecem identificadores técnicos.

ChaveSignificadoCampos
vVersão do esquemainteger
mMarcadoresi, n, inf, la, lo, ic, cl
cCírculosi, n, la, lo, r, cl, sc, fc
dDistânciasi, n, la, lo, ea, eo, cl
bRumos/direçõesi, n, la, lo, bg, ln, iv, bc, cl
aÁreasi, n, pts, cl, sc, fc
rRotasi, n, pts, cl

Grupos

Payloads de grupo tipados

QR de grupo usam payloads JSON tipados. A chave do grupo é confidencial.

type: group

Contém nome, group_id, group_key, origem, cor, descrição e mensagens rápidas opcionais.

type: objects

Agrupa dados de objetos num campo objects.

type: group_with_objects

Combina perfil de grupo e objetos opcionais. A app pode importar grupo, objetos ou ambos.

Validação

Validação e limites

A app verifica os dados QR antes da importação e recusa geometria inválida ou dados demasiado grandes.

Coordenadas

Latitude -90 a 90, longitude -180 a 180. Coordenadas exportadas são arredondadas a 5 casas decimais.

Geometria

IDs devem ser maiores que 0. Rotas precisam de pelo menos 2 pontos distintos e áreas de pelo menos 3.

Rumos

Rumo 0 a 360 graus, correção -180 a 180 graus, comprimento e intervalo até 1 000 km.

JSON

Exemplos

Exemplos antes da codificação Base64URL. Na ligação QR real, o JSON codificado fica em #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
}