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 for 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

Aide

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

Types de données PostgreSQL pris en charge dans ArcGIS

  • Types de géométrie
  • Types de données raster

Lorsque vous créez une table ou ajoutez une colonne à une table de base de données, les colonnes sont créées en tant que type de données spécifique. Les types de données sont des classifications qui identifient les valeurs possibles pour les opérations réalisables sur les données ainsi que la façon dont les données de la colonne sont stockées dans la base de données.

Lorsque vous accédez aux tables de base de données d'ArcGIS, vous pouvez utiliser des types de données spécifiques. Lorsque vous accédez à la table de base de données via le nœud Connexions aux bases de données dans l'arborescence du catalogue ou via une couche de requête dans ArcMap, ArcGIS élimine tous types de données non pris en charge. Si vous accédez directement à votre table de base de données, les types de données non pris en charge ne s'affichent pas dans l'interface ArcGIS et vous ne pouvez pas les modifier via ArcGIS. De la même façon, lorsque vous copiez des tables qui contiennent des types de données non pris en charge par ArcGIS, seuls les types de données pris en charge sont copiés. Lorsque vous collez la table dans une autre base de données ou géodatabase, les colonnes de types de données non pris en charges sont absentes.

Lorsque vous créez une classe d'entités ou une table dans ArcGIS ou que vous ajoutez une colonne à une table ou une classe d'entités existante à l'aide d'ArcGIS, vous pouvez affecter 12 types de données possibles à un champ. Les types de données de base de données qui ne correspondent pas à ces types ne peuvent pas être utilisés directement dans les applications clientes ArcGIS.

La première colonne répertorie les types de données ArcGIS. La deuxième présente le type de données PostgreSQL qui sera créé dans la base de données. La troisième colonne indique les autres types de données PostgreSQL (le cas échéant) correspondant au type de données ArcGIS lorsqu'ils sont affichés dans ArcGIS.

types de données ArcGISTypes de données PostgreSQL créésAutres types de données PostgreSQL pouvant être affichésRemarques

BLOB

BYTEA

Date

TIMESTAMP WITHOUT ZONE

TIMESTAMP

DOUBLE

NUMERIC(p)

BIG SERIAL, DOUBLE PRECISION

La précision et l'échelle spécifiées dans ArcGIS peuvent affecter le type de données obtenu créé dans la base de données. Reportez-vous à la rubrique Types de données des champs ArcGIS pour plus d'informations.

FLOAT

NUMERIC(p)

La précision et l'échelle spécifiées dans ArcGIS peuvent affecter le type de données obtenu créé dans la base de données. Reportez-vous à la rubrique Types de données des champs ArcGIS pour plus d'informations.

GEOMETRY

ST_GEOMETRY or GEOMETRY (PostGIS)

Dans une géodatabase, le paramètre GEOMETRY_STORAGE du mot-clé de configuration utilisé lorsque vous créez la classe d'entité détermine le type de données créé dans la base de données.

Pour utiliser ST_Geometry dans une base de données, vous devez l'installer. Consultez la section Ajouter le type ST_Geometry à une base de données PostgreSQL pour en savoir plus.

Pour utiliser le type de géométrie PostGIS, vous devez installer PostGIS dans le cluster de bases de données PostgreSQL et la base de données elle-même doit être activée de telle sorte qu'elle puisse utiliser PostGIS. Pour plus d'informations, consultez la documentation PostgreSQL.

ID global

VARCHAR(38)

Pris uniquement en charge dans les géodatabases.

GUID

VARCHAR(38)

LONG INTEGER

INTEGER

SERIAL

Identifiant d’objet

INTEGER dans une géodatabase

SERIAL dans une base de données

L'identifiant d'objet de type ArcGIS est la colonne d'ID de ligne enregistrée pour la table (ou classe d'entités). Une seule colonne par table.

RASTER

BYTEA or ST_RASTER

Les rasters sont uniquement pris en charge dans les géodatabases. Le type de données PostgreSQL créé dépend du mot-clé de configuration utilisé lors de la création du catalogue d'images, du jeu de données raster ou de la mosaïque.

Vous devez configurer séparément ST_Raster dans la géodatabase pour l'utiliser. Reportez-vous à la rubrique Installer ST_Raster dans PostgreSQL pour en savoir plus.

SHORT INTEGER

SMALLINT

REAL

TEXT

CHARACTER VARYING

CHARACTER, VARCHAR, TEXT

Types de données PostgreSQL pris en charge dans ArcGIS

