Connexion PostgreSQL / PostGIS avec ArcGIS

Rédigé par Eric - -

Depuis la version 10.0 d'ArcGis, il est possible de charger des couches géographiques directement depuis PostGIS en natif. En suivant ce didacticiel, il vous sera possible d'afficher des couches depuis ArcMap.
_______________________________________________________________________
Pré-requis :

ArcGIS 10.x basic ou supérieur (les captures viennent d'une version ArcGis 10.3.1)
un serveur PostgreSQL 9.1 / 9.2


Important : Se rapprocher de votre correspondant informatique pour demander l'ouverture du port 5432 par la DSI.
Le port 5432 est le port utilisé afin que le pare-feu autorise PostGreSQL à accéder à votre ordinateur.
_________________________________________________________________________
Installation du pilote :
L'installation par défaut ne prend pas en charge les connexions PostGres/PostGIs, il faut installer des DLL
supplémentaires.

En fonction de votre système d'exploitation et de la version PostGres sur laquelle vous voulez vous connecter, veuillez choisir les DLL correspondants.
(pour exemple, la version PostGres du Département est en version 9.1.9, donc nous vous conseillons de prendre les dll pour le client le plus proche c'est à dire : 9.2.2)

Exemple de DLL pour le client PostgreSQL 9.2.2 en et système d'exploitation 32 bits et 64 bits


Pour connaître le type de système d'exploitation de votre ordinateur : cliquez ici

Nous avons mis à disposition les fichiers DLL pour la version ArcMap 10.3.1, téléchargez le fichier ZIP en suivant ce lien
Copiez ensuite les DLL et placez les dans le dossier suivant :

   pour Windows 64 bits


   pour Windows 32 bits

Une fois cela effectué, pour devriez pouvoir charger des couches géographiques depuis ArcMap.

Chargement des données spatiales dans ArcGis (1ère procédure)

Dans ArcMap, allez dans une barre d'outils et cliquez sur "Personnaliser"

ou
Cliquez sur l'onglet "Personnaliser" , puis "Mode personnalisation"


tapez le mot clé couche ou requête. le bouton se nomme "Ajouter une couche de requête"



faites glisser ce bouton dans la barre d'outils. Puis cliquez dessus.
Vous déclenchez alors le fenêtre "nouvelle couche de requête", vous pouvez créer une nouvelle connexion en cliquant sur le bouton connexion

pour accéder à la base de données, vous trouverez dans le Géoportail93 les codes de connexion et le nom de la table dans chaque fiche de métadonnées (à l'onglet accès).

vous aurez accès à PostGIS en lecture seule.

exemple :
pour la couche des collèges.


Ensuite en re-cliquant sur connexion, vous devriez voir s'afficher la liste de vos couches.


Vous pouvez constater qu'une fenêtre de requête SQL apparait, vous pouvez donc modifier et filtrer vos données avant l'affichage de la couche dans la carte.
Bien penser à donner un nom, cliquez sur "afficher les options avancées" et ensuite sur "valider".

il vous sera demandé dans certains cas, de sélectionner un identifiant unique > Sélectionnez un identifiant unique pour continuer.

Cette manipulation est optionnelle, mais parfois ArcGis ne reconnait pas la clé primaire et coche tout. Cela aboutit bien souvent à un plantage du logiciel ou à une couche vide.
Cliquer sur OK,
Une fenêtre "Calculer l'étendue" apparaîtra, patientez.

Vous affichez désormais vos couches PostGis. Celles-ci se comportent comme n'importe quelle autres sources de données.



Chargement des données spatiales ou attributaires (méthode2)

Vous pouvez aussi passer par le menu catalogue, en vous rendant sur l'onglet "Connexions aux bases de données"




Comme pour le première procédure, vous trouverez les login de connexion dans les fiches métadonnées de chaque couche dans le Géoportail93 (accès en lecture seule).

Exemple avec la couche des collèges :


une fois la connexion établie entre ArcGis et le serveur, cliquez sur "Connecter" pour afficher les couches géographiques et
les tables de données.


les couches géographiques s'affichent.


Ensuite, un simple "glisser/déposer" suffit.



Lorsqu'il n'est pas capable de détecter la cé, ArcMap ouvrira la boite de dialogue vous permettant de définir l'ID unique.
En revanche vous n'aurez pas la vue SQL très utile pour filtrer les données en amont.

la couche est maintenant dans votre carte.



Avec cette méthode, vous pouvez très simplement charger les tables attributaires PostGreSQL (icone sans la bulle blanche) de la même manière : tout se comporte comme une table attributaire de type dbf, excel ou access.

bon courage !

Les commentaires sont fermés.