WWC-ID – Offene Spezifikation

🌍 WWC-ID – Offene Spezifikation

Erstellt von: Rüdiger Gums
Veröffentlichungsdatum: 08.11.2025
Lizenz: MIT License

1. Einleitung

Der Worldwide Coordinate Identifier (WWC-ID) ist ein offenes, dezentrales Kodiersystem, das nahezu jeden Punkt der Erde eindeutig beschreibt. Jede Position erhält eine 9-stellige alphanumerische Kennung, die vollständig mathematisch definiert, umkehrbar, offline berechenbar und frei lizenziert ist.

Die WWC-ID eignet sich für Navigation, humanitäre Arbeit, Dokumentation, Forschung, Kriseneinsätze und jede Anwendung, die eine dauerhafte und universelle Ortsidentifikation benötigt.

2. Historischer Kontext

Der Begriff World Wide Code (WWC) wurde erstmals 2009 von Rüdiger Gums veröffentlicht im Buch:

„World Wide Code (WWC): Die neue Orientierung“
ISBN-10: 3941756001
ISBN-13: 978-3941756007
Erscheinungsdatum: 17. März 2009

Diese WWC-ID Spezifikation (2025) baut auf dem ursprünglichen WWC-Konzept auf und definiert den modernen, mathematisch reproduzierbaren Koordinaten-Identifikator.

2. Grundlagen

Alphabet Z5nG%Kb:IeR@3LmD*T7V=W1(YfCM?XdF-H9P/6Ot+8hU~4E)a2#N_A!QrSBJ (60 Zeichen)
Basis 60
Codeformat AAAA A AAAA → 9 Zeichen (4-1-4 Gruppe)
Projektion Web Mercator (EPSG:3857)
Projektionsbereich ±85.05112878° Breite (standard für EPSG:3857)
Rasterung 1 Meter
Gültigkeitsbereich nahezu gesamte Erde (außer Polregionen)
Umkehrbarkeit vollständig bidirektional (WWC-ID ↔ lat/lon)

3. Algorithmische Spezifikation

3.1 Vorwärts (Koordinate → WWC-ID)

  1. Breite auf den gültigen EPSG:3857-Bereich begrenzen (±85.05112878°).
  2. Umrechnung von WGS84 nach Web Mercator:
    φ = lat × π/180
    λ = lon × π/180
    x = R × λ
    y = R × ln(tan(π/4 + φ/2))
  3. Umrechnung in positive Indizes:
    xIndex = round(x − WORLD_MIN)
    yIndex = round(y − WORLD_MIN)
  4. Globaler Index:
    index = yIndex × WORLD_WIDTH + xIndex
  5. Base-60-Zerlegung in 9 Zeichen.
  6. Linksauffüllen mit „Z“, falls nötig.
  7. Optionale Ausgabeformatierung: AAAA A AAAA.

3.2 Rückwärts (WWC-ID → Koordinate)

  1. Entfernen aller Nicht-Codezeichen (Leerzeichen, Punkte, Bindestriche).
  2. Base-60-Rekonstruktion des Index.
  3. Rückrechnung:
    xIndex = index % WORLD_WIDTH
    yIndex = floor(index / WORLD_WIDTH)
  4. Umrechnung in Projektion:
    x = xIndex + WORLD_MIN
    y = yIndex + WORLD_MIN
  5. Rückprojektion nach WGS84:
    lon = (x / R) × 180/π
    lat = (2 × atan(exp(y / R)) − π/2) × 180/π

4. Referenzimplementierung (JavaScript)

function encodeWWCID(lat, lon) {
  const R = 6378137.0;
  const MIN = -20037508.3427892;
  const WIDTH = 20037508.3427892 - MIN;
  // EPSG:3857-Grenzen
  const φ = Math.max(Math.min(lat, 85.05112878), -85.05112878) * Math.PI / 180;
  const λ = lon * Math.PI / 180;
  const x = R * λ;
  const y = R * Math.log(Math.tan(Math.PI / 4 + φ / 2));
  const xIdx = Math.round(x - MIN);
  const yIdx = Math.round(y - MIN);
  const index = yIdx * WIDTH + xIdx;
  const A = "Z5nG%Kb:IeR@3LmD*T7V=W1(YfCM?XdF-H9P/6Ot+8hU~4E)a2#N_A!QrSBJ";
  let n = index, b = [];
  while (n > 0) {
    b.unshift(A[n % 60]);
    n = Math.floor(n / 60);
  }
  while (b.length < 9) b.unshift("Z");
  const c = b.join("");
  return c.slice(0,4) + " " + c[4] + " " + c.slice(5);
}

5. Lizenz (MIT License)

Copyright (c) 2025 Rüdiger Gums
Hiermit wird unentgeltlich jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentation erhält, die Erlaubnis erteilt, sie ohne Einschränkung zu verwenden, kopieren, verändern, zusammenzuführen, zu veröffentlichen, zu verbreiten, zu unterlizenzieren und/oder zu verkaufen.

DIE SOFTWARE WIRD OHNE JEGLICHE GARANTIE BEREITGESTELLT.

6. Dauerhafte Reproduzierbarkeit

Die WWC-ID bleibt dauerhaft reproduzierbar, solange Alphabet, Projektion, Weltgrenzen sowie Base-60-Algorithmus unverändert bleiben.
Das System ist vollständig unabhängig von Plattformen, Organisationen oder Servern.

7. Archivierung

Erstveröffentlichung: 08.11.2025
Diese Version archiviert am: 16.11.2025
Archivierte Version im Internet Archive:
Web-Archive-Snapshot