Tipps zur Registrierung von vorhandenen Tabellen mit einer "ST_Geometry"-Spalte
Verwenden von vorhandenen "ST_Geometry"-Tabellen
ArcSDE kann Tabellen, die "ST_Geometry"-Spalten enthalten, die mit SQL erstellt wurden (manchmal als Tabellen von Drittanbietern bezeichnet) erfolgreich verwenden, solange die Tabellen die folgenden Voraussetzungen erfüllen:
- Der Benutzer, von dem die Tabelle registriert wird, muss der Besitzer sein.
- Die Tabelle muss eine einzelne "ST_Geometry"-Spalte enthalten.
- Die Tabelle darf keine weiteren benutzerdefinierten Spalten aufweisen.
- Die Tabelle darf nur einen Geometrietyp aufweisen (Punkte, Linien oder Polygone). Multipart-Geometrien können verwendet werden.
- Die Geometrie muss gültig sein; andernfalls entstehen beim Zugreifen auf diese Geometrien möglicherweise unerwartete Ergebnisse.
Durchführung der Registrierung von Tabellen von Drittanbietern, die "ST_Geometry"-Spalten enthalten
Sie können eine räumliche Tabelle mit dem administrativen Befehl in ArcSDE "sdelayer –o register" als Feature-Class registrieren. Um Tabellen zu registrieren, die eine "ST_Geometry"-Spalte enthalten, müssen die im vorherigen Abschnitt beschriebenen Voraussetzungen erfüllt sein.
Die Tabellen, die Sie registrieren, können leer sein oder bereits Daten enthalten.
Registrieren von Tabellen, die bereits Daten enthalten
Wenn Sie eine Tabelle registrieren, die bereits Daten enthält, haben die Daten ein ihm zugewiesenes Raumbezugssystem. Das bedeutet, wenn Sie die Tabelle bei ArcSDE registrieren, müssen Sie die Raumbezugs-ID (SRID) nicht mit der Option –R angeben. ArcSDE überprüft die definierte SRID des ersten Datensatzes in der Tabelle und verwendet diese.
Beachten Sie jedoch, dass die SRID in der Tabelle ST_SPATIAL_REFERENCES vorhanden sein muss, um übernommen zu werden. Wenn das Raumbezugssystem, das Sie benötigen, nicht bereits in der Tabelle ST_SPATIAL_REFERENCES vorhanden ist, empfiehlt sich folgende Möglichkeit, es einzufügen: Starten Sie ArcCatalog, stellen Sie eine Verbindung mit der Geodatabase her, und erstellen Sie dann eine neue Feature-Class, die das gewünschte Raumbezugssystem und das Format "ST_Geometry" verwendet. Dabei wird die Tabelle ST_SPATIAL_REFERENCES mit der SRID ausgefüllt, die Sie benötigen, und ArcCatalog berechnet die X,Y, Z - und M-Versätze und Einheiten sowie die Layer-Ausdehnung für Sie. Es ist auch möglich, SQL zu verwenden, um den Raumbezug einzufügen, aber wenn Sie dies tun, müssen Sie die richtigen X,Y, Z - und M-Versätze und Einheiten selbst berechnen.
Im folgenden Beispiel wird die Tabelle TOWERS, die Datensätze von Punktgeometrien (–e p) in der räumlichen Spalte SHAPE enthält, registriert. Da der Raumbezug bereits bekannt ist, muss er beim Registrieren der Tabelle mit "sdelayer" nicht angegeben werden. Mit der Option –C wird eine eindeutige Spalte ohne Nullwerte, FID, hinzugefügt, die als Zeilen-ID-Spalte verwendet werden soll.
sdelayer –o register –l towers,shape –e p –C fid,SDE –u brooke –p pwd19
Für Tabellen, die eine große Anzahl von Datensätzen enthalten, braucht die Registrierung möglicherweise weniger Zeit, wenn Sie die Zeilen-ID-Spalte als vom Benutzer verwaltet registrieren.
sdelayer –o register –l towers,shape –e p –C fid,USER –u brooke –p pwd19
Wenn Sie jedoch die Feature-Kennungsspalte als vom Benutzer verwaltet registrieren und dann die Feature-Class in der Geodatabase registrieren, fügt ArcGIS eine zusätzliche Feature-Kennungsspalte mit dem Namen "object_ID" 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 "object_ID"-Spalte einige Zeit in Anspruch nehmen.
Registrieren von räumlichen Tabellen, die keine Daten enthalten
Wenn die Tabelle keine Daten enthält und keine zugewiesene SRID hat, müssen Sie eine SRID angeben, wenn die Tabelle registriert wird. Dies wird mit der Option –R gemacht. Die zu dieser Zeit angegebene SRID muss bereits in der Tabelle SPATIAL_REFERENCES in der Geodatabase vorhanden sein und der von ArcSDE definierten SRID entsprechen.
Wie bereits im vorhergehenden Abschnitt erwähnt wurde: Um die Tabelle ST_SPATIAL_REFERENCES mit dem zu verwendenden Raumbezugssystem auszufüllen, starten Sie ArcCatalog, stellen eine Verbindung mit der Geodatabase her und erstellen dann eine neue Feature-Class, die das gewünschte Raumbezugssystem und das Format "ST_Geometry" verwendet. Fragen Sie dann das SPATIAL_REFERENCES-System ab, um die SRID zu ermitteln, die dem für die Feature-Class angegebenen Raumbezugssystem zugewiesen wurde. Verwenden Sie diese SRID zur Registrierung der räumlichen Tabelle.
Im folgenden Beispiel wird eine leere Tabelle, DRAINAGE, bei ArcSDE registriert. Die Tabelle enthält bereits eine eindeutige Spalte vom Typ "Integer" ohne Nullwerte (NOT NULL), ID, die für die Zeilen-ID-Spalte verwendet wird. Die SRID wird mit der Option –R angegeben.
sdelayer –o register –l drainage,line –e l+ –C id,SDE –R 6 –u hortence –p topsecret
Wenn die Tabelle keine Daten enthält oder keine zugewiesene SRID hat und Sie keine angeben, wenn die Tabelle bei ArcSDE registriert wird, wird der Standard-SRID-Wert 0 zugewiesen. Diese SRID ist nur zu Beispiel- und Dokumentationszwecken vorhanden und wird nicht zur Verwendung mit Produktionsdaten empfohlen. Die Spezifikationen für diese SRID sind wie folgt:
FalseX |
- 400 |
FalseY |
- 400 |
XYUnits |
1000000000 |
FalseZ |
- 100000 |
ZUnits |
10000 |
FalseM |
- 100000 |
MUnits |
10000 |
XYCluster_Tol |
0,000000008983153 |
ZCluster_Tol |
,001 |
MCluster_Tol |
,001 |
Projektion |
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]] |
Auth_srid |
4326 |
Auth_name |
EPSG |
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.
Der Befehl "sdelayer" fügt die Tabelle nur den ArcSDE-Systemtabellen hinzu. Um die ArcGIS Desktop-Geodatabase-Funktionalität wie z. B. Topologie, Versionierung und Netzwerke verwenden zu können, müssen Sie auch die Tabelle bei der Geodatabase registrieren. Weitere Informationen finden Sie unter Registrieren einer Tabelle in der Geodatabase.