#1 Fri 29 June 2007 04:29
- gvolny
- Participant occasionnel
- Lieu: Port-au-Prince (Haiti)
- Date d'inscription: 19 Apr 2006
- Messages: 17
Importation de donnees .txt sur MySql ou PostgreSQL.
Bonjour a tous,
Je dispose des donnees d'enquetes sous format .txt (les fiches d'enquetes ont ete saisies via des masques de saisies et sont disponibles sous forme d'un ensemble de fichiers txt correspondant un fichier par table) et je veux les importer dans des bases de donnees PostgreSQL ou MySQL et ulterieurement les representer dans un SIG. Tout d'abord je cree les tables et les colonnes dans les bases de donnees prealablement concues. Est ce que quelqu'un d'entre vous ne connaitrait un utilitaire permettant d'importer ces donnees .txt dans les tables postgreSQl ou Mysql? Il faut noter que pour MySql j'utilise pas PhpMyadmin.
Merci pour vos reponses,
Gregoire VOLNY
Hors ligne
#2 Fri 29 June 2007 10:04
Re: Importation de donnees .txt sur MySql ou PostgreSQL.
Suggestion :
1) convertir *.txt en *.dbf avec Excel (Données/Données externes...)
2) convertir *.dbf en MySQL avec dbf2MySQL (freeware d'Alexander Eltsyn à télécharger)
Cordialement
Hors ligne
#3 Fri 29 June 2007 11:07
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Importation de donnees .txt sur MySql ou PostgreSQL.
Dans Postgresql/Postgis
1°) Creer les tables correspondant aux fichiers TXT
2°) importer les données avec une commande COPY FROM using delimiter "delimiter"
3°) Ajotuer une colonne geographique aux tables devant contenir des objets geo:
select addGeometryColumn('public', 'matable', the_geom', ,,); (verifier la syntaxe dans la doc)
4°) peupler les colonnes geometriques avec des constructeurs de geometries qui vont bien. par exemple, une table avec deux champs x, y representant les coordonnées des points:
update matable set the_geom = ST_makePoint(x_col, y_col);
(ou makePoint(), suivant les versions).
Eventuellement associer le SRID defini dans addggeometryColumn, ca donne alors:
update matable set the_geom = setSRID(ST_makePoint(x_col, y_col), );
L'ideal est de mettre tout ca dans un script, histoire de pouvoir tester et relancer facilement
La meme approche est possible avec mysql, mais il y a moins de fonctions de manipulation des objets geo.
Pas de makepoint() par exemple, mais on peut faire en fabricant une representation WKT des objets a inserer a partir de leur coordonnées Le nom de la fonction de COPY m'echappe, mais il existe un equivalent.
nicolas
Hors ligne
#4 Sat 30 June 2007 02:45
- gvolny
- Participant occasionnel
- Lieu: Port-au-Prince (Haiti)
- Date d'inscription: 19 Apr 2006
- Messages: 17
Re: Importation de donnees .txt sur MySql ou PostgreSQL.
Bonsoir Messieurs,
Milles mercis pour vos reponses. En fait Jusqu'a present je travaillais avec Access pour faire ce genre de travail. Je concois les bases de donnees a reference spatiale et des fiches d'enquete pour Base de donnees a reference spatiale. Je programme les formulaires electroniques(masque de saisie) utilisant SPSS data entry, Cspro et autres access, j'opere la saisie informatisee des donnees. Je migre les donnees format .txt dans les bases de donnees prealablement concus et enfin je realise une connection ODBC entre les bases de donnees et les logiciels de SIG pour numeriser , presenter les donnees. Jusqu'a present j'utilisais access, mais vu le volume de donnees que je traite, il arrive souvent a rencontrer des problemes avec Access qui limite le nombre de champs(colonnes) des tables. C'est pour ca que je migre vers MySQL et surtout PostgreSQL/PostGIS. Encore une fois merci.
Cordialement,
Gregoire VOLNY
Hors ligne