# Navigation Data Standard

Navigation Data Standard (NDS; deutsch Navigationsdatennorm) ist ein standardisiertes Format für Kartendatenbanken in Navigationssystemen, das auf Grundlage von Qualitätsanforderungen aus der Automobilindustrie gemeinsam von Automobilherstellern und Zulieferern entwickelt wird. Aktuell ist die Version 2.5.4 vom 12. Dezember 2018. Verantwortlich für die Entwicklung ist der eingetragene Verein Navigation Data Standard (NDS) e. V. Mitglieder des Vereins sind Automobilhersteller, Anbieter von Geodaten und Hersteller von Navigationssystemen.
Das Ziel der NDS-Entwicklung ist ein standardisiertes binäres Datenbankformat, das den Austausch von Kartendaten zwischen verschiedenen Navigationssystemen ermöglicht. In der NDS sind Kartendaten und Navigationssoftware getrennt, sodass auf Grundlage von NDS verschiedene Navigationsprodukte für Endanwender entwickelt werden können. Zusätzlich zu dieser Interoperabilität unterstützt NDS inkrementelle Aktualisierungen, digitale Rechteverwaltung und bietet eine hohe Kompaktheit.
Seit 2012 gibt es NDS-basierte Navigationsprodukte auf dem Markt, die in über 30 Automarken Verwendung finden, unter anderem bei BMW, Daimler und Volkswagen.

## Ziele

Das Ziel von NDS ist es, einen weltweit führenden Industriestandard zu entwickeln, der den Qualitätsanforderungen der Automobilindustrie gerecht wird. Das Format soll:
* In der Navigationsbranche vielfältige Anwendung finden und von führenden Herstellern von Navigationssystemen verwendet werden
* Interoperabel für verschiedene Systeme einsetzbar sein
* Kartenaktualisierungen unterstützen
* Weltweit einsetzbar sein
* Die spezifischen Anforderungen verschiedener Länder erfüllen
Die Qualitätsanforderungen der Automobilindustrie beinhalten, dass:
* NDS gemeinsam von führenden Automobilherstellern und -zulieferern entwickelt wird.
* NDS alle Anwendungsfälle der Automobilindustrie für Kartendaten unterstützt.
* NDS fortgeschrittene Navigationstechnologien wie eHorizon, autonomes Fahren und Cloud-Anwendungen unterstützt.
* die weiträumige Anwendung und die Implementierung in verschiedenen Systemen dafür sorgen, dass der Standard kontinuierlich geprüft und weiterentwickelt wird.
Um dieses Ziel zu verwirklichen, hat sich NDS folgende Ziele gesetzt:
* Schnelle Integration von Erweiterungen und Änderungen des Standards gewährleisten
* Einfache Anwendbarkeit und effiziente Implementierung des Standards sicherstellen, um den weltweiten Einsatz in automobilen Anwendungen zu fördern
* Rechtliche Absicherung des Einsatzes von NDS sicherstellen
* Zertifizierung von Navigationsdatenbanken für NDS-Konformität anbieten
Um die Akzeptanz des Standards zu fördern, unterstützt NDS Entwicklungsprojekte, die NDS einsetzen, u. a. durch Tools und technisches Consulting. Zudem wird der Standard technisch ständig weiterentwickelt, und es werden neue Mitglieder für das Standardisierungskonsortium geworben.

## NDS-Architektur

NDS verwendet das Datenbankformat SQLite. Eine NDS-Datenbank kann aus mehreren Produktdatenbanken bestehen, die wiederum in einzelne Aktualisierungsregionen unterteilt sein können. Dieser Aufbau ermöglicht flexible, aber konsistente Aktualisierungen sowie die Integration von Datenbanken verschiedener Hersteller in eine gemeinsame NDS-Datenbank.
Innerhalb einer Produktdatenbank gibt es funktionale Module (Building Block), Ebenen (Layer) und die Geodaten selbst. Kartendaten sind in aneinander anliegenden Kacheln organisiert. Dabei entscheidet eine Vergrößerungsstufe, der Level, über die Kantenlänge einer Kachel. In Level 0 umfasst eine Kachel die halbe Erde (Ost oder West von Greenwich). Von einem Level zum nächsthöheren wird praktisch die geographische Kantenlänge der Kachel halbiert, die dargestellte Fläche also geviertelt. Genauer gesagt werden Längen- und Breitenwinkel der Kachel von einem Level zum nächsten halbiert. Beispielsweise deckt in Level 13 eine Kachel ca. 2,4 × 2,4 km ab. Als geodätisches Referenzsystem wird WGS 84 verwendet.

