#1 Fri 11 February 2011 08:59
- romain-govaere
- Participant occasionnel
- Lieu: Bordeaux
- Date d'inscription: 9 Apr 2009
- Messages: 32
MapInfo, Postgres/Postgis, erreur d'import de données
Bonjour,
Je mets mon problème dans la section MapInfo car je pense que c'est de ce côté que viens le problème (test réalisé avec AutoCAD Map sans problème)
Je souhaite importer dans Postgres/Postgis des fichiers MapInfo (TAB).
Je suis en environnement Windows 7 64 bits, Postgres 8.4.7.1 (postgresql-8.4.7-1-windows.exe), Postgis 1.4 (postgis_1_4_pg84.exe), MApInfo 10.0, odbc : psqlodbc-08_02_0300.
Suite à mes différentes installations, j'ai noté qu'il fallait créer une nouvelle base avec un encodage particulier, le win1252 au lieu de l'UTF8 :
pg_dump -U postgres -E WIN1252 template_postgis > c:\template_postgis.sql
createdb -U postgres -E WIN1252 -T template0 template_postgis_WIN1252
psql -d template_postgis_WIN1252 -f c:\template_postgis.sql -U postgres
puis création d'une nouvelle base de données MONICA via pgAdmin en utilisant le template postgis_win1252
j'ai modifié le fichier postgresql.conf pour que l'encodage y soit précisé aussi : "client_encoding = win1252"
je vais maintenant dans MapInfo, je lance easyloader 10.0.13, dans les informations de connexion, je pointe sur ma connexion base de données système, (qui tape sur ma base de données MONICA avec le bon encodage), j'indique le fichier .TAB que je souhaite importer, la première fois, j'ai du créer un catalogue de carte, dans les paramètre, je travaille bien en arrivée sur ma base PostGIS spatiale.
Message d'erreur lors de l'import :
Echec de l'insertion pour la ligne : 1 commune
ERREUR : séquence d'octets invalide pour l'encodage "WIN1252" : 0*00;
Error while executing the query
Valeur de données : 1
J'ai réalisé plusieurs tests, en créer un fichier TAB le plus simple possible, je pars d'un fichier TAB vide, je créer une colonne sans majuscule, sans accent ou caractère spéciaux, j'ai testé en créant simplement un point, cela ne fonctionne pas, seulement une ligne, etc. idem, seul les entités de type texte passent sinon, j'ai toujours le message d'erreur du même type que celui indiqué.
Avez vous des idées pour réaliser ce traitement avec MapInfo uniquement (je sais que je pourrais utiliser d'autres logiciels mais le but est vraiment d'obtenir la compatibilité avec MapInfo), des indications sur le paramétrage, des documents à consulter ?
j'ai pas mal chercher sur différents sites mais je reste bloqué pour le moment.
Un grand merci pour votre aide !
Romain
Hors ligne
#2 Sat 12 February 2011 08:02
Re: MapInfo, Postgres/Postgis, erreur d'import de données
Bonjour
S'il n'y a que les données "texte" qui passent c'est peut être que ta table postgis est définie en tant que couche d'annotation (colonne spatialtype table mapinfocatalog, (c'est la table que créé easylaoder dans postgis)).
Vu que postgis ne gère qu'un type d'objet (contrairement à Mapinfo), et que tu peux faire des annotations, ça vient peut être de là!
Pour ma part, de mémoire, dans ma table mapinfocatalog et dans ce premier champ, il est noter 19 pour des points, 19,1 pour des lignes, 19,2 pour des polygones, 19,4 pour les annotations.
J'espère que j'ai réussi à t'orienter au moins un peu. Tiens nous au courant, et bon courage
Dernière modification par cyril_c (Sat 12 February 2011 08:08)
Hors ligne
#3 Mon 14 February 2011 08:50
- romain-govaere
- Participant occasionnel
- Lieu: Bordeaux
- Date d'inscription: 9 Apr 2009
- Messages: 32
Re: MapInfo, Postgres/Postgis, erreur d'import de données
hello et merci pour ta réponse,
la colonne spatial type contient bien les différentes valeurs de mes essais : 19.1 , 19.2 , 19.3
Les tables se créées bien mais il n'y a aucunes données dedans.
Hors ligne
#4 Mon 14 February 2011 10:04
- romain-govaere
- Participant occasionnel
- Lieu: Bordeaux
- Date d'inscription: 9 Apr 2009
- Messages: 32
Re: MapInfo, Postgres/Postgis, erreur d'import de données
Bonjour,
Le problème est finalement résolu en passant du driver odbc : psqlodbc-08_02_0300. à celui ci : psqlodbc-08_4_2
Hors ligne