Si votre table contient une colonne avec un type de données non pris en charge dans ArcGIS, vous pouvez redéfinir la colonne en texte. Toutefois, ne procédez ainsi que si vous souhaitez consulter les valeurs de la colonne, et non si vous devez effectuer des analyses faisant appel aux valeurs de cette colonne. Par exemple, vous pouvez exécuter une instruction SELECT pour choisir les colonnes dans tableb et redéfinir en texte la colonne décimale (total) :

SELECT id, name, total::text
FROM me.mydb.tableb;

Types de géométrie

Comme cela est indiqué dans la table, ArcGIS crée et peut manipuler deux types de géométrie dans PostgreSQL : Esri ST_Geometry ou Géométrie PostGIS. Les deux sections suivantes proposent davantage d'informations sur ces deux types de données.

ST_Geometry

Voici une description générale du type de donnée spatiale ST_Geometry : Pour obtenir des informations propres à une implémentation PostgreSQL, reportez-vous à la rubrique ST_Geometry dans PostgreSQL.

Le type de données ST_Geometry implémente les spécifications SQL 3 pour les types de données définis par l'utilisateur (UDT), qui permettent de créer des colonnes capables de stocker des données spatiales telles que la localisation d'un point de repère, d'une rue ou d'une parcelle. Il permet un accès à la géodatabase et à la base de données en langage SQL (structured query language) conforme aux normes de l'ISO (International Organization for Standards) et de l'OGC (Open Geospatial Consortium). Ce stockage étend les capacités de la base de données en permettant le stockage d'objets qui représentent des entités géographiques (points, lignes et polygones). Il a été conçu pour utiliser de façon efficace les ressources de la base de données, pour être compatible avec les fonctions de la base de données, telles que la réplication et le partitionnement et pour permettre un accès rapide aux données spatiales.

ST_Geometry est un résumé, une super classe non instanciée. Toutefois, ses sous-classes peuvent être instanciées. Un type de données instancié peut être défini comme une colonne de tableau pouvant accueillir des valeurs de son type.

Bien que vous puissiez définir une colonne en tant que type ST_Geometry, vous n'insérez pas de valeurs ST_Geometry dans la colonne puisqu'elle ne peut pas être instanciée. Vous insérez plutôt les valeurs de la sous-classe.

Le diagramme suivant montre la hiérarchie du type de données ST_Geometry et de ses sous-classes.

ST_Geometry
La superclasse ST_Geometry et ses sous-classes

Les sous-classe de ST_Geometry sont divisées en deux catégories : sous-classes de géométrie de base et sous-classe d'ensembles homogènes. Les géométries de base comprennent les objets ST_Point, ST_LineString et ST_Polygon, alors que les ensembles homogènes comprennent les objets ST_MultiPoint, ST_MultiLineString et ST_MultiPolygon. Comme ces noms l'indiquent, les ensembles homogènes sont des ensembles de géométries de base. En plus des propriétés communes aux géométries de base, les ensembles homogènes disposent également de quelques propriétés propres.

Chaque sous-classe stocke le type de géométrie que son nom indique ; par exemple, ST_MultiPoint stocke des multi-points. Le tableau suivant fournit une liste des sous-classes et leurs descriptions :

Sous-typeDescription

ST_Point

  • Géométrie à zéro dimension, occupant une seule localisation dans l'espace de coordonnées.
  • Dispose d'une seule valeur de coordonnée x,y, est toujours simple et a une limite de valeur NULL.

ST_LineString

  • Objet linéaire stocké comme séquence de points définissant un chemin interpolé linéaire.
  • Les objets ST_LineString ont une longueur.
  • L'objet ST_LineString est simple s'il n'intersecte pas son intérieur.
  • Les extrémités (la limite) d'un objet ST_LineString fermé occupent le même point dans l'espace.
  • Un objet ST_LineString est une boucle s'il est à la fois fermé et simple.
  • Les extrémités forment normalement la limite d'un objet ST_LineString, sauf s'il est fermé auquel cas la limite est NULL.
  • L'intérieur d'un objet ST_LineString est le chemin continu entre les extrémités, sauf s'il est fermé auquel cas l'intérieur est continu.

ST_Polygon

  • Surface bidimensionnelle stockée comme une séquence de points définissant sa boucle de contour extérieur et 0 ou plus boucles intérieures.
  • Un objet ST_Polygon dispose d'une surface et est toujours simple.
  • La boucle extérieure et toutes les boucles intérieures définissent la limite d'un objet ST_Polygon, et l'espace situé entre les boucles définit l'intérieur de l'objet ST_Polygon.
  • Les boucles d'un objet ST_Polygon peuvent s'intersecter en un point tangent mais ne peuvent se croiser.

ST_MultiPoint

  • Ensemble d'éléments ST_Point.
  • A une dimension de 0.
  • Un objet ST_MultiPoint est simple si ses éléments occupent tous des espaces de coordonnées différents.
  • La limite d'un objet ST_MultiPoint est NULL.

ST_MultiLineString

  • Ensemble d'éléments ST_LineString.
  • Les objets ST_MultiLineString ont une longueur.
  • Les objets ST_MultiLineString sont simples s'ils ne s'intersectent qu'aux extrémités des éléments ST_LineString.
  • Les objets ST_MultiLineString sont non simples si les intérieurs des éléments ST_LineString s'intersectent.
  • La limite d'un objet ST_MultiLineString est constituée par les extrémités non intersectées des éléments ST_LineString.
  • L'objet ST_MultiLineString est fermé si tous ses éléments ST_LineString sont fermés.
  • La limite d'un objet ST_MultiLineString est NULL si toutes les extrémités de tous les éléments sont intersectées.

ST_MultiPolygon

  • Ensemble de polygones.
  • Les objets ST_MultiPolygon ont une surface.
  • La limite d'un objet ST_MultiPolygon est la longueur cumulée des boucles extérieures et intérieures de ses éléments.
  • L'intérieur d'un objet ST_MultiPolygon est défini par les intérieurs cumulés de ses éléments ST_Polygon.
  • La limite d'un objet ST_MultiPolygon ne peut s'intersecter qu'en un point tangent.

Sous-types ST_Geometry

Notez que chaque sous-classe hérite des propriétés de la superclasse ST_Geometry mais possède également des propriétés qui lui sont propres. Les fonctions applicables au type de données ST_Geometry acceptent l'ensemble des types d'entités de sous-classe. Toutefois, certaines fonctions ont été définies au niveau de la sous-classe et acceptent uniquement certaines sous-classes. Par exemple, la fonction ST_GeometryN n'accepte en entrée que des valeurs de sous-type ST_MultiLinestring, ST_MultiPoint ou ST_MultiPolygon.

Géométrie PostGIS

PostGIS est un produit qui spatialise des bases de données PostgreSQL. PostGIS est conforme aux spécifications SQL de l'OGC (Open Geospatial Consortium, Inc.) des entités simples pour SQL (Structured Query Language). Il utilise les représentations OGC binaires (WKB) et textuelles (WKT) de la géométrie.

PostGIS possède deux options de types spatiaux : géométrie et géographie. Seule le type de géométrie est pris en charge avec ArcGIS.

Lorsque vous utilisez le type de stockage de géométries PostGIS avec ArcGIS, tenez compte des règles suivantes :

  • Vous devez utiliser le modèle de base de données PostGIS pour créer la base de données PostgreSQL que vous allez utiliser pour la géodatabase ou pour activer PostGIS dans la base de données.
    Remarque :

    Si vous créez votre géodatabase à l'aide de l'outil de géotraitement Créer la géodatabase d'entreprise, votre base de données est créée à l'aide d'un modèle autre que le modèle PostGIS. Par conséquent, si vous souhaitez utiliser le type de géométrie PostGIS, vous devez créer manuellement une base de données à l'aide du modèle PostGIS. Vous pouvez ensuite spécifier votre base de données existante lorsque vous exécutez l'outil de géotraitement Créer une géodatabase d'entreprise. La géodatabase sera créée à l'intérieur.

  • L'utilisateur sde et tout autre utilisateur qui crée des données dans la géodatabase doit se voir accorder des autorisations sur des tables PostGIS spécifiques.
  • Les classes d'entités que vous créez peuvent uniquement utiliser les références spatiales répertoriées dans la table public.spatial_ref_sys de PostGIS. Si vous spécifiez une référence spatiale qui ne figure pas dans cette table, la création de la classe d'entités échoue.
  • Vous devez spécifier un mot-clé de configuration contenant le paramètre GEOMETRY_STORAGE défini sur PG_GEOMETRY pour créer une classe d'entités qui utilise le type de géométrie PostGIS.
  • Vous ne pouvez pas renommer des tables spatiales stockées à l'aide du type de géométrie PostGIS. En effet il n'existe aucune fonction PostGIS permettant d'actualiser le nom de table dans la table public.geometry_columns.

Pour utiliser le type de géométrie PostGIS, vous devez installer PostGIS. Installez PostGIS après avoir installé PostgreSQL. Veillez à installer une version de PostGIS prise en charge par la version d'ArcGIS que vous souhaitez utiliser.

Lorsque vous installez PostGIS, un modèle de base de données PostGIS est créé dans le cluster de bases de données PostgreSQL. Utilisez le modèle de base de données PostGIS pour créer une base de données dans laquelle stocker votre géodatabase.

