#1 Wed 25 March 2009 16:22
- Ouistiti
- Participant actif
- Date d'inscription: 4 Jun 2008
- Messages: 58
Importer des mdb dans PostGIS
Bonjour,
Je voudrais savoir s'il existe un moyen pour importer des base de données Access dans Postgres sans passer par ArcGIS.
Cordialement.
Le Ouistiti
Hors ligne
#2 Wed 25 March 2009 18:06
- geomaticienTN
- Juste Inscrit !
- Lieu: tunis, tunisie
- Date d'inscription: 31 Aug 2006
- Messages: 6
Re: Importer des mdb dans PostGIS
bonjour,
Juste une petite remarque, Est ce que vous parlez d'une Geodatabse (ESRI) ou juste une base de données alphanumérique.
si le premier cas :il faut reconvertir en shapefile
créer la même structure sous postgreSQL
puis par la commande postgreSQL/postgis shp2pgsql tu intègres les données sous postgreSQL
Si tu disposes uniquement une base de données alphanumérique
tu exportes les données en csv puis par la commande copy tu intègres les données sous postgres juste respecte la structure de la base
j'espère que je t'ai aidé
Bonne continuation
hatem BEN HASSINE
Spécialiste en système d'informations géographiques
Cordialement
Hatem BEN HASSINE
Chef de projet en SIG
Hors ligne
#3 Wed 25 March 2009 19:36
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Importer des mdb dans PostGIS
Aloha
FME ?
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#4 Wed 25 March 2009 20:21
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: Importer des mdb dans PostGIS
Bonjour,
s'il s'agit d'une table sous access, il y a un moyen assez facile, c'est de créer un lien odbc.
Pour cela il faut télécharger le driver odbc de postgresql.
http://www.postgresql.org/ftp/odbc/versions/msi/
Puis sous access, faire un export de la table avec ce lien ODBC.
ce qui est bien est que l'on garde la dimension des attributs.
Le seul souci peut être la taille du fichier. Si plusieurs million de lignes, oubliez et passez par la commande copy
Pascal PLUVINET
Hors ligne
#5 Thu 26 March 2009 12:44
- Ouistiti
- Participant actif
- Date d'inscription: 4 Jun 2008
- Messages: 58
Re: Importer des mdb dans PostGIS
Bonjour,
Tout d'abord concernant FME, c'est effectivement quelque chose de ce genre qui me conviendrai. Mon soucis est que ce logiciel est payant et je ne sais pas s'il prend en charge les base de données ACCESS (à vérifier...). J'ai donc penser à la version OpenSource de FME soit Talend... Bon je vous avoue je suis novice dans le domaine et je ne sais pas ce que vaut ce logiciel, cependant après téléchargement j'ai abandonné devant la vraisemblable complexité de la machine !! Par contre si une personne me dit que c'est ce qu'il me faut alors je me retrousserai les manches bien sur...
Ensuite, concernant le lien ODBC, il convient seulement pour UNE table ? ou permet aussi de créer un lien vers une base de données ACCESS ? (à vérifier aussi ...)
Enfin, concernant la solution de geomaticenTN, cela m'obligerai de faire la manipulation pour chacun des fichiers contenu dans ma base de données ACCESS ? (D'ailleurs celle-ci contient à la fois des tables géographiques et des tables attributaires...)
Le Ouistiti
Hors ligne
#6 Thu 26 March 2009 13:00
Re: Importer des mdb dans PostGIS
Ouististi,
TOS répond à vos besoin. Mais il est complexe à prendre en main (j'en sais quelque chose, je l'utilise au quotidien depuis plusieurs semaines/mois).
As tu regardé du coté de Kexi ou de OpenOffice.org ?
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Thu 26 March 2009 13:20
Re: Importer des mdb dans PostGIS
Bonjour
Tu parles de tables géographiques et de tables attributaires dans ta base acces, ça ressemble fortement à une geodatabase personnelle esri. Si c'est le cas ogr2ogr doit faire l'affaire puisque ogr supporte les géodatabase http://www.gdal.org/ogr/ogr_formats.html
En tout cas il faut que tu fasses attention car si c'est une géodatabase et que tu dois récupérer l'aspect géographique, il te faut un outil spécialisé pour cela, par exemple, ce n'est pas tos qu'il faudra mais spatial data integrator qui rajoutera l'aspect spatial à tos et de la même manière une connexion odbc te permettra de récupérer tout ce que tu veux mais pas que ta partie spatiale se retrouve dans postgis ...
Donc attention à cela en fonction de ce que tu as vraiment besoin.
Dernière modification par Ludo (Thu 26 March 2009 13:21)
Hors ligne
#8 Thu 26 March 2009 13:35
Re: Importer des mdb dans PostGIS
Ludo,
Attention SDI ne lit pas les geodatabase d'esri. seulement les shp et les fichiers au format MapInfo, et PostGIS bien sur
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#9 Thu 26 March 2009 13:37
Re: Importer des mdb dans PostGIS
rha lala et voila ce que c'est que répondre sans avoir essayé, merci de la précision Yves, en tout cas le raisonnement reste valable, à savoir quelles sont tes données géographiques ? comment sont elle stockées ? et souhaites tu les récupérer ?
Hors ligne
#10 Fri 27 March 2009 12:20
- Ouistiti
- Participant actif
- Date d'inscription: 4 Jun 2008
- Messages: 58
Re: Importer des mdb dans PostGIS
Bonjour à tous et merci pour vos réponses.
Apparemment OpenOffice pourrait résoudre mon problème selon le tutoriel suivant :
http://fr.openoffice.org/Documentation/ … migrfr.pdf
Mais dans ce tutoriel, il n'est pas question de base de données géographiques... est ce que le lien ODBC me permettra de récupérer mes champs de géométrie ? Si vous avez déjà la réponse tenez moi au courant, sinon je vous redirai ça quand je l'aurai testé...
En parlant de test, j'ai une configuration Windows XP sur laquelle je fais tourner une machine virtuelle (VirtualBox avec un invité Unbuntu 8.04 sur lequel sont installés Apache, Php5, MapServer, PostGIS et Mapfish pour développer un Web-SIG). Cependant, pour le tutoriel d'OpenOffice, il faut que ces deux machines communiquent en réseau. J'ai bien essayé de configurer la mise en réseau de ma machine virtuelle selon le tuto suivant :
http://naeh.net/virtualbox-configurer-l … virtuelle/ et avec l'aide de divers post sur divers forum.
Mais cela ne fonctionne pas, je vous passe les détails (à moins que quelqu'un puisse m'aider...? ). En fait, je voudrai savoir si vous connaissez un forum ou autre qui me permettrai de poser mon problème et de configurer la mise en réseau de ma machine virtuelle.
Cordialement.
Le Ouistiti
Hors ligne
#11 Wed 01 April 2009 13:03
- Ouistiti
- Participant actif
- Date d'inscription: 4 Jun 2008
- Messages: 58
Re: Importer des mdb dans PostGIS
Bonjour,
J'ai enfin pu tester un peu de tout pour importer du mdb dans postgis. Voici mes commentaires (et quelques questions... pour pas changer)
Donc tout d'abord, j'ai essayé avec le tutoriel proposé par OpenOffice.org qui utilise une connexion ODBC : ça na pas marché :-s j'avais un message d'erreur "L'appel ODBC a échoué". Donc après plusieurs essais j'ai abandonné cette solution.
Je me suis alors tourné vers ogr2ogr car dans mes recherches je suis tombé par hasard sur le fait qu'ogr gère les connexions ODBC (avec un driver bien sur...). Après plusieurs test et des problèmes au niveau des encodages différents entre postgis et MS Access, je me suis rendu compte que mon import bien qu'ayant fonctionné (ma table et tout mes enregistrements étaient dans postgis, NB: bien utile l'import de toutes les tables du mdb en meme tps est possible). Cependant, mon champs de géométrie (the_geom) étaient vides pour les tables ayant des attributs géographiques !! Alors question : comment sont stockés les attribut géographiques dans un mdb (sachant que je peux ouvrir directement ces tables provenant du mdb dans ArcGIS) !! et ya t'il un moyen pour que ogr2ogr récupère ces informations ?
Enfin, la dernière solution que j'avais testé auparavant, c'est d'exporter mes tables en shp depuis ArcGIS et de les importer une par une (j'en ferais certainement un script quand le moment viendra histoire de pas y passer ma vie). Ici tout marche très bien SAUF que au niveau de l'export des tables en shp les noms des champs sont tronqués à 10 caractères... Ya t'il un moyen de pallier a ce problème?
Donc voila un peu pour mes imports de mdb vers postgis. j'espère que vous pourrez répondre à mes petites questions subsidiaires.
Cordialement.
Le Ouistiti
Hors ligne
#12 Wed 01 April 2009 13:14
Re: Importer des mdb dans PostGIS
Bonjour,
Cependant, mon champs de géométrie (the_geom) étaient vides pour les tables ayant des attributs géographiques !! Alors question : comment sont stockés les attribut géographiques dans un mdb (sachant que je peux ouvrir directement ces tables provenant du mdb dans ArcGIS) !! et y a t'il un moyen pour que ogr2ogr récupère ces informations ?
Je ne pense pas et c'est bien cela le problème des formats propriétaires, vous en faîte cruellement l'expérience.
Enfin, la dernière solution que j'avais testé auparavant, c'est d'exporter mes tables en shp depuis ArcGIS et de les importer une par une (j'en ferais certainement un script quand le moment viendra histoire de pas y passer ma vie). Ici tout marche très bien SAUF que au niveau de l'export des tables en shp les noms des champs sont tronqués à 10 caractères... Ya t'il un moyen de pallier a ce problème?
En passant par un autre format, tel que le mif/mid, tab, etc. Cette limitation est dû au format DBF.
Bon courage,
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#13 Wed 01 April 2009 13:24
- freesnowpetrel
- Participant assidu
- Lieu: Pretoria, Afrique du Sud
- Date d'inscription: 1 Mar 2007
- Messages: 222
Re: Importer des mdb dans PostGIS
Bonjour,
Si si, c'est possible, OGR sait lire les geodatabase Arcgis, en tout cas les geodatabases personnelles au format Acces:
Source: http://www.gdal.org/ogr/drv_pgeo.html
Je ne l'ai pas fait recemment et je ne sais plus comment j'ai fait mais je l'ai fait avec ogr2ogr il y a un an ou deux et j'ai pu recuperer mes geometries sans avoir a convertir dans un autre format au prealable.
J'ai aussi reussis a afficher directement les geometries de ma geodatabase avec mapserver qui utilise OGR pour lire les donnees.
Tiens regardes cette page en anglais, chapitre:ESRI GeoDatabase (MDB format), ils te donnent la syntaxe.
A+
Rodolphe
Dernière modification par freesnowpetrel (Wed 01 April 2009 13:28)
Hors ligne
#14 Wed 01 April 2009 13:32
Re: Importer des mdb dans PostGIS
Bonjour,
Si si, c'est possible, OGR sait lire les geodatabase Arcgis, en tout cas les geodatabases personnelles au format Acces:
Source: http://www.gdal.org/ogr/drv_pgeo.html
Aaarhg, mais bien sur ! Cela me titillait bien un peu mais là je suis passé à côté
Merci Rodolphe
Y.
Dernière modification par Yves (Wed 01 April 2009 13:33)
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#15 Wed 01 April 2009 14:27
- Ouistiti
- Participant actif
- Date d'inscription: 4 Jun 2008
- Messages: 58
Re: Importer des mdb dans PostGIS
Effectivement,
Ca marche nikel !!!! merci !
Bizarrement, j'avais essayé de lire le mdb de cette facon au début de mes recherches mais ca n'avait pas marché.... j'avais peu etre oublié quelque chose.. bref l'essentiel est que maintenant ca marche.
Du coup, j'ai une question qui me trotte :
Est-ce que c'est la connexion via ODBC qui aurait provoqué le vide dans mes colonnes géométriques comme dit précédemment ?? Je reformule : est-ce que ODBC gère les informations géographiques ? Si oui, je comprends pas pourquoi ça n'a pas marché.je vous met la commande utilisée précédemment au cas ou vous pourriez me l'expliquer :
Code:
ogr2ogr -overwrite -f "PostgreSQL" PG:"host=*** port=*** dbname=*** user=*** password=***" ODBC:"test" SITES -lco GEOMETRY_NAME=the_geom
En tout cas merci encore pour le reste !!
Le Ouistiti
Hors ligne
#16 Wed 01 April 2009 14:41
Re: Importer des mdb dans PostGIS
Dommage que tu n'es pas lu correctement tous les postes car je t'avais parlé de ça dans un précédent post ... (tu aurais gagné du temps )
A mon avis le problème principal, c'est que ce n'est pas une simple base access que tu as à disposition mais une géodatabase personnelle ESRI qui stockent la géométrie d'une manière particulière et dans un format propriétaire. Il te faut donc un outil qui sache lire le format des géodatabase personnelles esri.
Hors ligne
#17 Wed 01 April 2009 14:57
- Ouistiti
- Participant actif
- Date d'inscription: 4 Jun 2008
- Messages: 58
Re: Importer des mdb dans PostGIS
C'est vrai que tu me l'avais dit plus tôt mais justement j'avais un problème avec le PGeo qui semble maintenant résolu et ce par je ne sais quel miracle... du coup je pensai que c'était mort pour cette option...
Donc en gros l'ODBC ne sait pas lire les géodatabase personnelles ESRI, du moins pas la partie qui stocke la géométrie... OK ca me rassure, la bourde ne venait pas d'une erreur de je ne sais trop quoi mais juste du mauvais driver utilisé
Merci en tout cas.
Cordialement.
Le Ouistiti
Hors ligne
#18 Wed 01 April 2009 15:03
- freesnowpetrel
- Participant assidu
- Lieu: Pretoria, Afrique du Sud
- Date d'inscription: 1 Mar 2007
- Messages: 222
Re: Importer des mdb dans PostGIS
Re bonjour
Dans la doc du PGeo driver d'OGR il disent :
OGR optionally supports reading ESRI Personal GeoDatabase .mdb files via ODBC.
Donc OGR via le PGeo driver utilise une connection ODBC pour acceder aux donnees geometriques.
Je suppose que la difference viens du fait que dans un cas, OGR utilise le PGeo driver pour lire le format proprietaire des donnees geometriques stockees dans la base et dans le cas d'une simple liaison ODBC il ne peut pas lire ce format de geometries ou en tout cas ne le reconnais pas comme geometries...
Rodolphe
Hors ligne
#19 Thu 17 November 2011 19:06
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: Importer des mdb dans PostGIS
Bonjour,
Je relance ce sujet car je suis actuellement bloqué sur l'utilisation de la fameuse commande ogr2ogr pour insérer une mdb dans PostGis. Je travaille sous Ubuntu.
J'ai scrupuleusement suivi les instructions données sur http://www.gdal.org/ogr/drv_pgeo.html.
J'ai utilisé Aptitude pour installer les dernières versions de libmdbodbc, gdal-bin et mdbtools. J'ai installé manuellement unixodbc.
J'ai correctement configuré mes fichiers /etc/odbcinst.ini et ~/.odbc.ini. Mon fichier /usr/lib/libmdbodbc.so.0 existe bien. Lorsque j'appelle la commande odbcinst, elle me renvoie le bon driver et le bon DSN. Les exécutables ogrinfo et ogr2ogr se trouvent bien dans usr/bin. La commande mdb-tables fonctionne également sur ma géodatabase.
Sauf que lorsque je teste ogrinfo sur ma geodatabase, j'obtiens l'erreur suivante :
Code:
geometre@serveurg:~$ ogrinfo PGeo:plu_nanterre ERROR 1: PGeo: MDB Tools driver not found! ERROR 1: Unable to install MDB driver for ODBC! ERROR 1: PGeo: MDB Tools driver not found! ERROR 1: Unable to install MDB driver for ODBC! FAILURE: Unable to open datasource `PGeo:p_nanterre' with the following drivers. -> ESRI Shapefile -> MapInfo File -> UK .NTF -> SDTS -> TIGER -> S57 -> DGN -> VRT -> AVCBin -> REC -> Memory -> CSV -> GML -> KML -> Interlis 1 -> Interlis 2 -> SQLite -> ODBC -> PGeo -> OGDI -> PostgreSQL -> MySQL
PGeo ne semble pas trouver le driver mdbtools... J'ai longuement cherché sur le net d'où peut provenir cette erreur mais sans succès.
D'avance merci pour toute aide ou toute idée. Je peux afficher le détail de mes fichiers ini si besoin.
Vianney
Vianney Dugrain
Hors ligne
#20 Fri 18 November 2011 11:14
- VianneyD
- Participant assidu
- Date d'inscription: 30 May 2011
- Messages: 153
Re: Importer des mdb dans PostGIS
OK, j'ai trouvé le problème :
Lors de l'installation avec Aptitude, gdal a été configuré par défaut et aucun lien n'a été fait avec l'ODBC. Il m'a donc fallu désinstaller gdal, et installer manuellement le paquet source gdal-1.8.1 (http://trac.osgeo.org/gdal/wiki/DownloadSource) en précisant le chemin vers l'odbc :
Code:
cd gdal ./ configure --with-odbc=/usr/local/odbc make sudo make install
Et ne pas oublier d'ajouter le chemin vers les librairies au LD_LIBRARY_PATH :
Code:
export LD_LIBRARY_PATH=/usr/local/lib
En espérant que cela puisse servir à d'autres.
Vianney Dugrain
Hors ligne