Geodatenbank
# Geodatenbank

Eine Geodatenbank ist eine Datenbank, welche für die Verarbeitung von räumlichen Daten optimiert ist. Sie unterscheidet sich von herkömmlichen Datenbanken durch die Einführung zusätzlicher Datentypen, die sich in der Regel am Standard des Open Geospatial Consortium (OGC) orientieren. Geodatenbanken entstehen oft durch die Erweiterung klassischer Datenbanksysteme mit entsprechender Software. Bekannte Ausführungen sind PostGIS, SpatiaLite und Oracle Spatial and Graph.

## Funktionsweise

Zusätzlichen zu klassischen SQL-Befehlen ermöglichen es Geodatenbanken, durch räumliche Abfragen Beziehungen zwischen Geometrien zu analysieren bzw. neue Geometrien zu erstellen. Das OGC definiert u. a. folgende Arten von Befehlen:
* Messungen: Berechnung von Längen, Flächen, Distanzen etc.
* Funktionen: Modifikation von Objekten durch Bildung von Puffern, konvexen Hüllen etc.
* Prädikate: Prüfung auf Bedingungen wie Überlappungen, maximaler Abstand etc. mit Rückgabe von Boolean-Werten
* Konstruktionen: Erstellung neuer Geometrien, i. d. R. durch Angabe von Randpunkten
Zur Repräsentation von Beziehungen zwischen Objekten wird oft das Dimensionally Extended nine-Intersection Model (DE-9IM) herangezogen, welches neun möglichen topologische Beziehungen zwischen zwei Geometrien definiert.

## Räumliche Indizes

Da sich herkömmliche Indexstrukturen für Geodaten wenig eignen, werden spezielle räumliche Indexstrukturen verwendet, um eine effiziente Auffindung von Geometrien in einer Datenbank zu ermöglichen. Häufig genutzte Implementierungen sind etwa:
* der Quadtree, bzw. der Octree für 3D
* verschiedene Ausführungen des R-Baums
* die Z-Kurve
* das Gridfile