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 for Server auf dem Oracle-Server installiert ist, können Sie die extproc.ora-Datei aktualisieren, damit 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 ST_Raster installieren 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 for 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" so, dass sie den Pfad zur Bibliothek "libst_raster_ora" enthält.
- 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 for Desktop (Standard oder Advanced) oder ein Python-Skript von einem ArcGIS for Server- oder ArcGIS for 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 for Desktop (Standard oder Advanced) haben, können Sie das Werkzeug Raster-Typ erstellen ausführen, um den ST_Raster-Typ zu installieren.
- Starten Sie ArcCatalog, ArcMap oder ArcGIS Pro.
- Stellen Sie eine Verbindung mit der Geodatabase als Geodatabase-Administrator 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, um das Werkzeug auszuführen.
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 unter C:\temp eine Verbindungsdatei (adminconnect.sde) 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 "ENV" von "libst_raster_ora" jedoch nicht der Pfad zur Bibliothek "extproc.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 for Desktop (Standard oder Advanced) herstellen und Geoverarbeitungswerkzeuge ausführen, oder Sie können ein Python-Skript verwenden, das von einem ArcGIS for Server- oderArcGIS for Desktop (Standard oder Advanced)-Client ausgeführt wird.
Ausführen von Geoverarbeitungswerkzeugen
Wenn Sie Zugriff auf ArcGIS for Desktop haben, können Sie das Werkzeug Geodatabase-Konfigurationsschlüsselwort 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 Geodatabase-Konfigurationsschlüsselwort exportieren in ArcGIS for 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 RASTER_STORAGE-Parameter 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 RASTER_STORAGE-Parameter 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 Geodatabase-Konfigurationsschlüsselwort 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 RASTER_STORAGE-Parameter 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 RASTER_STORAGE-Parameter 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.