[RÉSOLU] caractères parasites dans export.osm de overpass-turbo

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
cwrff
Messages : 5
Inscription : mer. janv. 30, 2019 3:08 pm

[RÉSOLU] caractères parasites dans export.osm de overpass-turbo

Message par cwrff » mer. janv. 30, 2019 3:34 pm

Bonjour,
Dans le fichier export.osm obtenu par Télécharger/copier en tant que données brutes de OSM, je trouve 3 caractères parasites (?) en début de fichier, avant les premiers caractères visibles <?xml. Ils ont pour code : 239, 187, 191. Cela fait planter l'analyseur syntaxique Python exploitant ce fichier. Si je modifie le fichier dans le Bloc-Notes, ces caractères disparaissent lors de la sauvegarde.
Vu le nombre d'utilisateurs de overpass-turbo, je ne dois pas être le seul à avoir ce problème ?? (mais je n'ai pas lu tout le forum !)
Merci de votre aide !

OsmO
Messages : 49
Inscription : mer. janv. 06, 2016 7:13 pm
Localisation : Paris

Re: caractères parasites dans export.osm de overpass-turbo

Message par OsmO » jeu. janv. 31, 2019 5:56 pm

Bonjour,

Il s'agit d'une BOM (Byte Order Mark) UTF-8
Ce n'est réellement utile que pour UTF-16 et UTF-32 mais on en trouve parfois dans les fichiers encodés en UTF-8.
Une discussion sur SO pour la supprimer en Python.

cwrff
Messages : 5
Inscription : mer. janv. 30, 2019 3:08 pm

Re: caractères parasites dans export.osm de overpass-turbo

Message par cwrff » mar. févr. 05, 2019 4:51 pm

Merci !
En Python, il suffit donc de passer les caractères de la première ligne de export.osm, jusqu'au '>', avant de lancer l'analyseur syntaxique.
Dommage tout de même que la sortie standard de overpass ne soit pas directement utilisable par ce module de Python !
Je ne domine pas assez ces subtilités de codage pour savoir qui des deux devrait faire un petit effort d'adaptation...
Merci encore !

Avatar de l’utilisateur
cquest
Messages : 1900
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: [RÉSOLU] caractères parasites dans export.osm de overpass-turbo

Message par cquest » lun. févr. 11, 2019 10:24 am

Il suffit d'indiquer à python que le fichier a un BOM, exemple:

Code : Tout sélectionner

open(filename, mode, encoding='utf-8-sig')

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités