QR-Inhalte
QR-Codes können Koordinaten, Objektnamen, Notizen, Projektteile oder Gruppeninformationen enthalten; Gruppen-QRs sind deshalb vertraulich.
QR-Datenformat
QR-Codes in ArxSilex MapTools sind ein versioniertes Austauschformat für kompakte App-Daten. Diese Seite erklärt Nutzung, Datenschutz und technische Details.
Stand: 28. Mai 2026
Zusammenfassung
Dieser Abschnitt fasst zusammen, was QR-Codes enthalten, wie sie technisch erzeugt werden können und warum der Import lokal erfolgt.
QR-Codes können Koordinaten, Objektnamen, Notizen, Projektteile oder Gruppeninformationen enthalten; Gruppen-QRs sind deshalb vertraulich.
Eigene Tools können QR-Codes erzeugen, wenn Versionierung, Größenlimits, Kodierung und Validierungsregeln eingehalten werden.
Der Link ist kein Upload. Der Server verarbeitet den Payload nicht; die App liest die Daten lokal aus dem QR-Link.
URL-Aufbau
QR-Codes verwenden einen verifizierten HTTPS-App-Link. Der Datenblock steht hinter dem Fragmentzeichen.
https://www.arxsilex.de/app/maptools/qr#d=<base64url-json>
Der Teil nach # wird normalerweise nicht an den Webserver gesendet. Deshalb dient derselbe Link als App-Link und als Fallback auf diese Erklärung.
Datenschutz
QR-Codes können Koordinaten, Objektnamen, Notizen, Projektteile oder Gruppeninformationen enthalten.
Die QR-Daten werden lokal verarbeitet. Diese Webseite decodiert und speichert den Payload nicht.
Standorte und Projektobjekte können personenbezogen sein. Teile QR-Codes nur mit passenden Empfängern.
Gruppen-QRs enthalten den Gruppenschlüssel. Wer den Code scannt, kann der Gruppe beitreten oder Gruppendaten importieren.
Technische Spezifikation
Aktuell ist Version 1 dokumentiert. Neuere Versionen können von älteren App-Versionen abgelehnt werden.
| Eintrag | Wert | Hinweis |
|---|---|---|
| Current HTTPS app link | https://www.arxsilex.de/app/maptools/qr#d=<payload> | Pfad ohne Slash am Ende; so ist der Android-App-Link registriert. |
| Documentation URL | https://www.arxsilex.de/app/maptools/qr/index.html | Diese Web-Dokumentation liegt als index.html im QR-Ordner. |
| Legacy scheme | asmaptools://qr?v=1&d=<payload> | Kompatibilitätsformat für ältere oder externe Scanner. |
| Payload encoding | Base64URL, UTF-8 JSON | URL-sicheres Base64 ohne Padding; Inhalt ist UTF-8-JSON. |
| Schema version | v: 1 | Versionen kleiner 1 sind ungültig, neuere Versionen können abgelehnt werden. |
| Payload limit | 2,200 bytes | Konservative Grenze für zuverlässige QR-Erzeugung und Dekodierung. |
| Incoming URI cap | 64 KiB | Harte Obergrenze für eingehende Deep Links. |
| QR rendering | ZXing QR, error correction M, 512 px | The app renders 512 px QR bitmaps and may place a small app logo overlay. |
Schema
Objekt-QRs verwenden kurze Schlüssel, damit der QR-Code klein bleibt. Die Schlüssel selbst bleiben technische Begriffe.
| Schlüssel | Bedeutung | Felder |
|---|---|---|
| v | Schema-Version | integer |
| m | Marker | i, n, inf, la, lo, ic, cl |
| c | Kreise | i, n, la, lo, r, cl, sc, fc |
| d | Distanzen | i, n, la, lo, ea, eo, cl |
| b | Peilungen/Richtungen | i, n, la, lo, bg, ln, iv, bc, cl |
| a | Flächen | i, n, pts, cl, sc, fc |
| r | Routen | i, n, pts, cl |
Groups
Gruppen-QRs verwenden typisierte JSON-Payloads. Der Gruppenschlüssel ist vertraulich.
Enthält Name, group_id, group_key, Ursprung, Farbe, Beschreibung und optionale Kurzmeldungen.
Verpackt Objekt-Daten in einem objects-Feld.
Kombiniert Gruppenprofil und optionale Objekte. Die App kann Gruppe, Objekte oder beides importieren.
Validation
Die App prüft QR-Daten vor dem Import und lehnt ungültige Geometrie oder zu große Daten ab.
Breite -90 bis 90, Länge -180 bis 180. Exportierte Koordinaten werden auf 5 Dezimalstellen gerundet.
IDs müssen größer 0 sein. Routen brauchen mindestens 2, Flächen mindestens 3 unterschiedliche Punkte.
Peilung 0 bis 360 Grad, Korrektur -180 bis 180 Grad, Länge und Intervall höchstens 1.000 km.
JSON
Beispiele vor der Base64URL-Kodierung. Im echten QR-Link steht das kodierte JSON in #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
}