### Produktdatenbank

Eine NDS-Produktdatenbank wird von einem bestimmten Hersteller geliefert und hat ihre eigene Versionskontrolle. Dadurch kann sie unabhängig von anderen Produktdatenbanken aktualisiert werden. Innerhalb einer Produktdatenbank gibt es ein oder mehrere funktionale Module, z. B. Daten für die Routenberechnung oder Kartendarstellung. Eine Produktdatenbank deckt ein bestimmtes geographisches Gebiet ab, das in einzelne Aktualisierungsregionen unterteilt sein kann. Beispiel für eine Produktdatenbank: "Europa Basisnavigation" von TomTom.

### Aktualisierungsregion

Eine Aktualisierungsregion repräsentiert ein geographisches Gebiet innerhalb einer Produktdatenbank, dessen Geodaten unabhängig von anderen Regionen aktualisiert werden können. Das Konzept der Aktualisierungsregionen ermöglicht also inkrementelle und partielle Aktualisierungen von definierten geographischen Gebieten innerhalb einer NDS-Datenbank. Beispiel: Innerhalb des Produkts "Europa Basisnavigation" ist jedes europäische Land durch eine eigene Aktualisierungsregion modelliert.

### Funktionale Module

Alle Geodaten innerhalb einer NDS-Datenbank gehören zu einem bestimmten funktionalen Modul. Jedes Modul deckt bestimmte Funktionen ab, z. B. Namen für die Zieleingabe, Routenberechnung, Kartendarstellung usw. Damit bestimmte Aufgaben eines Navigationssystems erfüllt werden können, muss die Navigationssoftware Daten aus verschiedenen Modulen zusammenfassen und auswerten. So müssen z. B. für die Berechnung und Darstellung einer Route Daten aus den Modulen für Routenberechnung und Kartendarstellung zusammengefasst werden.
Eine Aktualisierungsregion kann mehrere funktionale Module enthalten. Deshalb kann es in einer Produktdatenbank mit mehreren Aktualisierungsregionen mehrere Instanzen desselben Moduls geben. Beispiel: In einer Europa-Datenbank gibt es ein Modul vom Typ "Basic Map Display" (Kartendarstellung) für die Aktualisierungsregion Frankreich und ein Modul vom Typ "Basic Map Display" für die Aktualisierungsregion Deutschland.

## Tools und Dokumentation

Die NDS-Datenbankstrukturen sowie die Regelungen bezüglich Interoperabilität und Aktualisierungen sind in der NDS-Dokumentation beschrieben. Außerdem stellt das NDS-Konsortium seinen Mitgliedern verschiedene Tools für die Entwicklung, Validierung und Zertifizierung von Kartendatenbanken zur Verfügung:
* NDS-SQLite-Referenzimplementierung
* Relational DataScript (RDS-Tool): Code-Generator für Datenbankzugriffsklassen in Java und C++
* Certification Bench: Validierung von NDS-Datenbanken auf NDS-Konformität auf Grundlage ausführlicher Testfälle; Ausstellen von NDS-Zertifikaten
* Investigation Modules: Tool zum Testen von NDS-Datenbanken auf Hardware
* Database Inspector: Desktop-Tool zur Visualisierung von NDS-Datenbanken

## Mitglieder und Gremien

Die Mitglieder des NDS e. V. sind Unternehmen oder Verbände.
Die NDS-Mitglieder ernennen jeweils Vertreter, die das Mitglied in den verschiedenen NDS-Gremien repräsentieren. NDS hat folgende Gremien:
* Vorstand (Board): Gesetzlicher Vertreter des NDS e.V.
* Vollversammlung (General Assembly = GA): Forum aller NDS-Mitglieder. Die Vollversammlung überwacht die Arbeit der NDS-Gremien, genehmigt Budgets und legt die jährlichen Mitgliedsbeiträge fest
* Steuerkreis (Steering Committee = SC): verantwortlich für das Management der Arbeiten in den NDS-Gremien
* Technisches Komitee (Technical Committee = TC): verantwortlich für die Entscheidung technischer Fragen
* NDS-Arbeitsgruppen (Working Groups = WG): bearbeiten einzelne technische Themen, wie z. B. die Weiterentwicklung des Datenbankformats, autonomes Fahren und Hybrid-Navigation
* Zertifizierungsausschuss (Validation and Certification Board): koordiniert die Entwicklung von Validierungstools und organisiert die Ausstellung von NDS-Zertifikaten