Esri recomienda crear referencias espaciales con las herramientas de ArcGIS for Desktop cuando se crean clases de entidades. ArcGIS proporciona un gama completa de herramientas para esta tarea, y calculará unidades x, y, z y m, y desplazamientos para que mantenga datos de alta precisión. Sin embargo, Esri comprende que algunos usuarios y desarrolladores de aplicaciones desean contar con opciones cuando crean referencias espaciales. Este tema proporciona ejemplos del uso de SQL para crear referencias espaciales.
El sistema de referencia espacial se asigna a una geometría durante su construcción. El sistema de referencia espacial debe existir en la tabla de referencia espacial. Todas las geometrías en una columna deben tener el mismo sistema de referencia espacial.
Crear una referencia espacial en IBM DB2
En DB2, el comando para crear una referencia espacial es db2se create_srs (o invoque el procedimiento almacenado db2se.ST_create_srs). El siguiente ejemplo crea un registro de referencia espacial con un factor de escala de 10 y con un sistema de coordenadas específico:
db2se create_srs mydb -srsName \"mysrs\"
-srsID 310000 -xScale 10 -coordsysName \"GCS_North_American_1983\"
Para obtener información sobre el uso de este comando, consulte la sección "Creating a spatial reference system" de la DB2 Spatial Extender and Geodetic Extender User's Guide and Reference.
Crear una referencia espacial en IBM Informix
Los usuarios de Informix pueden crear un registro de referencia espacial en la tabla spatial_references con una declaración INSERT, como se muestra en este ejemplo. Asegúrese de remplazar el SRID con un valor único.
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
);
Para obtener más información sobre la creación de una referencia espacial en Informix, consulte la sección "Using the spatial references table" en la IBM Informix Spatial DataBlade Module User's Guide.
Crear una referencia espacial en Oracle
La creación de una referencia espacial para las tablas con el tipo espacial en Oracle se realiza a través de la declaración INSERT como la que se muestra a continuación. Asegúrese de remplazar el SRID con un valor único.
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]]',
'ArcSDE SpRef'
);
Crear una referencia espacial en PostgreSQL
Para crear un sistema de referencia espacial para el tipo espacial en PostgreSQL, utilice una declaración INSERT como la que se muestra a continuación. Asegúrese de remplazar el SRID con un valor único.
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]]',
'ArcSDE SpRef'
);
Crear una referencia espacial en SQLite
Use una declaración INSERT como la del siguiente ejemplo para agregar una referencia espacial a la tabla st_aux_spatial_reference_systems en una base de datos de SQLite que use ST_Geometry. Asegúrese de remplazar el SRID con un valor único.
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
);