Formato de datos QR

Importación QR y formato de datos QR

Los códigos QR de ArxSilex MapTools son un formato de intercambio versionado para datos compactos de la app. Esta página explica uso, privacidad y detalles técnicos.

Última actualización: 28 de mayo de 2026

Resumen

Visión general para uso y desarrollo

Esta sección resume qué contienen los códigos QR, cómo pueden generarse técnicamente y por qué la importación se realiza localmente.

Contenido QR

Los QR pueden contener coordenadas, nombres de objetos, notas, partes de proyectos o información de grupo; por eso los QR de grupo son confidenciales.

Compatibilidad técnica

Las herramientas propias pueden generar QR si respetan versión, límites de tamaño, codificación y reglas de validación.

Importación local

El enlace no es una subida. El servidor no procesa el payload; la app lee los datos localmente desde el enlace QR.

Estructura URL

El enlace QR

Los códigos QR usan un app link HTTPS verificado. El bloque de datos va después del signo de fragmento.

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

La parte después de # normalmente no se envía al servidor web. Por eso el mismo enlace sirve como app link y como fallback a esta explicación.

Privacidad

Compartir de forma confidencial

Los QR pueden contener coordenadas, nombres de objetos, notas, partes de proyectos o información de grupo.

Sin transferencia automática

Los datos QR se procesan localmente. Esta web no decodifica ni guarda el payload.

Geodatos

Ubicaciones y objetos de proyecto pueden ser datos personales. Comparte QR solo con destinatarios adecuados.

Grupos

Los QR de grupo contienen la clave del grupo. Quien escanee el código puede unirse o importar datos del grupo.

Especificación técnica

Estado del formato

Actualmente está documentada la versión 1. Versiones más nuevas pueden ser rechazadas por apps antiguas.

ElementoValorNota
Current HTTPS app linkhttps://www.arxsilex.de/app/maptools/qr#d=<payload>Ruta sin barra final; así está registrado el app link de Android.
Documentation URLhttps://www.arxsilex.de/app/maptools/qr/index.htmlEsta documentación web se sirve como index.html en la carpeta QR.
Legacy schemeasmaptools://qr?v=1&d=<payload>Formato de compatibilidad para lectores antiguos o externos.
Payload encodingBase64URL, UTF-8 JSONBase64 seguro para URL sin padding; el contenido es JSON UTF-8.
Schema versionv: 1Versiones menores que 1 no son válidas; versiones nuevas pueden rechazarse.
Payload limit2,200 bytesLímite conservador para generar y decodificar QR de forma fiable.
Incoming URI cap64 KiBLímite máximo para deep links entrantes.
QR renderingZXing QR, error correction M, 512 pxThe app renders 512 px QR bitmaps and may place a small app logo overlay.

Schema

Esquema compacto de objetos

Los QR de objetos usan claves cortas para mantener pequeño el código. Las claves siguen siendo identificadores técnicos.

ClaveSignificadoCampos
vVersión del esquemainteger
mMarcadoresi, n, inf, la, lo, ic, cl
cCírculosi, n, la, lo, r, cl, sc, fc
dDistanciasi, n, la, lo, ea, eo, cl
bRumbos/direccionesi, n, la, lo, bg, ln, iv, bc, cl
aÁreasi, n, pts, cl, sc, fc
rRutasi, n, pts, cl

Groups

Payloads de grupo tipados

Los QR de grupo usan JSON tipado. La clave del grupo es confidencial.

type: group

Contiene nombre, group_id, group_key, origen, color, descripción y mensajes rápidos opcionales.

type: objects

Envuelve datos de objetos en un campo objects.

type: group_with_objects

Combina perfil de grupo y objetos opcionales. La app puede importar grupo, objetos o ambos.

Validation

Validación y límites

La app comprueba los datos QR antes de importar y rechaza geometría inválida o datos demasiado grandes.

Coordenadas

Latitud -90 a 90, longitud -180 a 180. Las coordenadas exportadas se redondean a 5 decimales.

Geometría

Los ID deben ser mayores que 0. Las rutas necesitan al menos 2 puntos distintos y las áreas al menos 3.

Rumbos

Rumbo de 0 a 360 grados, corrección de -180 a 180 grados, longitud e intervalo hasta 1.000 km.

JSON

Ejemplos

Ejemplos antes de codificar en Base64URL. En el enlace QR real, el JSON codificado está en #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
}