Veröffentlicht 30. Juni 2015
Aktualisiert Oktober 2025
Arbeiten mit Oracle Spatial
Oracle Spatial bietet leistungsstarke Funktionen zum Arbeiten mit geometrischen Daten wie Punkten oder Polygonen.
Die Funktionalität ist im Schema MDSYS implementiert.
Wenn Sie eine Oracle-Datenbank mit einer lizenzierten Spatial-Option verwenden, hilft Ihnen KeepTool, deren Fähigkeiten zu nutzen.
Starten Sie Hora und verbinden Sie sich mit dem Beispielschema OE.
Die Spalte CUSTOMERS.CUST_GEO_LOCATION hat den Datentyp MDSYS.SDO_GEOMETRY und enthält geometrische Daten.
Solange Sie eine SQL*Net-Verbindung (nicht eine direkte TCP/IP-Verbindung) verwenden – letztere unterstützt keine Objekttypen – können Sie die Daten dieser Spalte im Register Data Content anzeigen:

Data Content Ansicht der Tabelle CUSTOMERS mit geöffnetem Kontextmenü für Spatial Columns
Die Zellen des Oracle-Spatial-Datenrasters sind schreibgeschützt und zeigen eine kompakte Darstellung der räumlichen Daten innerhalb der Objekttyp-Struktur.
Durch Rechtsklick auf die Auslassungspunkte in der Spalte öffnet sich ein Kontextmenü.
Wählen Sie Show Geometry aus, um ein Dialogfenster zu öffnen, das die Struktur der räumlichen Daten im Detail anzeigt:

Anzeige der Eigenschaften für eine Spatial Column
Wie Sie sehen, handelt es sich um einen zweidimensionalen Punkt im WGS84-Koordinatensystem.
Das Feld SQL am unteren Rand zeigt die Daten als SQL-Ausdruck, den Sie in den SQL-Editor kopieren und dort als Teil einer SELECT-Anweisung ausführen können:

SQL-Abfrage auf Spatial Data und SQL-Ergebnismenge mit geöffnetem Kontextmenü für Spatial Data
Sie können auch auf die Zelle rechtsklicken, um eine KML-Datei zu erzeugen.
Ein Dialog zum Speichern der Datei wird angezeigt.
Nachdem Sie einen Namen angegeben haben, können Sie die Datei mit der Standardanwendung Ihres Systems öffnen, zum Beispiel mit Google Earth:

Die exportierte KML-Datei wurde in Google Earth geöffnet
Die gelbe Stecknadel markiert die Position auf der Luftaufnahme von Baltimore, Maryland.
Wenn Sie Punkte für alle Zeilen einschließen möchten, verwenden Sie das Kontextmenü des Rasters anstelle der Zelle.
Beispiel: Import einer Beispiel-Spatial-Datenbank
Von Oracle können Sie eine Beispiel-NAVTEQ-Datenbank herunterladen.
Nachdem Sie der Lizenzvereinbarung zugestimmt haben, können Sie eine ZIP-Datei herunterladen, die ein Readme, zwei Skripte zum Importieren und Löschen sowie eine DMP-Datei (etwa 2 GB) im Oracle-10-Exportformat enthält.
Führen Sie folgende Schritte aus:
-
Erstellen Sie einen Benutzer WORLD_SAMPLE und gewähren Sie unbegrenztes Kontingent im Tablespace USERS.
-
Stellen Sie sicher, dass sich die Datendatei des Tablespace USERS bis auf 5 GB automatisch erweitern kann.
-
Importieren Sie die Dump-Datei über die Eingabeaufforderung:
KeepTool hat diesen Import mit Oracle 11g R2 und einer Oracle 12c Pluggable Database getestet.
-
Führen Sie anschließend im Schema WORLD_SAMPLE folgende SQL-Befehle aus:
-

Import der Beispieldatenbank für Oracle Spatial (WORLD_SAMPLE2010)
Öffnen Sie danach die Tabelle MAP_WORLD in der Data Content-Ansicht.
Sie sehen Punkt- und Polygon-Geometrien, die verschiedene geografische Gebiete darstellen:

Detailanzeige für Oracle Spatial Data in Horas Data Content
Sie können die Daten beispielsweise mit
continent = 'Europe'
filtern (um Bermuda auszuschließen) und dann im Kontextmenü des Rasters den Eintrag KML export wählen:

Hora kann Spatial Data in eine KML-Datei exportieren
Nach dem Speichern können Sie die Datei in Google Earth öffnen.
Wenn Sie auf eine markierte Fläche klicken, zeigt ein Popup Informationen aus anderen Spalten des Datensatzes an – zum Beispiel beim Klicken auf den Umriss von Deutschland:

Darstellung der KML-Datei in Google Earth
Arbeiten mit Spatial-Spalten
Wenn Sie eine neue Spatial-Spalte hinzufügen, müssen Sie drei Schritte ausführen:
-
Erstellen Sie eine Tabellenspalte mit dem Datentyp MDSYS.SDO_GEOMETRY.
-
Fügen Sie einen Datensatz in USER_SDO_GEOM_METADATA ein, der das Koordinatensystem und den Begrenzungsrahmen beschreibt.
-
Erstellen Sie einen Spatial Index.
Die Seite Schema | Spatial Columns in Hora zeigt alle Spatial-Spalten eines Schemas einschließlich Metadaten und Indexinformationen an:

Anzeige des Koordinatensystems und der Spatial Indexe für Spatial Columns in Hora
Das Raster ermöglicht den Vergleich von Koordinatensystemen und Dimensionen sowie die Kontrolle des Indexstatus.
Das Kontextmenü bietet zusätzlich folgende Aktionen:
-
Copy script template – erstellt ein SQL-Skript, mit dem Sie eine vorhandene Konfiguration auf eine andere Spalte übertragen können.
Das Skript enthält Anweisungen zum Löschen und Neuerstellen des Index, zum Löschen und Wiedereinfügen der Metadaten, zum Ändern des Koordinatensystems usw.
-
KML export – exportiert Geometriedaten in eine KML-Datei (nützlich, wenn der Begrenzungsrahmen nicht die gesamte Erde abdeckt, wie im Beispiel WORLD_SAMPLE).
-
Create new spatial index.
-
Rebuild existing spatial index.
Das ist umfassende Unterstützung für das Arbeiten mit Oracle Spatial.
Fazit
Mit KeepTool wird das Arbeiten mit Oracle Spatial-Daten erheblich vereinfacht.
Vom Anzeigen geometrischer Objekte und dem Erzeugen von KML-Dateien bis hin zur Pflege von Spatial-Metadaten und Indizes –
KeepTool bietet eine integrierte, benutzerfreundliche Oberfläche für alle Aufgaben im Zusammenhang mit räumlichen Daten.
➡️ KeepTool kostenlos testen
Die Oracle-Tools von KeepTool wurden speziell für Entwickler, DBAs und Support-Teams entwickelt.
Basierend auf über 25 Jahren Erfahrung optimieren wir unsere Software kontinuierlich, um Ihre Datenbankanalyse und -dokumentation schneller, effizienter und übersichtlicher zu gestalten.