ArcGIS und der Oracle Spatial-Raster-Typ
Der Oracle Spatial-Raster-Datentyp SDO_GEORASTER wird mit dem erweiterbaren objektrelationalen Typsystem von Oracle implementiert. Er wurde mit der Version von Oracle 10g eingeführt. Der Typ SDO_GEORASTER speichert Informationen zu einem Raster einschließlich seines Pixeltyps, Raumbezugs-ID und Pixelwerte.
Der Typ SDO_GEORASTER unterstützt alle Esri Pixeltypen: 1 Bit bis 64 Bit, mit Vorzeichen, ohne Vorzeichen und Gleitkomma. ArcGIS unterstützt den Oracle Spatial-Datentyp SDO_ GEORASTER als Option, um Raster-Daten zu speichern.
Anwendungen sind für das ordnungsgemäße Einfügen, Aktualisieren und das Abrufen des Inhalts des Typs SDO_GEORASTER mit der objektrelationalen Structured Query Language (SQL)-Schnittstelle von Oracle zuständig. Anwendungen müssen auch sicherstellen, dass der Inhalt jedes Rasters den in der Oracle-Dokumentation definierten Regeln entspricht.
Beim Erstellen einer Tabelle, die eine Oracle SDO_GEORASTER-Spalte enthält, füllt ArcGIS das erforderliche Oracle-Metadatenschema aus. Es liegt in der Verantwortung von Anwendungen wie z. B. ArcGIS, diese Task auszuführen, da sie nicht automatisch von Oracle ausgeführt wird. Falls Sie eine Tabelle registrieren, die eine Oracle SDO_GEORASTER-Spalte enthält, die von einem Produkt eines Drittanbieters erstellt wurde, muss dieses Produkt das Oracle-Metadatenschema für die Spalte SDO_GEORASTER ordnungsgemäß ausfüllen.
Speichern von Rastern als SDO_GEORASTER
Die Einstellungen für Enterprise-Geodatabase-Speicher werden in der DBTUNE-Tabelle definiert; der Parameter RASTER_STORAGE steuert die Speicherung der Raster-Daten. Um eine Tabelle in einer Enterprise-Geodatabase zu erstellen, die eine SDO_GEORASTER-Spalte enthält und daher Raster als SDO_GEORASTER speichert, müssen Sie ein Konfigurationsschlüsselwort verwenden, das einen RASTER_STORAGE-Parameter enthält, der auf SDO_GEORASTER festgelegt wird, wenn Sie das Raster-Dataset oder den Katalog erstellen.
Wenn Sie eine Geodatabase in Oracle erstmals erstellen, ist die Standardeinstellung für RASTER_STORAGE in der DBTUNE-Tabelle BLOB, und die Standardeinstellung für GEOMETRY_STORAGE ist ST_GEOMETRY. Unten sehen Sie eine Teilliste der Parameter für das Schlüsselwort DEFAULTS:
##DEFAULTS GEOMETRY_STORAGE "ST_GEOMETRY" ATTRIBUTE_BINARY "BLOB" RASTER_STORAGE "BLOB"
Wenn Sie planen, die Mehrheit der Raster-Daten im SDO_GEORASTER-Format zu speichern, müssen Sie den Parameter RASTER_STORAGE des Schlüsselworts DEFAULTS ändern, indem Sie ihn auf SDO_GEORASTER einstellen.
Im folgenden Beispiel wird das Schlüsselwort DEFAULTS geändert, um Vektordaten mit dem SDELOB-Speicher und Raster-Daten mit dem SDO_GEORASTER-Speicher zu erstellen.
##DEFAULTS GEOMETRY_STORAGE "SDELOB" ATTRIBUTE_BINARY "BLOB" RASTER_STORAGE "SDO_GEORASTER"
Nach der Änderung werden standardmäßig Raster-Kataloge, Raster-Datasets und Mosaik-Datasets mit SDO_GEORASTER-Spalten erstellt.
Obwohl es nur ein Standard-Raster-Schema (eine Einstellung für RASTER_STORAGE unter dem Konfigurationsschlüsselwort DEFAULTS) geben kann, können Sie das vorhandene Konfigurationsschlüsselwort SDO_GEOMETRY verwenden, um SDO_GEORASTER für RASTER_STORAGE anzugeben, wenn Sie einen Raster-Katalog oder ein Dataset erstellen. Gehen Sie so vor, wenn Sie nur einen kleinen Teil der Raster-Daten im SDO_GEORASTER-Format speichern möchten.
Bevor das Schlüsselwort SDO_GEORASTER verwendet werden kann, müssen Sie die Tablespace-Informationen für die Parameter RDT_STORAGE und RDT_INDEX_COMPOSITE bearbeiten. Standardmäßig sind die Tablespace-Informationen nicht im Schlüsselwort SDO_GEORASTER enthalten. Sie können die Parameterwerte RDT_STORAGE und RDT_INDEX_COMPOSITE ändern und eine Tablespace-Definition hinzufügen, wie im folgenden Beispiel gezeigt:
RDT_STORAGE "PCTFREE 0 INITRANS 4 TABLESPACE rdt_tblsp" RDT_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4 TABLESPACE rdt_tblsp STORAGE ( INITIAL 409600) NOLOGGING"
Um die Informationen in der DBTUNE-Tabelle für dieses Schlüsselwort zu ändern, verwenden Sie den administrativen Befehl "sdedbtune". Der Befehl "sdedbtune" wird mit dem ArcSDE-Anwendungsserver installiert. Informationen zur Verwendung des Befehls finden Sie in der "ArcSDE Administration Command Reference", die auch mit dem ArcSDE-Anwendungsserver installiert wird.
Alternativ können Sie ein neues Konfigurationsschlüsselwort erstellen, das verwendet wird, um Raster-Datasets als SDO_GEORASTER zu speichern; z. B.:
##GEORASTER RASTER_STORAGE "SDO_GEORASTER" SDO_COMMIT_INTERVAL 1000 UI_TEXT "Use to create raster catalogs and datasets with GEORASTER storage" END
Beachten Sie, dass die vorangehenden Beispiele keinen vollständigen Satz von verknüpften Speicherparametern haben. Das liegt daran, dass alle in einem Schlüsselwort nicht angegebenen Parameter aus dem Schlüsselwort DEFAULTS übernommen werden. Das bedeutet, es müssen keine Parameter eingeschlossen werden, die die gleichen Werte wie die unter dem Schlüsselwort DEFAULTS angegebenen haben. In den Beispielen oben sind Parameter wie BND_STORAGE und AUX_STORAGE nicht eingeschlossen; sie werden aus dem Schlüsselwort DEFAULTS gelesen. Für das neue Konfigurationsschlüsselwortbeispiel (GEORASTER) bedeutet dies, dass der Parameter GEOMETRY_STORAGE auch aus DEFAULTS gelesen wird. Wenn Sie den Parameter GEOMETRY_STORAGE nicht in das benutzerdefinierte Konfigurationsschlüsselwort SDO_GEORASTER einschließen, stellen Sie sicher, dass GEOMETRY_STORAGE in DEFAULTS nicht auf SDO_GEOMETRY oder ST_GEOMETRY eingestellt ist.
Weitere Informationen zu Schlüsselwörtern für die Geometriespeicherung finden Sie unter DBTUNE-Konfigurationsparameter für Oracle. Allgemeine Informationen zur DBTUNE-Tabelle oder zu den Konfigurationsschlüsselwörtern finden Sie unter Was ist die DBTUNE-Tabelle? und Was sind DBTUNE-Konfigurationsschlüsselwörter und -Parameter?.
Hinzufügen einer Tabelle eines Drittanbieters
Sie können den administrativen Befehl "sderaster –o add" in ArcSDE verwenden, um eine Tabelle zu registrieren, die eine SDO_GEORASTER-Spalte enthält, die von einer Anwendung eines Drittanbieters erstellt wurde. Beispiel:
sderaster –o add –l landforms,raster –u gis –p gis
Tabellen, die hinzugefügt werden sollen, müssen folgende Kriterien erfüllen:
- Der Benutzer, von dem die Tabelle hinzugefügt wird, muss der Besitzer sein.
- Die Tabelle muss eine einzelne SDO_GEORASTER-Spalte enthalten.
- Sie muss einen gültigen, mit den gespeicherten "sdo_geor_utl.createDMLTrigger"-Prozeduren erstellten GeoRaster-Datenbearbeitungssprachen (DML)-Trigger haben.
- Sie muss eine gültige SDO_GEORASTER-Datentabelle enthalten.
- Sie darf nicht die Spalten SDO_GEOMETRY oder ST_GEOMETRY enthalten.
Der Befehl "sderaster" wird auch mit dem ArcSDE-Anwendungsserver oder dem eigenständigen Befehlszeilenwerkzeug installiert, das über das Esri Customer Care Portal verfügbar ist.
Bekannte Einschränkungen bei der Verwendung von SDO_GEORASTER mit einer Geodatabase
Nachfolgend finden Sie eine Liste von Einschränkungen, die Sie beachten müssen, wenn Sie Raster-Daten in der Enterprise-Geodatabase als SDO_GEORASTER speichern.
- Oracle unterstützt keine stückweisen Aktualisierungen für SDO_GEORASTER. Daher ist es nicht möglich, Bilddateien zu einem vorhandenen Raster-Dataset zu mosaikieren, das als SDO_GEORASTER gespeichert wird.
- Während des Einfügens von Daten können keine Pyramiden erstellt werden. Ein separater Aktualisierungsschritt ist erforderlich, um die Pyramide zu erstellen, nachdem Bilddaten in einen SDO_GEORASTER eingefügt wurden. Aus diesem Grund sollten Sie immer das Kontrollkästchen zum Erstellen von Pyramiden im Dialogfeld von ArcGIS-Geoverarbeitungswerkzeugen, die Raster-Datasets oder Raster-Kataloge erstellen, deaktivieren.
- Die Bilddaten können derzeit nicht in einem komprimierten Format in SDO_GEORASTER gespeichert werden, wenn Sie Oracle 10g Release 1 (R1) verwenden. Oracle hat die Bildkomprimierung dem Typ SDO_GEORASTER in Oracle 10g Release 2 (R2) hinzugefügt. Wenn Sie Oracle 10g R1 verwenden, sollten Sie den Komprimierungstyp im Dialogfeld von ArcGIS-Geoverarbeitungswerkzeugen immer auf NONE festlegen, wenn Sie damit Raster-Datasets oder Raster-Kataloge erstellen.
- Sie können den SDO_GEORASTER-Speicher aufgrund des Oracle-Fehlers 12537431 in der Oracle 11g R2 Datenbank nicht verwenden. Wenn Sie den SDO_GEORASTER-Speicher nutzen möchten, verwenden Sie Oracle 11g R1.
- Oracle implementiert SDO_GEORASTER als bandintegrierte Architektur. Daher ist es nicht möglich, einzelne Bänder eines Raster-Datasets hinzuzufügen und zu löschen.
- ArcGIS unterstützt nicht mehrere Raster-Spalten in einer Tabelle. Auf Tabellen mit mehreren SDO_GEORASTER-Spalten sollte über Sichten zugegriffen werden, die nur eine SDO_GEORASTER-Spalte enthalten. Erstellen Sie diese Sichten der Tabelle mithilfe des "sdetable-create_view"-Vorgangs. Weitere Informationen zum Befehl "sdetable" finden Sie in der ArcSDE Administration Command Reference.
- Bei der Verwendung von SDO_GEORASTER-Speicherung in einer Geodatabase wird die NoData-Bit-Maskierung nicht unterstützt. Daher ist es nicht möglich, auf nicht quadratischen regulären Daten eine Pyramide zu erstellen.