Registrieren einer Tabelle mit einer "ST_Geometry"-Spalte bei ArcSDE

Sie können eine räumliche Tabelle mit dem administrativen Befehl in ArcSDE "sdelayer –o register" manuell bei ArcSDE registrieren. Nach der Registrierung bei ArcSDE wird die räumliche Tabelle als Layer bezeichnet.

HinweisHinweis:

ESRI empfiehlt, Feature-Classes in ArcGIS zu erstellen. Beim Erstellen von Feature-Classes in ArcGIS ist sichergestellt, dass diese ordnungsgemäß erstellt werden. Einige SQL-Benutzer und -Anwendungsentwickler benötigen jedoch u. U. weitere Möglichkeiten zum Verwenden von räumlichen Tabellen. Daher unterstützt ESRI das Registrieren von externen räumlichen Tabellen, die mit SQL oder der Anwendung eines Drittanbieters erstellt wurden.

Tabellen, die in ArcSDE registriert werden, müssen mindestens folgende Kriterien erfüllen:

HinweisHinweis:

Wenn die Tabelle keine Daten enthält und Sie die Tabelle in ArcSDE registrieren, dabei jedoch keine gültige SRID angeben, wird die Standard-SRID verwendet. Bei PostgreSQL- und Oracle-Tabellen mit "ST_Geometry"-Spalten ist der Standardwert 0. Die SRID 0 wird vorwiegend zu Testzwecken verwendet, damit wird kein Raumbezug zugewiesen. Wenn Sie zu einem späteren Zeitpunkt versuchen, Features mit einer anderen SRID als 0 zuzuweisen, schlägt dieser Vorgang fehl, weil die SRIDs nicht identisch sind. Nachdem einer Tabelle eine SRID zugewiesen wurde, kann sie nicht mehr geändert werden. Sie müssen den Layer löschen und mit der richtigen SRID neu erstellen.

Weitere Informationen zur Verwendung des Befehls "sdelayer" finden Sie in der "ArcSDE Administration Command Reference", die zusammen mit der ArcSDE-Komponente von ArcGIS Server Enterprise bereitgestellt wird.

Schritte:
  1. Erstellen Sie in SQL eine Tabelle (comm_bldgs) aus der vorhandenen Feature-Class "buildings", die Sie unter Arbeitsablauf: Verwenden von SQL mit vorhandenen Feature-Classes erstellt haben. Dadurch wird die Tabelle "comm_bldgs" mit derselben Definition (d. h. mit denselben Spalten und Datentypen) wie die Feature-Class "buildings" erstellt.
    CREATE TABLE comm_bldgs 
    AS SELECT * FROM buildings
    WHERE subtype = 'COM';
  2. Wenn Sie die Feature-Class "comm_bldgs" in ArcSDE registrieren, verwenden Sie die gleiche SRID wie für die Feature-Class "buildings". Verwenden Sie "sdelayer –o describe_long", um die SRID zu ermitteln.
    TippTipp:

    Sie können auch die Tabelle ST_GEOMETRY_COLUMNS in Oracle, die Tabelle "geometry_columns" in Informix und DB2 und die Tabelle "sde_geometry_columns" in PostgreSQL abfragen, um die SRID abzurufen.

    sdelayer –o describe_long –l buildings,shape 
    –u <user> –p <pw>  –s <server> [–D <database>] 
    –i <service_or_direct_connect_string>
    
    Layer        Administration Utility
    
    Layer Description : <None>
    Table Owner : me
    Table Name : buildings
    Spatial Column : shape
    Layer Id : 15
    SRID : 3
  3. Registrieren Sie die Feature-Class mit dem Befehl "sdelayer" in ArcSDE. Geben Sie die SRID aus dem letzten Schritt mit der Option "–R" an. Sie können die Ausdehnung des Layers auch mit der Option "-E" angeben.
    sdelayer –o register –l comm_bldgs,shape –e a -t ST_GEOMETRY
    –C OBJECTID,SDE –R 3 -E -690.389,-512.144,610.389,600.144
    –u <user> –p <pw> –s <server> [–D <database>] 
    –i <service_or_direct_connect_string>  
    HinweisHinweis:

    Wenn der Parameter GEOMETRY_STORAGE unter dem Schlüsselwort DEFAULTS in der DBTUNE-Tabelle nicht auf ST_GEOMETRY festgelegt ist, müssen Sie auch ein Schlüsselwort mit der Option "-k" angeben.

Ihre Tabelle wurde in ArcSDE registriert. Das heißt, sie ist nun ein Layer. Den Systemtabellen "LAYERS", "GEOMETRY_COLUMNS", "COLUMN_REGISTRY" und "TABLE_REGISTRY" in Oracle, DB2 oder Informix bzw. "sde_layers", "sde_geometry_columns", "sde_column_registry" und "sde_table_registry" in PostgreSQL wird ein Datensatz hinzugefügt. Nun können Sie nicht versionierte Änderungen für die Feature-Class in ArcGIS Desktop anzeigen, auswählen und durchführen.

Um die Geodatabase-Funktionen in der Feature-Class verwenden zu können, registrieren Sie diese in der Geodatabase.

Verwandte Themen


3/6/2012