ArcGIS et le type de 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 :

Les sections suivantes contiennent plus d'informations sur l'utilisation du type de stockage de géométries PostGIS avec les applications ArcGIS.

Préparation de votre base de données pour l'utilisation de la géométrie PostGIS

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.

AstuceAstuce:

Consultez la page des exigences du système de base de données sur le Centre de ressources ArcGIS pour connaître la version de PostGIS prise en charge avec la version d'ArcGIS que vous utilisez.

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.

RemarqueRemarque :

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.

Accord de droits de création de tables comportant des colonnes de géométrie PostGIS aux utilisateurs

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éation de classes d'entités dans une géodatabase PostgreSQL à l'aide du stockage de géométries PostGIS

Dès lors que la base de données est activée pour le stockage de géométrie PostGIS, vous pouvez créer des tables spatialisées comprenant des colonnes spatiales de type géométrie. Ces colonnes spatiales permettent l'insertion d'entités géographiques.

Vous pouvez accéder aux tables spatialisées par l'intermédiaire d'ArcGIS for Desktop ou en créant des applications à l'aide de l'interface de programmation d'applications (API) ArcSDE C. Si vous êtes un programmeur SQL expérimenté, vous pouvez également faire appel aux fonctions spatiales.

Création de classes d'entités à l'aide d'ArcGIS

Le type de stockage de géométries utilisé pour les classes d'entités créées à l'aide d'ArcGIS est contrôlé par un paramètre défini dans la table sde_dbtune. 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, le type de stockage de géométrie des nouvelles classes d'entités dans une géodatabase ArcSDE pour PostgreSQL utilise 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é DEFAULTS de la table sde_dbtune sur PG_GEOMETRY. (Utilisez la commande sdedbtune pour modifier les paramètres de la table sde_dbtune. Pour plus de détails sur l'utilisation de cette commande, consultez le manuel ArcSDE Administration Command Reference.) En revanche, pour stocker une partie de vos classes d'entités seulement avec le type de stockage PostGIS, vous pouvez utiliser le mot-clé de configuration PG_GEOMETRY et le spécifier lors de la création de la classe d'entités. Dans le fichier dbtune.sde, qui peut être créé en exportant le contenu de la table sde_dbtune à l'aide de la commande sdedbtune, le mot-clé PG_GEOMETRY apparaît comme suit :

##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 le stockage sde_dbtune, reportez-vous aux rubriques suivantes :

Utilisation de tables PostGIS 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 :

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

Inscription de tables tierces contenant des colonnes de géométrie 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 Enregistrement d'une table dans la géodatabase.

Où trouver de la documentation sur PostGIS et PostgreSQL

Vous trouverez la documentation PostGIS sur le site Web de PostGIS : http://www.postgis.org/documentation/.

Pour obtenir des informations générales sur PostgreSQL, de la documentation est disponible sur le site Web de PostgreSQL : http://www.postgresql.org/docs/.

5/10/2014