Mit der Standard- oder Advanced-Lizenz verfügbar.
ST_Raster ist ein Datentyp, der die direkte Speicherung von Raster-Daten in einer Geodatabase-Tabelle ermöglicht. Sie können den ST_Raster-Typ verwenden, wenn Sie mit SQL auf Ihre Geodatabase-Raster-Daten zugreifen müssen.
Verwenden Sie das Geoverarbeitungswerkzeug Raster-Typ erstellen oder ein Python-Skript, das das Werkzeug aufruft, um den ST_Raster-Typ in einer Geodatabase zu installieren.
Nachdem der Typ installiert wurde, müssen Sie die Geodatabase-Konfigurationseinstellungen ändern, damit neue in der Geodatabase erstellte Raster den ST_Raster-Datentyp verwenden.
Aktualisieren der extproc-Datei
Der externe Verfahrensagent "extproc" von Oracle muss auf die ST_Raster-Bibliothek (libst_raster_ora) zugreifen.
Wenn ArcMap oder ArcGIS Server auf dem Oracle-Server installiert ist, können Sie die extproc.ora-Datei aktualisieren, sodass sie auf libst_raster_ora in <ArcGIS client installation directory>\DatabaseSupport\Oracle\<Operating System> verweist. Stellen Sie die Datei unbedingt auf die richtige Bibliothek für das Betriebssystem des Oracle-Servers ein. Sobald exptroc.ora aktualisiert ist, fahren Sie mit der Installation von "ST_Raster" fort.
Wenn auf dem Oracle-Server kein ArcGIS-Client installiert ist, müssen Sie zunächst die Bibliothek libst_raster_ora auf den Oracle-Server kopieren, die Datei extproc.ora aktualisieren und die Bibliothek erstellen.
Führen Sie die folgenden Schritte aus, wenn ArcMap oder ArcGIS Server nicht auf dem Oracle-Server installiert ist:
- Erstellen Sie ein Verzeichnis auf dem Oracle-Server, auf das Ihre Oracle-Instanz zugreifen kann.
- Laden Sie Bibliotheken von My Esri herunter, oder kopieren Sie die Bibliothek "libst_raster_ora library" von <ArcMap or ArcGIS Server installation directory>\DatabaseSupport\Oracle\<Operating System>.
- Platzieren Sie die für das Betriebssystem des Oracle-Servers geeignete Bibliothek libst_raster_ora in das soeben erstellte Verzeichnis.
- Aktualisieren Sie die Datei extproc.ora, um den Pfad zur libst_raster_ora-Bibliothek einzubeziehen.
- Stellen Sie mithilfe von SQL als Benutzer "sde" eine Verbindung zur Oracle-Datenbank her und erstellen Sie die Oracle-Bibliothek libst_raster_ora.
CREATE LIBRARY LIBST_RASTER AS '<absolute path to libst_raster_ora library>' /
Nachdem nun der Oracle-Server konfiguriert ist, können Sie ST_Raster installieren.
Installieren von ST_Raster
Sie können das Werkzeug Raster-Typ erstellen von ArcGIS Desktop (Standard oder Advanced) oder ein Python-Skript von einem ArcGIS Server- oder ArcGIS Desktop (Standard oder Advanced)-Client ausführen, um den ST_Raster-Typ zu installieren.
Ausführen des Werkzeugs Raster-Typ erstellen
Wenn Sie Zugriff auf ArcGIS Desktop (Standard oder Advanced) haben, können Sie das Werkzeug Raster-Typ erstellen ausführen, um den ST_Raster-Typ zu installieren.
- Starten Sie einen ArcGIS Desktop-Client.
- Stellen Sie eine Verbindung mit der Geodatabase als SDE-Benutzer her.
- Öffnen Sie das Werkzeug Raster-Typ erstellen.
Dieses Werkzeug befindet sich im Toolset "Geodatabase-Verwaltung" der Toolbox "Data Management".
- Legen Sie die in Schritt 2 erstellte Datenbankverbindung als Eingabe-Datenbankverbindung fest.
- Klicken Sie auf OK (ArcMap) oder auf Ausführen (ArcGIS Pro).
Verwenden von Python
Sie können ein Python-Skript ausführen, um eine Datenbankverbindungsdatei (.sde) zu erstellen, die eine Verbindung mit der Geodatabase als Geodatabase-Administrator herstellt, und den ST_Raster-Typ in der Geodatabase zu installieren.
- Öffnen Sie ein Befehlsfenster, importieren Sie das ArcPy-Modul, und verwenden Sie die Funktion CreateDatabaseConnection_management, um eine Datenbankverbindungsdatei (.sde) zu erstellen, die eine Verbindung zu der Geodatabase als Geodatabase-Administrator herstellt. Wenn Sie eine Verbindung mit der Datenbankauthentifizierung herstellen, müssen Sie den Benutzernamen und das Kennwort mit der Verbindungsdatei speichern.
In diesem Beispiel wird eine Verbindungsdatei (adminconnect.sde) unter C:\temp erstellt. Die Verbindung wird mit der Oracle-Instanz teamdata/orcl als SDE-Benutzer hergestellt.
import arcpy arcpy.CreateDatabaseConnection_management (r'c:/temp',"adminconnect.sde", "ORACLE", "teamdata/orcl", "DATABASE_AUTH", "sde", "Cky00r", "SAVE_USERNAME")
- Installieren Sie den ST_Raster-Typ.
Hier wird die Datei adminconnect.sde von der Funktion CreateRasterType_management zum Herstellen einer Verbindung mit der Geodatabase und zum Installieren des ST_Raster-Typs verwendet:
arcpy.CreateRasterType_management (r'c:/temp/adminconnect.sde')
Prüfen der Installation
Stellen Sie mithilfe eines SQL-Clients eine Verbindung als beliebiger Benutzer her, der Zugriff auf die Oracle-Datenbank hat, auf der Sie ST_Raster installiert haben. Testen Sie die Installation des ST_Raster-Typs, indem Sie die folgende SELECT-Anweisung ausführen:
SELECT sde.st_raster_util.describe()
FROM dual;
Erfolgreiche Ergebnisse sind z. B. Meldungen wie Keine Daten gefunden, wenn keine Raster-Daten in der Geodatabase vorhanden sind, oder eine Liste der Raster-Spalten in der Datenbank.
Es wird eine Fehlermeldung zurückgegeben, wenn der Oracle-Listener nicht gestartet wurde oder kein Zugriff auf die Bibliothek libst_raster_ora besteht. Auf die Bibliothek kann ggf. nicht zugegriffen werden, wenn "ST_Raster" nicht installiert ist, die Datei extproc.ora nicht mit dem Pfad zur Bibliothek libst_raster_ora aktualisiert wurde oder die Bibliothek libst_raster_ora an den falschen Speicherort kopiert wurde.
In diesem Beispiel wird das Dienstprogramm describe ausgeführt, um die vorhandenen ST_Raster-Spalten und binären Raster-Spalten in der Datenbank aufzulisten. In diesem Fall ist dies eine neue Geodatabase, und in der Datenbank sind noch keine Raster-Spalten enthalten. Da keine Fehlermeldung zurückgegeben wird, wissen Sie, dass die Installation erfolgreich war.
SELECT sde.st_raster_util.describe()
FROM dual;
SDE.ST_RASTER_UTIL.DESCRIBE()
No data found.
In diesem Beispiel wird das Dienstprogramm describe ebenfalls ausgeführt. Hier wurde dem Parameter extproc.oraENV jedoch nicht der Pfad zur Bibliothek libst_raster_ora hinzugefügt. Beheben Sie das Problem, und führen Sie die Abfrage erneut aus, um sicherzustellen, dass die Korrektur erfolgreich war.
SELECT sde.st_raster_util.describe()
FROM dual;
ERROR:
ORA-28575: unable to open RPC connection to external procedure agent
ORA-06512: at "SDE.ST_RASTER_UTIL", line 190
ORA-06512: at "SDE_ST_RASTER_UTIL", line 377
Nachdem Sie die Installation von ST_Raster geprüft haben, ändern Sie die Einstellungen des Konfigurationsschlüsselworts.
Ändern der Geodatabase-Konfiguration
Nachdem ST_Raster in der Geodatabase installiert wurde, müssen Sie die Geodatabase-Konfiguration ändern, um ST_Raster anderen Benutzern beim Erstellen von Raster-Datasets und Raster-Katalogen zur Verfügung zu stellen. Dazu können Sie eine Verbindung von ArcGIS Desktop (Standard oder Advanced) herstellen und Geoverarbeitungswerkzeuge ausführen, oder Sie können ein Python-Skript verwenden, das von einem ArcGIS Server- oder ArcGIS Desktop (Standard oder Advanced)-Client ausgeführt wird.
Ausführen von Geoverarbeitungswerkzeugen
Wenn Sie Zugriff auf ArcGIS Desktop haben, können Sie das Werkzeug Konfigurationsschlüsselwörter für Geodatabase exportieren verwenden, um die aktuellen Konfigurationseinstellungen der Geodatabase in eine Textdatei zu exportieren, den Parameter RASTER_STORAGE in der Textdatei auf "ST_Raster" festzulegen und die geänderte Textdatei mit dem Werkzeug Geodatabase-Konfigurationsschlüsselwort importieren zu importieren.
- Öffnen Sie das Werkzeug Konfigurationsschlüsselwörter für Geodatabase exportieren in ArcGIS Desktop.
- Verwenden Sie die Datenbankverbindung, die Sie zum Installieren von ST_Raster als Eingabe-Datenbankverbindung festgelegt haben.
- Legen Sie einen Speicherort und einen Dateinamen für die Textdatei fest, die erstellt werden soll.
- Öffnen Sie die Textdatei in einem Texteditor, und legen Sie RASTER_STORAGE auf "ST_Raster" fest.
- Wenn alle Raster-Datasets und Raster-Kataloge den ST_Raster-Typ verwenden sollen, ohne dass die Benutzer ein Schlüsselwort angeben müssen, ändern Sie den Parameter RASTER_STORAGE unter dem Schlüsselwort DEFAULTS.
- Wenn der ST_Raster-Typ nur von einigen Raster-Datasets und Raster-Katalogen verwendet werden soll, erstellen Sie ein benutzerdefiniertes Schlüsselwort, und legen Sie den Parameter RASTER_STORAGE für dieses Schlüsselwort auf "ST_Raster" fest.
- Speichern und schließen Sie die Textdatei.
- Importieren Sie die geänderte Textdatei mit dem Werkzeug Konfigurationsschlüsselwörter für Geodatabase importieren in die Geodatabase.
Verwenden von Python
Sie verwenden die ArcPy-Funktion ExportGeodatabsaeConfigurationKeyword_management, um die aktuellen Geodatabase-Konfigurationseinstellungen in eine Textdatei zu exportieren sowie die Textdatei zu bearbeiten und zu speichern. Anschließend verwenden Sie die Funktion ImportGeodatabaseConfigurationKeyword_management, um Änderungen in die Geodatabase zu importieren.
Verwenden Sie die Datenbankverbindungsdatei, die Sie beim Installieren von "ST_Raster" für die input_database erstellt haben, wenn Sie die beiden Funktionen ExportGeodatabsaeConfigurationKeyword_management und ImportGeodatabaseConfigurationKeyword_management ausführen.
- Exportieren Sie die aktuelle Geodatabase-Konfiguration.
In diesem Beispiel wird die Datei gdbconfig in den Ordner C:\temp exportiert.
arcpy.ExportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
- Öffnen Sie die Textdatei in einem Texteditor, und legen Sie RASTER_STORAGE auf "ST_Raster" fest.
- Wenn alle Raster-Datasets und Raster-Kataloge den ST_Raster-Typ verwenden sollen, ohne dass die Benutzer ein Schlüsselwort angeben müssen, ändern Sie den Parameter RASTER_STORAGE unter dem Schlüsselwort DEFAULTS.
- Wenn der ST_Raster-Typ nur von einigen Raster-Datasets und Raster-Katalogen verwendet werden soll, erstellen Sie ein benutzerdefiniertes Schlüsselwort, und legen Sie den Parameter RASTER_STORAGE für dieses Schlüsselwort auf "ST_Raster" fest.
- Speichern und schließen Sie die Textdatei.
- Importieren Sie die geänderte Datei.
arcpy.ImportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
Ihre neuen Konfigurationseinstellungen sind nun verfügbar, wenn die Daten erstellt werden.