Accorder des privilèges pour créer des colonnes de géométrie PostGIS

Lorsqu'une base de données est activée pour PostGIS, deux tables (geometry_columns et spatial_ref_sys) sont créées dans la structure publique. Vous devez accorder au minimum les privilèges SELECT, INSERT, UPDATE et DELETE sur la table geometry_columns et SELECT sur la table spatial_ref_sys à l'utilisateur sde et à chaque utilisateur qui devra créer des données dans la géodatabase.

GRANT select, insert, update, delete 
ON TABLE public.geometry_columns 
TO <user_name>;

GRANT select
ON TABLE public.spatial_ref_sys
TO <user_name>;

Créer des classes d'entités qui utilisent la géométrie PostGIS

ArcGIS utilise un paramètre de configuration de la table sde_dbtune pour déterminer le type de données spatiales à utiliser lorsque vous créez une classe d'entités. Il s'agit du paramètre GEOMETRY_STORAGE. Pour les géodatabases dans PostgreSQL, il peut être défini sur ST_GEOMETRY ou sur PG_GEOMETRY (le paramètre pour le type de géométrie PostGIS). Par conséquent, lorsque vous souhaitez créer à l'aide d'ArcGIS une classe d'entités utilisant le type de géométrie PostGIS, spécifiez un mot-clé de configuration contenant le paramètre GEOMETRY_STORAGE défini sur PG_GEOMETRY.

Par défaut, les nouvelles classes d'entités utilisent le stockage ST_Geometry. Pour stocker la plupart de vos données avec les types de stockage PostGIS, définissez la valeur du paramètre GEOMETRY_STORAGE du mot-clé de configuration DEFAULTS de la table sde_dbtune sur PG_GEOMETRY. En revanche, pour stocker une partie de vos classes d'entités seulement avec le type de stockage PostGIS, vous pouvez spécifier le mot-clé de configuration PG_GEOMETRY lors de la création de votre classe d'entités. Une fois exporté de la géodatabase, le mot-clé PG_GEOMETRY apparaît sous la forme suivante :

##PG_GEOMETRY
GEOMETRY_STORAGE    "PG_GEOMETRY"
UI_TEXT             "User Interface text description for POSTGIS geometry storage" 
END

Les autres paramètres de stockage sont extraits du mot-clé DEFAULTS. Pour plus d'informations sur les paramètres et mots-clés de configuration, reportez-vous aux rubriques suivantes :

  • Mots-clés de configuration
  • Paramètres de configuration dans PostgreSQL

Utiliser des tables de géométrie existantes

ArcGIS peut utiliser les tables contenant des colonnes de géométrie PostGIS créées par des applications externes ou à l'aide de SQL (également nommées tables tierces) tant que chaque table respecte les conditions préalables suivantes :

  • Chaque table doit contenir une colonne de géométrie unique. Sinon, définissez une couche de requête ou une vue incluant uniquement l'une des colonnes de géométrie.
  • Les tables ne doivent pas contenir d'autres colonnes d'un type défini par l'utilisateur.
  • Les tables doivent comporter un seul type de géométrie (points, lignes ou polygones), pouvant éventuellement être de type multi-parties.
  • Chaque table doit contenir une colonne de nombres entiers, uniques, de valeur non NULL, appropriée comme colonne d'ID d'enregistrement inscrite.
  • Chaque table doit avoir un index spatial.

Pour plus d'informations sur la création de tables avec une colonne PostGIS à l'aide de SQL, consultez la documentation PostGIS.

Vous pouvez vous connecter à une base de données PostgreSQL qui contient des tables PostGIS d'ArcGIS for Desktop et les inscrire auprès de la géodatabase. Pour plus d'informations, reportez-vous à la rubrique Inscrire une table auprès de la géodatabase.

Types de données raster

Vous pouvez utiliser les types de données bytea ou ST_Raster pour stocker des rasters dans une géodatabase dans PostgreSQL. Bytea est utilisé par défaut. Pour utiliser ST_Raster, la géodatabase doit être configurée à cet effet.

Bytea

Bytea est un type de données de chaîne binaire à longueur variable utilisé par PostgreSQL. Il est semblable à un BLOB. Consultez la documentation PostgreSQL pour en savoir plus sur ce type de données.

ST_Raster

ST_Raster est un type de données défini par l'utilisateur que vous pouvez installer dans des géodatabases d'entreprise pour permettre un accès SQL aux données raster.

Pour utiliser le type ST_Raster, vous devez le configurer dans la base de données.

Pour obtenir davantage d'informations sur la définition d'un type d'objet ST_Raster, consultez la rubrique Type de données ST_Raster.

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • 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 © 2019 Esri. | Confidentialité | Légal