ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Inscrire une colonne ST_Geometry

  • Inscrire une colonne ST_Geometry dans PostgreSQL
  • Inscrire une colonne ST_Geometry dans SQLite
  • Inscrire une colonne ST_Geometry dans Oracle

Si vous utilisez SQL pour créer une table contenant une colonne ST_Geometry, vous pouvez enregistrer la colonne pour utiliser une référence spatiale et dimensionnalité spécifiques. De la sorte, lorsque vous insérez des enregistrements avec SQL, vous ne pouvez pas insérer accidentellement des enregistrements utilisant une référence spatiale différente.

Inscrire une colonne ST_Geometry dans PostgreSQL

Utilisez st_register_spatial_column pour inscrire la colonne ST_Geometry dans une table PostgreSQL créée avec SQL. La syntaxe de la fonction st_register_spatial_column est la suivante :

SELECT st_register_spatial_column (
 '<database_name>',
 '<schema_name>',
 '<table_name>',
 '<spatial_column_name>',
 <srid>,
 <coordinate_dimension>
);

Le SRID spécifié doit figurer dans la table public.sde_spatial_references dans PostgreSQL. La dimension de coordonnée indique si les données comportent uniquement des coordonnées x, y (2), des coordonnées x, y, z (3), des coordonnées x, y, z, m (4) ou des coordonnées x, y, m (5). Par défaut, si vous n'indiquez pas de dimension de coordonnée, les données sont enregistrées comme ayant uniquement les dimensions x, y

Les étapes suivantes fournissent un exemple d'inscription d'une colonne ST_Geometry dans PostgreSQL pour utiliser un SRID et une dimensionnalité spécifiques.

  1. Ouvrez une invite ou un shell de commande.
  2. Connectez-vous à un éditeur SQL, puis à la base de données qui contient la table pour laquelle vous souhaitez inscrire la colonne ST_Geometry.

    Dans cet exemple, l'utilisateur horace se connecte à la base de données spatdat.

    psql spatdat horace

  3. A l'invite de commande SQL, appelez la fonction st_register_spatial_column pour inscrire la colonne spatiale d'une table et utiliser un SRID et une dimensionnalité spécifiques.

    Ici, la colonne geo des tables waypoints dans la structure cleo est inscrite avec un SRID de 104199 et une dimensionnalité x,y,z :

    SELECT sde.st_register_spatial_column(
     'spatdat',
     'cleo',
     'waypoints',
     'geo',
     104199,
     3
    );
    

    L'utilisateur horace doit bénéficier au moins des privilèges SELECT sur la table cleo.waypoints pour inscrire la colonne spatiale.

  4. Pour confirmer l'inscription correcte de la table, vous pouvez utiliser les fonctions st_isregistered_spatial_column et st_get_coord_dimension functions pour renvoyer les informations inscrites.

    La fonction st_isregistered_spatial_column renvoie 1 (vrai) si la colonne est inscrite avec le SRID spécifié.

    SELECT sde.st_isregistered_spatial_column(
     'spatdat',
     'cleo',
     'waypoints',
     'geo',
     104199
    );
    
    st_isregistered_spatial_column
    --------------------------------
    1
    

    La fonction st_get_coord_dimension renvoie les coordonnées que la table peut stocker.

    SELECT sde.st_get_coord_dimension(
     'cleo',
     'waypoints',
     'geo',
     104199
    );
    
    st_get_coord_dimension
    --------------------------------
    xyz
    

Inscrire une colonne ST_Geometry dans SQLite

Utilisez AddGeometryColumn pour ajouter une colonne ST_Geometry à une table dans SQLite et inscrivez-la avec un SRID et une dimension de coordonnées spécifiques. Voici la syntaxe à utiliser pour AddGeometryColumn :

SELECT AddGeometryColumn (
 <'main'|null>,
 <table_name>,
 <spatial_column_name>,
 <srid>,
 <geometry_type>
 <coordinate_dimension>,
 <'null'|'not null'>
);

Lorsque vous vous connectez à SQLite via un client SQL, vous vous connectez à "main". Vous pouvez spécifier "main" ou utiliser "null", qui suppose que vous vous connectez à "main". La dimension de coordonnées est xy (2), xyz (3), xyzm (4) ou xyzm (5). Si vous spécifiez une dimension de xy ou 2, il n'est pas nécessaire d'inclure la dimension dans le type de géométrie. Si vous spécifiez d'autres dimensions de coordonnées, vous devez également inclure ces informations lorsque vous précisez le type de géométrie. Vous pouvez taper le type de géométrie ou le code du type de géométrie. Les valeurs possibles sont les suivantes :

Valeurs du type de géométrieCode

st_geometry ou geometry

0

st_point ou point

1

st_linestring ou linestring

2

st_polygon ou polygon

3

st_multipoint ou multipoint

4

st_multilinestring ou multilinestring

5

st_multipolygon ou multipolygon

6

st_geometryz ou geometryz

1000

st_pointz ou pointz

1001

st_linestringz ou linestringz

1002

st_polygonz ou polygonz

1003

st_multipointz ou multipointz

1004

st_multilinestringz ou multilinestringz

1005

st_multipolygonz ou multipolygonz

1006

st_geometrym ou geometrym

2000

st_pointm ou pointm

2001

st_linestringm ou linestringm

2002

st_polygonm ou polygonm

2003

st_multipointm ou multipointm

2004

st_multilinestringm ou multilinestringm

2005

st_multipolygonm ou multipolygonm

2006

st_geometryzm ou geometryzm

3000

st_pointzm ou pointzm

3001

st_linestringzm ou linestringzm

3002

st_polygonzm ou polygonzm

3003

st_multipointzm ou multipointzm

3004

st_multilinestringzm ou linestringzm

3005

st_multipolygonzm ou multipolygonzm

3006

Reportez-vous à la rubrique Créer des tables avec une colonne ST_Geometry pour voir comment créer une table dans SQLite et comment utiliser AddGeometryColumn pour ajouter et inscrire la colonne ST_Geometry.

Inscrire une colonne ST_Geometry dans Oracle

Dans Oracle, la création d'un index spatial dans la colonne ST_Geometry inscrit la colonne pour utiliser une référence spatiale spécifique. Reportez-vous la rubrique Créer des index spatiaux dans les tables ayant une colonne ST_Geometry pour savoir comment créer un index spatial avec SQL dans Oracle.

Rubriques connexes

  • Désinscription d'une colonne ST_Geometry
  • Créer des tables avec une colonne ST_Geometry
  • Références spatiales

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal