Créer des références spatiales avec SQL

Esri recommande de créer des références spatiales en utilisant les outils ArcGIS for Desktop lors de la création de classes d'entités. ArcGIS fournit une suite d'outils complète pour cette tâche et calculera les unités et les décalages x, y, z et m pour vous permettre de conserver des données de haute précision. Esri comprend cependant que certains utilisateurs et développeurs d'applications veulent avoir le choix lors de la création de références spatiales. Cette rubrique fournit des exemples d'utilisation du langage SQL pour créer des références spatiales.

Le système de référence spatiale est attribué à une géométrie lors de sa construction. Le système de référence spatiale doit exister dans la table de référence spatiale. Toutes les géométries d'une colonne doivent avoir le même système de référence spatiale.

Création d'une référence spatiale dans IBM DB2

Dans DB2, la commande permettant de créer une référence spatiale est db2se create_srs (ou appelez la procédure stockée db2se.ST_create_srs). L'exemple suivant crée un enregistrement de référence spatiale avec un facteur d'échelle de 10 et en utilisant un système de coordonnées spécifique :

db2se create_srs mydb -srsName \"mysrs\" 
-srsID 310000 -xScale 10 -coordsysName \"GCS_North_American_1983\"

Pour plus d'informations sur l'utilisation de cette commande, reportez-vous à la section "Creating a spatial reference system" du manuel DB2 Spatial Extender and Geodetic Extender User's Guide and Reference.

Création d'une référence spatiale dans IBM Informix

Les utilisateurs d'Informix peuvent créer un enregistrement de référence spatiale dans la table spatial_references en utilisant une instruction INSERT semblable à l'exemple suivant. Veillez à remplacer le SRID par une valeur unique.

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
);

Pour plus d'informations sur la création d'une référence spatiale dans Informix, reportez-vous à la section "Using the spatial references table" du manuel IBM Informix Spatial DataBlade Module User's Guide.

Création d'une référence spatiale dans Oracle

La création d'une référence spatiale pour les tables qui utilisent le type spatial dans Oracle s'effectue via une instruction INSERT semblable à la suivante. Veillez à remplacer le SRID par une valeur unique.

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'
);

Création d'une référence spatiale dans PostgreSQL

Pour créer un système de référence spatiale pour le type spatial dans PostgreSQL, utilisez une instruction INSERT semblable à l'instruction ci-dessous. Veillez à remplacer le SRID par une valeur unique.

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'
);

Création d'une référence spatiale dans SQLite

Utilisez une instruction INSERT semblable à l'exemple suivant pour ajouter une référence spatiale à la table st_aux_spatial_reference_systems dans une base de données SQLite utilisant ST_Geometry. Veillez à remplacer le SRID par une valeur unique.

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 
);

Thèmes connexes

5/10/2014