Bonjour,
J'essaie d'écrire un bout de code pour OpenStreetMap et je découvre
python.
J'aimerai analyser un fichier GPX avec XPath via libxml (qui devrait
permettre une utilisation fine de XPath).
(en gros, pour ceux que ça intéresse, il s'agit, dans une trace GPS faite
dans des transports en commun, de repérer les arrêts puis d'aller
chercher, via nominatim, ce qui existe dans OpenStreetMap, puis enfin
d'enrichir une base des horaires de transports)
Pour mes tests du langage python j'essaie dans un premier temps
d'extraire les tags 'ele'
Les contenus des fichiers sont ci-dessous.
En python 2.6 je ne parviens pas à un résultat :
//* me retourne la liste des nœuds mais
//ele ne renvoie rien
En python 3.1, j'ai l'erreur suivante :
Traceback (most recent call last):
File "./readGpx2.py", line 3, in <module>
import libxml2, sys
ImportError: No module named libxml2
Malgré mes recherches, je ne sais pas comment implémenter libxml pour
python 3.1 (bon je ne suis pas un as de la ligne de commande et de
linux ;-)
Je précise que dans jEdit (avec le plugin XSLT)
le xpath //ele retourne bien 10 nœuds.
Le Mon, 12 Apr 2010 14:16:51 +0200, Alain Ketterlin a écrit :
T'es sous linux, c'est ça ?
ubuntu 9.10 aussi
Chez moi (ubuntu 9.10) il faut installer cela à part, et ça s'appelle... python-libxml2.
C'est bien ce que j'ai compris. Mais on trouve ça où ? On l'installe comment ? et où ?
Il y a aussi des exemples (et des conseils pertinents) à http://stackoverflow.com/questions/8692/how-to-use-xpath-in-python mais j'imagine que tu as déjà vu cela.
Oui, mon test (sur python 2.6) vient de là. De fait, "//*[name()='ele']" fonctionne (10 nœuds) mais pas "//ele" C'est un peu fastidieux !
-- Alain.
Merci
Le Mon, 12 Apr 2010 14:16:51 +0200, Alain Ketterlin a écrit :
T'es sous linux, c'est ça ?
ubuntu 9.10 aussi
Chez moi (ubuntu 9.10) il faut installer
cela à part, et ça s'appelle... python-libxml2.
C'est bien ce que j'ai compris.
Mais on trouve ça où ?
On l'installe comment ? et où ?
Il y a aussi des exemples (et des conseils pertinents) à
http://stackoverflow.com/questions/8692/how-to-use-xpath-in-python mais
j'imagine que tu as déjà vu cela.
Oui, mon test (sur python 2.6) vient de là.
De fait, "//*[name()='ele']" fonctionne (10 nœuds)
mais pas "//ele"
C'est un peu fastidieux !
Le Mon, 12 Apr 2010 14:16:51 +0200, Alain Ketterlin a écrit :
T'es sous linux, c'est ça ?
ubuntu 9.10 aussi
Chez moi (ubuntu 9.10) il faut installer cela à part, et ça s'appelle... python-libxml2.
C'est bien ce que j'ai compris. Mais on trouve ça où ? On l'installe comment ? et où ?
Il y a aussi des exemples (et des conseils pertinents) à http://stackoverflow.com/questions/8692/how-to-use-xpath-in-python mais j'imagine que tu as déjà vu cela.
Oui, mon test (sur python 2.6) vient de là. De fait, "//*[name()='ele']" fonctionne (10 nœuds) mais pas "//ele" C'est un peu fastidieux !
-- Alain.
Merci
NicolasP
Bonjour,
Bonjour, J'essaie d'écrire un bout de code pour OpenStreetMap et je découvre python. J'aimerai analyser un fichier GPX avec XPath via libxml (qui devrait permettre une utilisation fine de XPath). (en gros, pour ceux que ça intéresse, il s'agit, dans une trace GPS faite dans des transports en commun, de repérer les arrêts puis d'aller chercher, via nominatim, ce qui existe dans OpenStreetMap, puis enfin d'enrichir une base des horaires de transports) Pour mes tests du langage python j'essaie dans un premier temps d'extraire les tags 'ele' Les contenus des fichiers sont ci-dessous. En python 2.6 je ne parviens pas à un résultat : //* me retourne la liste des nœuds mais //ele ne renvoie rien
En python 3.1, j'ai l'erreur suivante : Traceback (most recent call last): File "./readGpx2.py", line 3, in<module> import libxml2, sys ImportError: No module named libxml2
Attention ! Python 3.x est différent de Python 2.x. Le code écrit pour du Python 3.x est incompatible avec Python 2.x. La majorité de la littérature existante est faite pour Python 2.x.
Nicolas
Malgré mes recherches, je ne sais pas comment implémenter libxml pour python 3.1 (bon je ne suis pas un as de la ligne de commande et de linux ;-)
Je précise que dans jEdit (avec le plugin XSLT) le xpath //ele retourne bien 10 nœuds.
ctxt = doc.xpathNewContext() res = ctxt.xpathEval(path) print ("found " + str(len(res)) + " " + node + " at " + path) for n in res: #print "__" + str(n) print (n.name)
doc.freeDoc() ctxt.xpathFreeContext() -----
Bonjour,
Bonjour,
J'essaie d'écrire un bout de code pour OpenStreetMap et je découvre
python.
J'aimerai analyser un fichier GPX avec XPath via libxml (qui devrait
permettre une utilisation fine de XPath).
(en gros, pour ceux que ça intéresse, il s'agit, dans une trace GPS faite
dans des transports en commun, de repérer les arrêts puis d'aller
chercher, via nominatim, ce qui existe dans OpenStreetMap, puis enfin
d'enrichir une base des horaires de transports)
Pour mes tests du langage python j'essaie dans un premier temps
d'extraire les tags 'ele'
Les contenus des fichiers sont ci-dessous.
En python 2.6 je ne parviens pas à un résultat :
//* me retourne la liste des nœuds mais
//ele ne renvoie rien
En python 3.1, j'ai l'erreur suivante :
Traceback (most recent call last):
File "./readGpx2.py", line 3, in<module>
import libxml2, sys
ImportError: No module named libxml2
Attention ! Python 3.x est différent de Python 2.x.
Le code écrit pour du Python 3.x est incompatible avec Python 2.x.
La majorité de la littérature existante est faite pour Python 2.x.
Nicolas
Malgré mes recherches, je ne sais pas comment implémenter libxml pour
python 3.1 (bon je ne suis pas un as de la ligne de commande et de
linux ;-)
Je précise que dans jEdit (avec le plugin XSLT)
le xpath //ele retourne bien 10 nœuds.
Bonjour, J'essaie d'écrire un bout de code pour OpenStreetMap et je découvre python. J'aimerai analyser un fichier GPX avec XPath via libxml (qui devrait permettre une utilisation fine de XPath). (en gros, pour ceux que ça intéresse, il s'agit, dans une trace GPS faite dans des transports en commun, de repérer les arrêts puis d'aller chercher, via nominatim, ce qui existe dans OpenStreetMap, puis enfin d'enrichir une base des horaires de transports) Pour mes tests du langage python j'essaie dans un premier temps d'extraire les tags 'ele' Les contenus des fichiers sont ci-dessous. En python 2.6 je ne parviens pas à un résultat : //* me retourne la liste des nœuds mais //ele ne renvoie rien
En python 3.1, j'ai l'erreur suivante : Traceback (most recent call last): File "./readGpx2.py", line 3, in<module> import libxml2, sys ImportError: No module named libxml2
Attention ! Python 3.x est différent de Python 2.x. Le code écrit pour du Python 3.x est incompatible avec Python 2.x. La majorité de la littérature existante est faite pour Python 2.x.
Nicolas
Malgré mes recherches, je ne sais pas comment implémenter libxml pour python 3.1 (bon je ne suis pas un as de la ligne de commande et de linux ;-)
Je précise que dans jEdit (avec le plugin XSLT) le xpath //ele retourne bien 10 nœuds.