#1 Mon 09 March 2009 17:02
- geoA2
- Participant occasionnel
- Date d'inscription: 6 Jan 2009
- Messages: 13
problème d'accents sur les données Tele Atlas
Bonjour à tous,
J'utilise actuellement des données MultiNet de téléatlas en format Shape : quand je les ouvre sous ArcGis (V9.1) ou dans MapInfo (V9.5) j'ai des problèmes d'accents dans la base attributaire, idem quand j'ouvre le dbf dans Excel.
Avez-vous des idées pour résoudre ce problème ?
je vous remercie
Hors ligne
#2 Tue 10 March 2009 00:04
Re: problème d'accents sur les données Tele Atlas
Salut,
Ton DBF doit être encodé en UTF-8 à priori.
Des utilisateurs semblent avoir eu le même problème que toi et on résolu le problème avec openoffice (qui lui gère l'encodage avant d'ouvrir, contrairement à Excel)
Passe chez nos voisins de Forumsig
http://www.forumsig.org/showthread.php?t=18151
Cordialement
ThomasG
Hors ligne
#3 Tue 10 March 2009 10:40
- geoA2
- Participant occasionnel
- Date d'inscription: 6 Jan 2009
- Messages: 13
Re: problème d'accents sur les données Tele Atlas
Bonjour,
En effet mon dbf est encodé en utf 8 mais lorsque je l'importe sous OO Calc des virgules s'insèrent dans mes lignes de titre (comme un rappel des caractéristiques de mon champ exemple : Nom du champ,type (C pour caractère), 11(largeur)). Par conséquent pas moyen de l'exporter en Europe Occidentale (ISO-8859-14).
J'ai trouvé une autre solution qui ne me satisfait que partiellement :
Créer pour chaque couche un fichier du même nom avec l'extension .cpg contenant l'information suivante : utf8. De cette façon mes problèmes d'accents sons résolus quand j'ouvre mes fichier sous ArcGis.
Cette solution ne me satisfait pas vraiment pour 2 raisons :
- j'aurai préféré une solution plus automatique (j'ai beaucoup de fichier)
- j'aimerai vraiment pouvoir ouvrir ces fichiers sous MapInfo sans problème d'accents ce que ne permet pas la création des *.cpg
J’attends avec impatience vos idées :-)
Hors ligne
#4 Tue 10 March 2009 10:52
Re: problème d'accents sur les données Tele Atlas
Bonjour,
Bonjour,
En effet mon dbf est encodé en utf 8 mais lorsque je l'importe sous OO Calc des virgules s'insèrent dans mes lignes de titre (comme un rappel des caractéristiques de mon champ exemple : Nom du champ,type (C pour caractère), 11(largeur)). Par conséquent pas moyen de l'exporter en Europe Occidentale (ISO-8859-14).
Ces informations dans la première ligne du fichier sont normales, elles définissent le type, longueur et précision du champ. Je ne voie pas en quoi cela pose problème au niveau de l'encodage, puisque tu vas le sauver au format dbf et choisir ton nouvel encodage,
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
#5 Tue 10 March 2009 14:16
- geoA2
- Participant occasionnel
- Date d'inscription: 6 Jan 2009
- Messages: 13
Re: problème d'accents sur les données Tele Atlas
OK, ça marche ou presque :
En persistant sous open office j'ai réussi (sans trop savoir l'erreur que je faisait avant, pour laquelle j'accusais à tores les virgule), MAIS certains fichiers ont trop de lignes (message : "le nombre maximal de lignes a été dépassé, les lignes excédentaires n'ont pas pu être importées", nombre de ligne = 95543)
Je me retrouve donc encore bloquée :-(
PS : les fichiers sur lesquels j'ai pu refaire l'encodage s'ouvrent sous MapInfo sans problème d'accents contrairement à ArcGis !?
Hors ligne
#6 Tue 10 March 2009 18:00
Re: problème d'accents sur les données Tele Atlas
Salut,
Pour les limitations de Excel et OpenOffice
http://office.microsoft.com/fr-fr/excel … 11036.aspx
http://fr.wikipedia.org/wiki/OpenOffice.org_Calc
Bilans =256 colonnes max et 65 536 lignes d'où ton problème avec tes 95543 lignes
Avec ton nombre de lignes, seules des bases de données te permettront de te sortir du problème.
Tu vas devoir utiliser Postgis ou Oracle XE si tu veux dépasser ta limite de lignes, en gardant l'aspect spatial initial de tes fichiers.
Dans ce cas, tu vas devoir changer de logiciels bureautiques pour lire les données : Arcgis et Mapinfo ne permettent pas par défaut de se connecter à Postgis en natif sauf à remettre la main à la poche.
Qgis ou GvSIG risquent de devenir tes amis.
Cordialement
ThomasG
Hors ligne
#7 Wed 11 March 2009 09:25
- geoA2
- Participant occasionnel
- Date d'inscription: 6 Jan 2009
- Messages: 13
Re: problème d'accents sur les données Tele Atlas
Bonjour,
Merci pour cette réponse.
Je ne pensais pas qu'un problème d'accents m'obligerai à me faire de nouveaux amis, je suis très bien avec mes anciens ;-) mais bon!
Hors ligne
#8 Wed 11 March 2009 09:37
Re: problème d'accents sur les données Tele Atlas
Bonjour,
je ne suis pas tout à fait d'accord D'abord rien n'empêche de découper le dbf en deux fichiers (attention à ne pas modifier l'ordre des lignes) et à modifier l'encodage avec OOo puis de réunir les deux DBF avec excel. C'est la solution la plus 'à court terme'.
Je suis sur qu'il existe des petits logiciels qui permettent de gérer les dbf sans passer par un tableur ni une base de données (mais il faut les trouver ).
Enfin après avoir modifier l'encodage des données, rien ne t'empêche de revenir à un fichier shp pour tes données.
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 12 March 2009 09:34
- JB Nivault
- Participant occasionnel
- Lieu: Hérault
- Date d'inscription: 12 Sep 2005
- Messages: 35
Re: problème d'accents sur les données Tele Atlas
Bonjour,
pour info :
J'ai aussi été confronté à des fichiers dbf volumineux ( 2 000 000 de lignes et des dizaines de colonnes...).
Un utilitaire gratuit ( à télécharger sur http://www.dbfmanager.com/ ) me permets de les manipuler "facilement".
Ensuite aucun problème d'importation et de jointure dans ArcGis.
Pourtant je n'ai pas encore exploré toutes les fonctionnalités. Certaines me plaisent bien, on peut modifier le nom d'un champ ou le rallonger ! Je n'ai pas essayé avec le dbf d'une shape, mais si l'on ne modifie pas l'ordre des lignes, cela doit marcher.
Et je n'ai pas eu de souci avec les accents, pour en revenir au sujet initial...
Cordialement
Jean Baptiste NIVAULT
Jean Baptiste Nivault
SIG Routes
Conseil Général de l'Hérault
Hors ligne
#10 Thu 12 March 2009 10:06
- geoA2
- Participant occasionnel
- Date d'inscription: 6 Jan 2009
- Messages: 13
Re: problème d'accents sur les données Tele Atlas
Bonjour ?
En effet cet outil demande à être exploré (je l'ai juste survolé et il me plait déjà!), mais je n'ai pas l'impression qu'il permette de changer l'encodage et de résoudre mon problème d'accents
Hors ligne
#11 Thu 19 March 2009 15:32
- Michel GOULAS
- Juste Inscrit !
- Date d'inscription: 7 Jun 2007
- Messages: 1
Re: problème d'accents sur les données Tele Atlas
Bonjour,
J'ai ce même problème d'accent lors de l'import des données TéléAtlas vers MapInfo qui effectivement ne connaît pas UTF-8.
Pour résoudre la question, j'ai écrit une fonction MapBasic (c'est gratuit maintenant !) :
Code:
Declare Function ConvertToASCII(ByVal sValue as string ) as string Function ConvertToASCII(ByVal sValue as string ) as string Dim i as integer Dim lStringLength as integer Dim sReturnValue as string Dim sChar as string*1 Dim charValue, pushValue, nPush as integer nPush = 0 lStringLength = len(sValue) For i = 1 To lStringLength sChar = Mid$(sValue, i, 1) charValue = Asc(sChar) If charValue \ 128 = 0 Then '0xxxxxxxb pushValue = charValue nPush = 0 ElseIf charValue \ 32 = 6 Then '110xxxxxb pushValue = ((charValue * 8) Mod 256) \ 8 nPush = 1 ElseIf charValue \ 16 = 14 Then '1110xxxxb pushValue = ((charValue * 16) Mod 256) \ 16 nPush = 2 ElseIf charValue \ 8 = 30 Then '11110xxxb pushValue = ((charValue * 32) Mod 256) \ 32 nPush = 3 ElseIf charValue \ 64 = 2 Then '10xxxxxxb pushValue = pushValue * 64 + ((charValue * 4) Mod 256) \ 4 nPush = nPush - 1 End If If nPush = 0 Then If pushValue > 255 Then pushValue = 32 End If sReturnValue = sReturnValue & Chr$(pushValue) End If Next ConvertToASCII = sReturnValue End Function
Que j'utilise à partir d'une procédure qui boucle sur toutes les colonnes CHAR de ma table :
Code:
Declare Sub ConvertTableToASCII(ByVal sTable as string ) Sub ConvertTableToASCII(ByVal sTable as string ) Dim i, iRow, nRows, nCols as integer Dim sColName as string Dim aColName as alias OnError Goto LABEL_ERROR nRows = TableInfo(sTable, TAB_INFO_NROWS ) nCols = TableInfo(sTable, TAB_INFO_NCOLS ) For i = 1 To nCols If ColumnInfo (sTable, "COL" & i, COL_INFO_TYPE) = COL_TYPE_CHAR Then sColName = ColumnInfo (sTable, "COL" & i, COL_INFO_NAME) aColName = sColName Print "En cours : " & sTable & " (" & sColName & ")" Update sTable Set sColName = ConvertToASCII(aColName) End If Next LABEL_ERROR: OnError Goto 0 End Sub
Ma procédure Main ressemble à cela :
Code:
Sub Main Dim i, iRow As Integer Dim sFileName(31), sTableName As String sFileName(1) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________00.TAB" sFileName(2) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________01.TAB" sFileName(3) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________02.TAB" sFileName(4) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________03.TAB" sFileName(5) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________a0.tab" sFileName(6) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________a1.tab" sFileName(7) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________a7.tab" sFileName(8) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________a8.tab" sFileName(9) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________bl.TAB" sFileName(10) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________bu.TAB" sFileName(11) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________lc.TAB" sFileName(12) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________lu.TAB" sFileName(13) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________rr.TAB" sFileName(14) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________sm.TAB" sFileName(15) = "E:\TeleAtlas\MultiNet2008.10\esp2008.10\esp\esp___________wa.TAB" sFileName(16) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________00.tab" sFileName(17) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________01.tab" sFileName(18) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________02.tab" sFileName(19) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________03.tab" sFileName(20) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________bl.tab" sFileName(21) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________bu.tab" sFileName(22) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________lc.tab" sFileName(23) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________lu.tab" sFileName(24) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________nw.tab" sFileName(25) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________rr.tab" sFileName(26) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________sm.tab" sFileName(27) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prtprt________wa.tab" sFileName(28) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prt___________a0.tab" sFileName(29) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prt___________a7.tab" sFileName(30) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prt___________a8.tab" sFileName(31) = "E:\TeleAtlas\MultiNet2008.10\prt2008.10\prt\prt___________a9.tab" Print Chr$(12) For i = 1 To UBound(sFileName) Open Table sFileName(i) sTableName = TableInfo(0, TAB_INFO_NAME) Call ConvertTableToASCII(sTableName) Commit Table sTableName Close Table sTableName Next End Sub
Une interface utilisateur ne serait pas du luxe.
Cordialement
Michel GOULAS
Responsable Geomatique
MEDIAPOST
Hors ligne
#12 Fri 20 March 2009 14:37
- Christophe Brun
- Juste Inscrit !
- Lieu: Bois-Colombes
- Date d'inscription: 19 Apr 2006
- Messages: 6
Re: problème d'accents sur les données Tele Atlas
Bonjour,
Pour ceux qui utilisent conjointement MapInfo et PostgreSQL/PostGis, un passage des shape par une base PostGis permet de convertir l'encodage.
En effet, si je charge dans une base PostGis encodée en Latin1 mes tables shape (avec shp2pgsql) et que je les (ré)-exporte ensuite en shape, je peux les convertir en TAB avec le traducteur universel de MapInfo. Là je retrouve mes accents. C'est vrai que ça fait un aller-retour et que PostGis a d'autres fonctionnalités plus intéressantes que de faire des conversions d'encodage...mais ça peut dépanner.
Cordialement
Christophe Brun
Hors ligne
#13 Fri 20 March 2009 15:31
- geoA2
- Participant occasionnel
- Date d'inscription: 6 Jan 2009
- Messages: 13
Re: problème d'accents sur les données Tele Atlas
Bonjour,
Je n'ai pas testé la solution MapBasic (je testerai), je ne possède pas de solution Postgre/PostGis mais j'ai trouvé une autre solution (un peu fastidieuse certe) :
1- Je créé pour chaque fichier un .cpg (bloc-note) contenant l'information utf8 (c'est la partie la plus longue mais j'utilise régulièrement ce type de données je n'ai plus qu'a les renommer de façon automatique quand je travaille sur de nouveaux départements)
2- Je fais une fausse reprojection sous ArcGis avec Batch project (j'ai d'ailleurs pu remarquer que cet outil ne fonctionne pas lorsque j'installe le patch français ArcGIS_91_SP2a_FR.exe !!) : j'enregistre les résultats dans un autre fichier
3- j'ouvre ces résultats sous MapInfo et je n'ai plus de problème d'accents :-) :-)
Hors ligne