Registrieren einer Tabelle eines Drittanbieters mit einer räumlichen Spalte
Verwenden Sie den administrativen Befehl in ArcSDE "sdelayer" zusammen mit der Operation "register", um eine räumliche Tabelle als Feature-Class zu registrieren.
Die Operation "register" ermöglicht das Erstellen einer Feature-Class aus einer DBMS-Tabelle, die eine räumliche Spalte enthält, die als benutzerdefinierter Datentyp definiert ist. Bislang werden in ArcSDE-Geodatases sechs verschiedene Implementierungen von räumlichen DBMS-Datentypen unterstützt: Oracle Spatial-Geometrietyp (SDO_Geometry), Informix Spatial DataBlade (ST_Geometry), DB2 Spatial Extender (ST_Geometry), Spatial Type for Oracle (ST_Geometry), Spatial Type for PostgreSQL (ST_Geometry), PostGIS for PostgreSQL (Geometry), Geometry for SQL Server (Geometry) und Geography for SQL Server (Geography). Tabellen, die mit einem dieser räumlichen Datentypen erstellt und mit der DBMS-SQL-Schnittstelle oder einer anderen Schnittstellen eines Drittanbieters aufgefüllt wurden, können einer ArcSDE-Geodatabase hinzugefügt werden, indem die vorhandenen Tabellen als Feature-Classes registriert werden.
Um räumliche Tabellen von Drittanbietern zu registrieren, müssen die folgenden Voraussetzungen erfüllt sein:
- Nur der Besitzer der Tabelle kann diese bei ArcSDE registrieren. Der mit der Option "–u" und der Option "–p" angegebene Benutzername und das Kennwort müssen daher denen des Tabellenbesitzers entsprechen.
- Die Tabelle darf nur eine räumliche Spalte aufweisen. Tipp:
Wenn die Tabelle mehrere räumliche Spalten enthält, können Sie eine Ansicht der Tabelle erstellen, die nur eine räumliche Spalte enthält.
- Die Tabelle darf keine weiteren benutzerdefinierten Spalten aufweisen.
- Alle Datensätze in der Tabelle müssen denselben Raumbezug aufweisen.
- Wenn eine Raumbezugs-ID (SRID) mit der Option "–R" angegeben wird, muss diese SRID bereits in der ArcSDE-Raumbezugstabelle in der Geodatabase vorhanden sein. Standardversätze und Ausdehnungen werden auf Grundlage des von der angegebenen SRID angegebenen Raumbezugs berechnet.
- Beim Namen der Tabelle darf nur Groß- oder nur Kleinschreibung verwendet werden, er darf nicht mit einer Zahl beginnen und nicht mehr als 128 Zeichen (160 Zeichen bei Oracle) umfassen.
- Sie müssen den Geometriespeichertyp mit der Option "–t"angeben. Gültige Werte für die Option "–p" mit der Operation "register" sind "Geography", "Geometry", "SDO_Geometry" und "ST_Geometry". Der angegebene Wert muss mit dem räumlichen Spaltentyp der Tabelle übereinstimmen, die registriert wird.
- Beim Registrieren von SDO_Geometry-Tabellen, wird empfohlen, dass Sie vor dem Registrieren bei ArcSDE einen räumlichen Index erstellen.
- Geben Sie mit der Option "–E" eine Ausdehnung an.
Die Syntax und Beispiele für die Verwendung des Befehls "sdelayer" finden Sie in der "ArcSDE Administration Command Reference", die in der ArcSDE-Komponente von ArcGIS Server Enterprise enthalten ist.
Die Autoregistrierungsfunktion für SDO_Geometry, die in früheren Versionen von ArcSDE vorhanden war, ist veraltet.
-
Führen Sie an einer MS-DOS Eingabeaufforderung (Windows) bzw. an einer shell-Eingabeaufforderung (UNIX oder Linux) den Befehl "sdelayer" zusammen mit der Operation "register" aus.
Registrieren einer PostGIS-Punktetabelle bei ArcSDE
sdelayer -o register -l samplepts,geom -e p+ -C ptid,SDE -t PG_GEOMETRY -g RTREE -E -76.74381615680447,34.59132803608262,-74.56368991230103,36.18919425895801 -i sde:postgresql:myserver -s myserver -D bigdb -u editor -p open.up
Hinweis:Wenn Sie die Feature-ID-Spalte wie im Beispiel als vom Benutzer (-C id,USER) und nicht von SDE verwaltet registrieren und dann die Feature-Class in der Geodatabase registrieren, fügt ArcGIS eine zusätzliche Feature-ID-Spalte mit dem Namen "ObjectID" hinzu. Die Werte in dieser Spalte werden von ArcGIS verwaltet. Wenn die Tabelle eine große Anzahl von Datensätzen enthält, kann das Hinzufügen dieser zusätzlichen "ObjectID"-Spalte einige Zeit in Anspruch nehmen.