Connexion_a_une_BD_Access_dans_QGis_2_sous_Windows_7

publicité
Connexion entre une BD Access 2003
et QGis 2.2 et supérieures sous Windows 7
Les explications ci-dessous décrivent comment établir une connexion à une base de données
Access dans QGis 2.2 et supérieures.
NB : Cette connexion ne fonctionne qu’avec la version 32 bits de QGis dans les versions
suivantes :
- Version 2.8.1 (Wien)
- Version 2.6.1 (Brighton)
- Version 2.4.0 (Chugiak)
- Version 2.2.0 (Valmiera)
Ces versions 32 bits de QGis peuvent être installées et fonctionner sans problème sur
Windows 7 qui est pourtant un système 64 bits.
La version 32 bits de QGis 2.8.1 est à télécharger ici : http://qgis.org/downloads/QGISOSGeo4W-2.8.1-1-Setup-x86.exe
1. Etablir une connexion à une BD Access avec l'administrateur ODBC 32 bits
Ouvrir le fichier odbcad32.exe (l'administrateur ODBC 32 bits) qui se trouve dans
C:\Windows\SysWOW64
Cliquer sur « Démarrer ». Taper C:\Windows\SysWOW64 puis cliquer sur le fichier
odbcad32.exe qui apparaît.
Le panneau suivant s’ouvre :
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
1
Cliquer sur le bouton « Ajouter… ».
Le panneau suivant s’ouvre :
Cliquer sur « Terminer ».
Le panneau suivant s’ouvre :
Cliquer sur « Sélectionner ».
Le panneau suivant s’ouvre :
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
2
Parcourir les dossiers et sélectionner le fichier Access avec lequel la connexion doit être
établie. Le fichier doit avoir un suffixe .mdb.
Cliquer sur « OK ».
Dans le panneau suivant, la connexion avec le fichier .mdb sélectionné doit apparaître.
Cliquer sur « OK ».
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
3
La connexion avec la base de données Access apparaît dans la liste des connexions
maintenant établies.
2. Connexion à une BD Access dans QGis 2.2 et supérieures
Une fois la connexion établie entre Access et QGis par le connecteur ODBC, on peut afficher
la ou les tables de la base de données dans QGis par trois fonctionnalités différentes de QGis :
- « Ajouter une base de données »
- « Ajouter une couche vecteur »
- « Connexion eVis à une base de données »
2.1 Fonctionnalité « Ajouter une base de données »
Dans QGis, cliquer sur « Ajouter une couche vecteur ».
Le panneau suivant apparaît :
Sélectionner « Base de données ».
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
4
Le panneau se développe ainsi dans sa partie inférieure :
Créer une nouvelle connexion ODBC en cliquant sur « Nouveau »
Le panneau suivant apparaît :
Choisir le type ODBC dans la liste des types de connexion à des bases de données.
Saisir ainsi les paramètres de connexion à la base de données :
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
5
Cliquer sur « Tester la connexion ».
Le panneau suivant apparaît :
La connexion à la base de données est établie.
Cliquer sur « OK ». puis à nouveau « OK » sur le panneau suivant.
La connexion apparaît dans la liste des connexions ODBC disponibles dans le panneau
suivant :
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
6
Sélectionner cette connexion ODBC et cliquer sur « Ouvrir ».
Le panneau suivant apparaît.
Cliquer sur « OK » sans entrer de mot de passe.
La liste des tables de la base de données apparaît.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
7
NB : Les noms de tables avec des caractères spéciaux (ex.: accents) ne sont pas gérés. Le
nom de la table apparaît dans la liste mais n’apparait pas dans la liste des couches de
QGis si elle est sélectionnée.
Il faut alors revenir dans Access et changer les noms des tables qui comprennent des
caractères spéciaux et les remplacer par des caractères normaux, non accentués.
Il faut ensuite choisir la table qu’on souhaite afficher dans QGis.
On voit que les tables Access n’ont pas de géométrie puisque le champ Type de géométrie est
marqué « Unknowm » (inconnu).
Cliquer sur « OK ».
La table sélectionnée apparaît dans la liste des couches de QGis.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
8
Comme la table Access n’a pas de géométrie, elle ne peut pas apparaître comme une couche
d’entités géométrique.
Néanmoins, les champs de la table Access peuvent être affichés dans les propriétés de cette
couche.
Si la table Access comporte deux champs permettant la création d’un fichier de points à partir
d’un couple de coordonnées X et Y, on peut utiliser la fonction « Save attribute table as Point
shape file ». Cette fonction se trouve dans l’extension XY Tools qu’il faut avoir installée
préalablement. Une fois installée, cette extension se trouve dans le menu « Vecteur ».
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
9
Le panneau suivant apparaît.
Il faut choisir la colonne pour la valeur de la coordonnée X et celle pour la coordonnée Y.
Cliquer sur « OK ».
Le panneau suivant apparaît :
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
10
Il faut choisir l’emplacement et le nom pour le fichier shape à créer.
Puis cliquer sur « Enregistrer ».
Un message indique que la création du fichier shape de points est réussie.
Il faut ensuite afficher le fichier shape nouvellement créé en cliquant sur « Ajouter une couche
vecteur ».
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
11
Le fichier shape apparaît dans la liste des couches dans QGis.
Par défaut, le SCR n’est pas défini ou alors il est défini avec sa valeur par défaut le WGS84.
Il faut le changer si le projet ne se trouve pas dans ce SCR par défaut, comme il faut le faire
pour n’importe quelle autre couche.
Il faut afficher les propriétés de cette couche et, dans l’onglet Général, choisir le SCR du
projet en cours.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
12
Le fichier apparaît alors à son emplacement en fonction des valeurs des champs X et Y qui
ont servi à le créer.
La table attributaire de ce fichier vecteur est constituée par l’ensemble des champs de la table
Access.
2.2 Fonctionnalité « Ajouter une couche vecteur »
Quand la connexion avec un fichier Access est établie, on peut afficher une ou plusieurs
tables de ce fichier Access en cliquant sur « Ajouter une couche vecteur ».
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
13
Cliquer sur « Parcourir » pour trouver et choisir le fichier .mdb avec lequel la connexion a été
établie.
Une fois le fichier .mdb sélectionné, cliquer sur « Ouvrir ».
Le panneau suivant apparaît avec le fichier sélectionné.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
14
Cliquer sur « Ouvrir ».
La ou les tables de la BD Access apparaissent comme pour la fonctionnalité d’ajout de la base
de données.
2.3 Fonctionnalité « Connexion eVis à une base de données »
Cliquer sur l’outil « Connexion eVis à une base de données »
Le panneau suivant apparaît :
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
15
Sélectionner ODBC dans la liste « Type de la base de données ».
Saisir ainsi les paramètres de connexion à la base de données puis cliquer sur « Connecter »:
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
16
Cliquer sur « Requête SQL ».
La fenêtre pour saisir la requête SQL apparaît :
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
17
Dans cette fenêtre, saisir une requête par exemple :
SELECT * FROM T_Operation2
Cette requête va permettre de sélectionner tous les enregistrements et tous les champs de la
table T_Operation2.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
18
Cliquer sur « Exécuter la requête ».
Le panneau suivant apparaît :
Choisir un nom pour la nouvelle couche à créer à partir du résultat de la requête.
Choisir les champs X et Y qui vont servir à créer un fichier de points.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
19
Cliquer sur « OK ».
Le fichier résultat de la requête est créé et il apparaît dans la liste des couches dans QGis.
Le fichier shape n’est pas encore créé. Mais les données attributaires sont disponibles.
NB : Dans les tables attributaires, les caractères spéciaux (ex.: accents) ne sont pas gérés.
Ils apparaissent sous la forme de symboles.
Il faut changer l’encodage des tables dans QGis. Dans les propriétés de la table Access, il faut
afficher les propriétés. Dans l’onglet Général, il faut choisir l’encodage System.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
20
Les données avec des caractères spéciaux apparaissent alors correctement.
A partir de ce fichier, il est possible de créer un fichier shape de points avec la fonction
« Save attribute table as Point shape file » comme cela a déjà été décrit ci-dessus.
Dans ce cas, les données attributaires de ce fichier de points sont toutes celles qui ont été
sélectionnée par la requête SQL.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
21
3. Liens dynamiques dans QGis entre une BD Access et un fichier shape par jointure
Une fois qu’une ou plusieurs tables d’un fichier Access sont affichées dans un projet QGis, il
est possible d’établir une jointure avec le fichier shape de points créé selon la procédure cidessus.
Pour cela, il suffit de créer une jointure selon les principes de cette fonction dans QGis.
Une fois cette jointure créée, il faut enregistrer le projet QGis.
Si la ou les tables du fichier Access sont ensuite modifiées dans Access, les données mises à
jour pourront apparaître dans le résultat de la jointure dans QGis.
Mais pour cela, il faut quitter le fichier Access après la mise à jour des données dans celui-ci
(ou au moins la table) et rouvrir le fichier du projet QGis pour que la mise à jour soit prise en
compte dans QGis.
Connexion entre une BD Access 2003 et QGis 2.2 et supérieures sous Windows 7 – C. TUFFERY
(juillet 2015)
22
Téléchargement