Sie können das Geoverarbeitungswerkzeug Speicherformat ändern verwenden, um vorhandene binäre Spalten, räumliche Spalten oder Raster-Spalten von einem Speichertyp zu einem anderen zu migrieren. Dies erfolgt durch die Angabe eine Konfigurationsschlüsselwortes, das den Parameter ATTRBUTE_BINARY, GEOMETRY_STORAGE oder RASTER_STORAGE enthält, der auf den neuen Speichertyp festgelegt ist, in den Sie konvertieren möchten.
Das Speicherformat von Geometrieattributen für parametrische Objekte und Oberflächen-Patches in Geodatabases in SQL Server kann auch mit dem Geoverarbeitungswerkzeug Speicherformat ändern geändert werden.
Es ist wichtig, das Konfigurationsschlüsselwort so zu erstellen, dass es den richtigen Parameter und Wert enthält. Wenn Sie ein Schlüsselwort mit falschen oder fehlenden Informationen angeben, werden die Informationen aus dem Schlüsselwort DEFAULTS gelesen. Esri empfiehlt, speziell für die Migration ein benutzerdefiniertes Schlüsselwort zu erstellen. Achten Sie darauf, dass das Schlüsselwort den Parameter und den Wert für den Speichertyp, in den Sie die Daten migrieren, sowie den Parameter UI_TEXT enthält. Der Parameter UI_TEXT macht das Schlüsselwort für ArcGIS-Clients verfügbar.
Unten sind die Migrationspfade aufgeführt, die von den einzelnen Datenbankmanagementsystemen unterstützt werden:
Datenbankmanagementsystem | Konfigurationsparameter | Migration von/nach |
---|---|---|
Oracle | ATTRIBUTE_BINARY | LONG RAW in BLOB |
GEOMETRY_STORAGE | LONG RAW (SDEBINARY) in BLOB (SDELOB) | |
LONG RAW (SDEBINARY) in ST_Geometry | ||
BLOB (SDELOB) in ST_Geometry | ||
SDO_Geometry nach ST_Geometry | ||
RASTER_STORAGE | LONG RAW in BLOB | |
LONG RAW nach ST_Raster* | ||
BLOB nach ST_Raster* | ||
PostgreSQL | RASTER_STORAGE | Bytea nach ST_Raster* |
SQL Server | RASTER_STORAGE | Bild nach ST_Raster* |
GEOMETRY_STORAGE | SDEBINARY nach Geometry | |
SDEBINARY nach Geography | ||
OGCWKB nach Geometry | ||
OGCWKB nach Geography | ||
In einer zugehörigen Tabelle gespeicherte Geometrieattribute nach in einer Spalte der Basistabelle gespeicherte Geometrieattribute |
*ST_Raster muss in der Geodatabase installiert sein. Anleitungen dazu finden Sie unter Installieren von ST_Raster in Oracle, Installieren von ST_Raster in PostgreSQL oder Installieren von ST_Raster in SQL Server.
Welche Gründe gibt es für das Migrieren von Daten?
Nachfolgend finden Sie Gründe für das Migrieren von Daten:
- Sie möchten auf räumliche Daten oder Raster-Daten per Structured Query Language (SQL) zugreifen.
- Sie möchten von einem Datentyp, der möglicherweise bald nicht mehr unterstützt wird, zu einem unterstützten Datentyp wechseln.
- Sie möchten Geometrieattributinformationen von einer Nebentabelle in SQL Server in eine Spalte in der Basistabelle verschieben, um die Performance in Parcel-Fabrics zu verbessern.
Datenzugriff mit SQL
Der Zugriff auf die Informationen in einer Geodatabase per SQL ermöglicht es externen Anwendungen (also nicht in einer ArcObjects-Umgebung entwickelten Anwendungen), die von einer Geodatabase verwalteten Tabellendaten zu verwenden. Falls diese Anwendungen auf räumliche Daten oder Raster-Daten in der Geodatabase zugreifen müssen, müssen Sie die räumlichen oder Raster-Daten in Datentypen speichern, die den SQL-Zugriff zulassen. Wenn Sie z. B. den ST_Geometry-Speichertyp verwenden, können Sie per SQL auf die Feature-Daten zugreifen. Dies ist nicht ohne Weiteres möglich, wenn die Daten in einem Feld mit dem Format "BLOB" oder "LONG RAW" gespeichert sind.
Wechseln von Typen, die in zukünftigen Versionen möglicherweise nicht mehr unterstützt werden
Feature-Classes, die in Geodatabases der Version ArcGIS 10.1 und höher in SQL Server erstellt wurden, verwenden standardmäßig den Microsoft-Geometrietyp. Um den Speichertyp der vorhandenen Feature-Classes in den Speichertyp "Geometry" zu ändern, verwenden Sie das Geoverarbeitungswerkzeug Speicherformat ändern oder ein Python-Skript.
Verschieben von Geometrieattributen zur Verbesserung der Performance
Ab ArcGIS 10.5 wurde die Speicherung von Geometrieattributen für parametrische Objekte (wie echte Kurven) und für Oberflächen-Patches (z. B. pointIDs und Multipatches) verbessert: sie werden direkt in der Business-Tabelle gespeichert. In früheren Versionen wurden diese Attributdaten in einer relationalen Tabelle gespeichert, die mit der Business-Tabelle verbunden wurde. Diese Verbindung kann die Performance beeinträchtigen und ist häufig beim Arbeiten mit Parcel-Fabrics aufgetreten.
Wenn Ihre vorhandenen Feature-Classes an Parcel-Fabrics beteiligt sind oder echte Kurven, Multipatches oder pointIDs speichern und die Anzeige-Performance niedrig ist, können Sie den Speicher für diese Geometrieattribute migrieren. Die folgenden Migrationspfade werden für vorhandene Feature-Classes unterstützt:
- Der Speichertyp ist "Geometry" von Microsoft und Sie möchten den Typ "Geometry" weiterhin verwenden.
Um die Geometrieattribute aus der zugehörigen Tabelle in eine neue Spalte der Business-Tabelle der Feature-Class zu migrieren, legen Sie ein Konfigurationsschlüsselwort fest, dessen GEOMETRY_STORAGE-Parameter auf "Geometry" festgelegt ist, und führen Sie das Werkzeug Speicherformat ändern aus.
- Der Speichertyp ist "Geography" von Microsoft und Sie möchten den Typ "Geography" weiterhin verwenden.
Um die Geometrieattribute aus der zugehörigen Tabelle in eine neue Spalte der Business-Tabelle der Feature-Class zu migrieren, legen Sie ein Konfigurationsschlüsselwort fest, dessen GEOMETRY_STORAGE-Parameter auf "Geography" festgelegt ist, und führen Sie das Werkzeug Speicherformat ändern aus.
- Der Speichertyp ist "SDEBINARY" und Sie möchten zum Typ "Geometry" von Microsoft migrieren. Legen Sie in diesem Fall ein Konfigurationsschlüsselwort fest, dessen GEOMETRY_STORAGE-Parameter auf "Geometry" festgelegt ist, und führen Sie das Werkzeug Speicherformat ändern aus. Dadurch werden beide räumlichen Datentypen und die Geometrieattribute in das neue Speicherformat migriert.
Legen Sie in diesem Fall ein Konfigurationsschlüsselwort fest, dessen GEOMETRY_STORAGE-Parameter auf "Geography" festgelegt ist, und führen Sie das Werkzeug Speicherformat ändern aus. Dadurch werden die Geometrieattribute zum neuen Speicherformat migriert.
- Der Speichertyp ist "SDEBINARY" und Sie möchten zum Typ "Geography" von Microsoft migrieren.
Legen Sie in diesem Fall ein Konfigurationsschlüsselwort fest, dessen GEOMETRY_STORAGE-Parameter auf "Geography" festgelegt ist, und führen Sie das Werkzeug Speicherformat ändern aus. Dadurch werden beide räumlichen Datentypen und die Geometrieattribute in das neue Speicherformat migriert.
Voraussetzungen für die Migration
Die folgenden Bedingungen müssen vor dem Konvertieren der Daten erfüllt sein:
- Sie müssen vor der Migration eine Sicherungskopie der Daten anlegen.
- Wenn Sie den räumlichen Spaltendatentyp konvertieren, müssen die Daten mit hoher Genauigkeit gespeichert sein. Falls die Daten noch mit normaler Genauigkeit gespeichert sind, müssen Sie diese vor dem Migrieren des Speichertyps zuerst mit hoher Genauigkeit speichern. Führen Sie die Aktualisierung mit dem Geoverarbeitungswerkzeug Raumbezug aktualisieren aus.
- Die Tabelle oder Feature-Class muss bei der Geodatabase registriert sein.
- Das Konfigurationsschlüsselwort, das Sie beim Migrieren des Datentyps angeben, muss den richtigen Wert für den Parameter GEOMETRY_STORAGE, ATTRIBUTE_BINARY oder RASTER_STORAGE enthalten. Falls Sie z. B. eine LONG RAW-Geometriespalte nach "ST_GEOMETRY" migrieren möchten, aber ein Schlüsselwort angeben, für das der Parameter GEOMETRY_STORAGE auf SDO_GEOMETRY festgelegt ist, schlägt die Migration fehl, weil es sich nicht um einen unterstützten Migrationspfad handelt.
- Sie müssen als Besitzer der Tabelle angemeldet sein, in der die zu migrierenden Spalten enthalten sind.
- Für die Migration einer Feature-Class in den SQL Server-Typ "GEOGRAPHY" ist es erforderlich, dass die Daten in einem der geographischen Koordinatensysteme vorliegen, die vom Typ "GEOGRAPHY" unterstützt werden.