banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 947
Site web

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: problème d'accents sur les données Tele Atlas

Bonjour,

geoA2 a écrit:

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

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 947
Site web

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. wink

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: problème d'accents sur les données Tele Atlas

Bonjour,

je ne suis pas tout à fait d'accord wink 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 wink ).

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

 

Pied de page des forums

Powered by FluxBB