Esri empfiehlt, beim Anlegen von Feature-Classes die ArcGIS Desktop-Werkzeuge zum Erstellen von Raumbezügen zu verwenden. ArcGIS enthält zahlreiche Werkzeuge für diesen Task und berechnet die X-, Y-, Z- und M-Einheiten sowie den Versatz, um eine hohe Genauigkeit der Daten zu gewährleisten. Esri ist sich jedoch bewusst, dass einige Benutzer und Anwendungsentwickler weitere Möglichkeiten zum Erstellen von Raumbezügen benötigen. Im Folgenden finden Sie Beispiele für die Verwendung von SQL zum Erstellen von Raumbezügen.
Während der Konstruktion wird das Raumbezugssystem einer Geometrie zugeordnet. Das Raumbezugssystem muss in der Raumbezugstabelle enthalten sein. Alle Geometrien einer Spalte müssen dasselbe Raumbezugssystem aufweisen.
Erstellen eines Raumbezugs in IBM Db2
In Db2 wird ein Raumbezug mit dem Befehl "db2se create_srs" (oder durch Aufrufen der gespeicherten Prozedur "db2se.ST_create_srs") erstellt. Im folgenden Beispiel wird ein Eintrag für einen Raumbezug mit dem Maßstabsfaktor 10 und einem spezifischen Koordinatensystem erstellt:
db2se create_srs mydb -srsName \"mysrs\"
-srsID 310000 -xScale 10 -coordsysName \"GCS_North_American_1983\"
Ersetzen Sie die srsID (310000) durch einen Einzelwert. Weitere Informationen zu diesem Befehl finden Sie im IBM Knowledge Center.
Erstellen eines Raumbezugs in IBM Informix
In Informix kann mit einer INSERT-Anweisung wie im folgenden Beispiel ein Eintrag für einen Raumbezug in der Tabelle "spatial_references" erstellt werden. Ersetzen Sie die SRID (310000) durch einen Einzelwert.
INSERT INTO sde.spatial_references (srid, description,
auth_name, auth_srid, falsex, falsey, xyunits, falsez,
zunits, falsem, munits, srtext, object_flags,
xycluster_tol, zcluster_tol, mcluster_tol)
VALUES (
310000,
'GCS_North_American_1983',
NULL,
NULL,
-400,
-400,
1000000000,
-100000,
100000,
-100000,
10000,
'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
1,
0,
0,
0
);
Weitere Informationen zum Erstellen eines Raumbezugs in Informix finden Sie im IBM Knowledge Center.
Erstellen eines Raumbezugs in Oracle
Zur Erstellung eines Raumbezugs für Tabellen mit dem räumlichen Datentyp in Oracle verwenden Sie die INSERT-Anweisung wie im folgenden Beispiel. Mit einer ST_Geometry-Funktion wird der Wert NULL SRID durch einen Einzelwert ersetzt.
INSERT INTO SDE.ST_SPATIAL_REFERENCES (SR_NAME, SRID,
X_OFFSET, Y_OFFSET, XYUNITS, Z_OFFSET, Z_SCALE, M_OFFSET,
M_SCALE, MIN_X, MAX_X, MIN_Y, MAX_Y, MIN_Z, MAX_Z, MIN_M,
MAX_M, CS_ID, CS_NAME, CS_TYPE, ORGANIZATION,
ORG_COORDSYS_ID, DEFINITION, DESCRIPTION)
VALUES (
'GCS_North_American_1983',
NULL,
-400,
-400,
1000000000,
-100000,
100000,
-100000,
100000,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
4269,
'GCS_North_American_1983',
'PROJECTED',
NULL,
NULL,
'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
'Custom SpRef'
);
Erstellen eines Raumbezugs in PostgreSQL
Zur Erstellung eines Raumbezugssystems für den räumlichen Datentyp in PostgreSQL verwenden Sie eine INSERT-Anweisung ähnlich der im folgenden Beispiel. Ersetzen Sie die SRID (310000) durch einen Einzelwert.
INSERT INTO sde.st_spatial_references (sr_name, srid,
x_offset, y_offset, xyunits, z_offset, z_scale, m_offset,
m_scale, min_x, max_x, min_y, max_y, min_z, max_z, min_m,
max_m, cs_id, cs_name, cs_type, organization,
org_coordsys_id, definition, description)
VALUES (
'GCS_North_American_1983',
310000,
-400,
-400,
1000000000,
-100000,
100000,
-100000,
100000,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
9.999E35,
-9.999E35,
4269,
'GCS_North_American_1983',
'PROJECTED',
NULL,
NULL,
'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
'Custom SpRef'
);
Erstellen eines Raumbezugs in SQLite
Verwenden Sie eine INSERT-Anweisung wie im folgenden Beispiel, um der Tabelle "st_aux_spatial_reference_systems" einen Raumbezug in einer SQLite-Datenbank hinzuzufügen, die "ST_Geometry" verwendet. Ersetzen Sie die SRID (310000) durch einen Einzelwert.
INSERT INTO st_aux_spatial_reference_systems (srid, auth_name, auth_srid,
sr_text, falsex, falsey, xyunits, falsez, zunits, falsem,
munits, xycluster_tol, zcluster_tol, mcluster_tol)
VALUES (
310000,
NULL,
4269,
'GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]',
-400,
-400,
1000000000,
-100000,
1.0,
-100000,
1.0,
0,
0,
0
);