Esri recomienda que cree referencias espaciales mediante herramientas de ArcGIS Desktop al crear clases de entidad. 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. A continuación, se proporcionan 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 ejecutar 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\"
Asegúrese de remplazar el srsID (310000) con un valor único. Para más información sobre el uso de este comando, visite el IBM Knowledge Center.
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 (310000) 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 más información sobre la creación de una referencia espacial en Informix, visite el IBM Knowledge Center.
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. Una función ST_Geometry reemplazará el valor NULL SRID por 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',
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'
);
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 (310000) 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]]',
'Custom SpRef'
);
Crear una referencia espacial en SQLite
Use una sentencia 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 (310000) 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
);