Bonjour,
J'ai un fichier GPX
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx version="1.1" creator="Visorando" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"> <metadata><name>Caudiés de Fenouillèdes - Cubières sur Cinoble</name><link href=""><text></text></link></metadata> <wpt lat="42.81392" lon="2.376949"><ele>337</ele><name>Caudiés de Fenouillèdes</name></wpt><wpt lat="42.824431" lon="2.41195"><ele>419</ele><name>D20</name></wpt><wpt lat="42.825868" lon="2.433405"><ele>342</ele><name>Prugnanes</name></wpt><wpt lat="42.827557" lon="2.472894"><ele>394</ele><name>Col de Lenti</name></wpt><wpt lat="42.832749" lon="2.479994"><ele>287</ele><name>Gorges de Galamus</name></wpt><wpt lat="42.835767" lon="2.490799"><ele>379</ele><name>D7</name></wpt><wpt lat="42.849378" lon="2.520548"><ele>667</ele><name>Roc Fourcat</name></wpt><wpt lat="42.849068" lon="2.524857"><ele>655</ele><name>GR36</name></wpt><wpt lat="42.85131" lon="2.526811"><ele>573</ele><name>Carrefour sentier</name></wpt><wpt lat="42.858028" lon="2.493853"><ele>620</ele><name>Carrefour Bac de Merlano</name></wpt><wpt lat="42.852394" lon="2.470247"><ele>421</ele><name>D10</name></wpt><wpt lat="42.853087" lon="2.465952"><ele>419</ele><name>Bivouac</name></wpt> <trk><name>Caudiés de Fenouillèdes - Cubières sur Cinoble</name><trkseg><trkpt lat="42.81392" lon="2.376949"><ele>337</ele></trkpt><trkpt lat="42.813705" lon="2.37755"><ele>333</ele></trkpt><trkpt lat="42.815016" lon="2.378176"><ele>337</ele></trkpt><trkpt lat="42.816112" lon="2.378542"><ele>336</ele></trkpt><trkpt lat="42.816597" lon="2.379612"><ele>337</ele></trkpt><trkpt lat="42.817819" lon="2.380577"><ele>345</ele></trkpt><trkpt lat="42.817963" lon="2.381491"><ele>348</ele></trkpt><trkpt lat="42.817963" lon="2.381882"><ele>349</ele></trkpt><trkpt lat="42.818322" lon="2.382378"><ele>351</ele></trkpt><trkpt lat="42.818861" lon="2.384414"><ele>361</ele></trkpt><trkpt lat="42.818969" lon="2.385302"><ele>361</ele></trkpt><trkpt lat="42.820011" lon="2.385328"><ele>367</ele></trkpt><trkpt lat="42.82037" lon="2.384858"><ele>372</ele></trkpt><trkpt lat="42.82046" lon="2.385458"><ele>368</ele></trkpt><trkpt lat="42.821502" lon="2.384675"><ele>380</ele></trkpt><trkpt lat="42.8224" lon="2.384597"><ele>383</ele></trkpt><trkpt lat="42.823047" lon="2.384936"><ele>382</ele></trkpt><trkpt lat="42.823389" lon="2.38585"><ele>383</ele></trkpt><trkpt lat="42.823299" lon="2.38893"><ele>398</ele></trkpt><trkpt lat="42.823191" lon="2.390391"><ele>395</ele></trkpt><trkpt lat="42.823514" lon="2.3912"><ele>394</ele></trkpt><trkpt lat="42.823766" lon="2.391461"><ele>396</ele></trkpt><trkpt lat="42.823928" lon="2.392009"><ele>395</ele></trkpt><trkpt lat="42.824431" lon="2.392584"><ele>401</ele></trkpt><trkpt lat="42.824359" lon="2.393654"><ele>398</ele></trkpt><trkpt lat="42.824341" lon="2.394358"><ele>397</ele></trkpt><trkpt lat="42.824053" lon="2.395011"><ele>392</ele></trkpt><trkpt lat="42.824125" lon="2.396081"><ele>396</ele></trkpt><trkpt lat="42.824305" lon="2.396603"><ele>402</ele></trkpt><trkpt lat="42.824251" lon="2.396968"><ele>400</ele></trkpt><trkpt lat="42.824682" lon="2.39783"><ele>409</ele></trkpt><trkpt lat="42.824898" lon="2.399839"><ele>417</ele></trkpt><trkpt lat="42.824538" lon="2.40104"><ele>416</ele></trkpt><trkpt lat="42.824754" lon="2.401823"><ele>421</ele></trkpt><trkpt lat="42.824664" lon="2.405164"><ele>424</ele></trkpt><trkpt lat="42.82497" lon="2.406573"><ele>429</ele></trkpt><trkpt lat="42.824718" lon="2.4084"><ele>420</ele></trkpt><trkpt lat="42.824898" lon="2.40934"><ele>424</ele></trkpt><trkpt lat="42.824808" lon="2.41101"><ele>425</ele></trkpt><trkpt lat="42.824431" lon="2.41195"><ele>419</ele></trkpt><trkpt lat="42.82497" lon="2.413386"><ele>416</ele></trkpt><trkpt lat="42.825167" lon="2.414612"><ele>414</ele></trkpt><trkpt lat="42.825131" lon="2.415421"><ele>405</ele></trkpt><trkpt lat="42.826964" lon="2.420511"><ele>381</ele></trkpt><trkpt lat="42.827503" lon="2.420824"><ele>391</ele></trkpt><trkpt lat="42.827665" lon="2.421607"><ele>388</ele></trkpt><trkpt lat="42.827287" lon="2.422364"><ele>373</ele></trkpt><trkpt lat="42.828006" lon="2.422312"><ele>391</ele></trkpt><trkpt lat="42.828168" lon="2.422964"><ele>383</ele></trkpt><trkpt lat="42.828599" lon="2.423591"><ele>388</ele></trkpt><trkpt lat="42.828671" lon="2.424374"><ele>382</ele></trkpt><trkpt lat="42.828832" lon="2.424791"><ele>383</ele></trkpt><trkpt lat="42.828707" lon="2.425444"><ele>378</ele></trkpt><trkpt lat="42.828491" lon="2.426331"><ele>374</ele></trkpt><trkpt lat="42.827557" lon="2.428028"><ele>363</ele></trkpt><trkpt lat="42.827503" lon="2.429516"><ele>358</ele></trkpt><trkpt lat="42.827108" lon="2.430925"><ele>351</ele></trkpt><trkpt lat="42.826335" lon="2.432778"><ele>344</ele></trkpt><trkpt lat="42.825868" lon="2.433405"><ele>342</ele></trkpt><trkpt lat="42.826335" lon="2.433718"><ele>346</ele></trkpt><trkpt lat="42.826712" lon="2.434553"><ele>349</ele></trkpt><trkpt lat="42.827503" lon="2.435232"><ele>360</ele></trkpt><trkpt lat="42.828006" lon="2.438442"><ele>377</ele></trkpt><trkpt lat="42.828347" lon="2.439643"><ele>387</ele></trkpt><trkpt lat="42.82815" lon="2.441156"><ele>394</ele></trkpt><trkpt lat="42.828725" lon="2.442618"><ele>411</ele></trkpt><trkpt lat="42.828599" lon="2.445411"><ele>419</ele></trkpt><trkpt lat="42.828006" lon="2.449378"><ele>402</ele></trkpt><trkpt lat="42.828257" lon="2.449743"><ele>403</ele></trkpt><trkpt lat="42.82779" lon="2.452275"><ele>386</ele></trkpt><trkpt lat="42.828006" lon="2.455016"><ele>404</ele></trkpt><trkpt lat="42.827521" lon="2.457104"><ele>397</ele></trkpt><trkpt lat="42.827934" lon="2.459401"><ele>393</ele></trkpt><trkpt lat="42.827844" lon="2.460471"><ele>385</ele></trkpt><trkpt lat="42.828042" lon="2.461123"><ele>389</ele></trkpt><trkpt lat="42.828042" lon="2.463603"><ele>391</ele></trkpt><trkpt lat="42.827054" lon="2.467988"><ele>368</ele></trkpt><trkpt lat="42.827215" lon="2.468562"><ele>379</ele></trkpt><trkpt lat="42.827323" lon="2.470337"><ele>390</ele></trkpt><trkpt lat="42.827323" lon="2.472085"><ele>397</ele></trkpt><trkpt lat="42.827557" lon="2.472894"><ele>394</ele></trkpt><trkpt lat="42.827754" lon="2.473756"><ele>378</ele></trkpt><trkpt lat="42.827629" lon="2.476157"><ele>332</ele></trkpt><trkpt lat="42.82797" lon="2.477853"><ele>318</ele></trkpt><trkpt lat="42.828653" lon="2.479132"><ele>304</ele></trkpt><trkpt lat="42.829479" lon="2.480124"><ele>290</ele></trkpt><trkpt lat="42.829641" lon="2.480672"><ele>283</ele></trkpt><trkpt lat="42.830449" lon="2.48002"><ele>286</ele></trkpt><trkpt lat="42.831653" lon="2.480229"><ele>288</ele></trkpt><trkpt lat="42.832228" lon="2.480281"><ele>286</ele></trkpt><trkpt lat="42.832749" lon="2.479994"><ele>287</ele></trkpt><trkpt lat="42.832659" lon="2.480672"><ele>293</ele></trkpt><trkpt lat="42.832839" lon="2.481899"><ele>326</ele></trkpt><trkpt lat="42.833414" lon="2.483517"><ele>344</ele></trkpt><trkpt lat="42.833557" lon="2.483778"><ele>344</ele></trkpt><trkpt lat="42.833575" lon="2.483465"><ele>353</ele></trkpt><trkpt lat="42.833773" lon="2.483622"><ele>358</ele></trkpt><trkpt lat="42.833665" lon="2.482813"><ele>369</ele></trkpt><trkpt lat="42.833863" lon="2.482786"><ele>380</ele></trkpt><trkpt lat="42.835121" lon="2.484561"><ele>388</ele></trkpt><trkpt lat="42.835444" lon="2.485135"><ele>395</ele></trkpt><trkpt lat="42.835156" lon="2.485997"><ele>377</ele></trkpt><trkpt lat="42.836217" lon="2.488241"><ele>396</ele></trkpt><trkpt lat="42.836199" lon="2.489729"><ele>392</ele></trkpt><trkpt lat="42.835767" lon="2.490799"><ele>379</ele></trkpt><trkpt lat="42.836396" lon="2.490147"><ele>398</ele></trkpt><trkpt lat="42.836378" lon="2.489912"><ele>399</ele></trkpt><trkpt lat="42.836522" lon="2.489938"><ele>403</ele></trkpt><trkpt lat="42.836558" lon="2.48939"><ele>407</ele></trkpt><trkpt lat="42.836863" lon="2.48952"><ele>419</ele></trkpt><trkpt lat="42.837133" lon="2.488241"><ele>447</ele></trkpt><trkpt lat="42.837151" lon="2.486989"><ele>465</ele></trkpt><trkpt lat="42.836881" lon="2.486023"><ele>466</ele></trkpt><trkpt lat="42.837025" lon="2.485605"><ele>474</ele></trkpt><trkpt lat="42.837348" lon="2.485918"><ele>487</ele></trkpt><trkpt lat="42.837564" lon="2.485736"><ele>494</ele></trkpt><trkpt lat="42.838444" lon="2.487119"><ele>516</ele></trkpt><trkpt lat="42.839397" lon="2.488529"><ele>547</ele></trkpt><trkpt lat="42.839594" lon="2.488163"><ele>552</ele></trkpt><trkpt lat="42.841391" lon="2.48798"><ele>583</ele></trkpt><trkpt lat="42.841714" lon="2.488268"><ele>596</ele></trkpt><trkpt lat="42.842613" lon="2.487041"><ele>574</ele></trkpt><trkpt lat="42.843044" lon="2.48691"><ele>583</ele></trkpt><trkpt lat="42.843834" lon="2.48738"><ele>603</ele></trkpt><trkpt lat="42.844212" lon="2.48725"><ele>607</ele></trkpt><trkpt lat="42.846565" lon="2.488659"><ele>636</ele></trkpt><trkpt lat="42.84732" lon="2.489416"><ele>655</ele></trkpt><trkpt lat="42.848128" lon="2.491426"><ele>686</ele></trkpt><trkpt lat="42.848505" lon="2.492209"><ele>692</ele></trkpt><trkpt lat="42.849637" lon="2.4926"><ele>714</ele></trkpt><trkpt lat="42.850302" lon="2.493905"><ele>728</ele></trkpt><trkpt lat="42.851291" lon="2.494818"><ele>751</ele></trkpt><trkpt lat="42.851398" lon="2.495654"><ele>765</ele></trkpt><trkpt lat="42.851237" lon="2.496777"><ele>792</ele></trkpt><trkpt lat="42.851272" lon="2.497663"><ele>818</ele></trkpt><trkpt lat="42.849961" lon="2.498499"><ele>831</ele></trkpt><trkpt lat="42.850032" lon="2.499543"><ele>858</ele></trkpt><trkpt lat="42.849709" lon="2.501057"><ele>893</ele></trkpt><trkpt lat="42.849458" lon="2.502466"><ele>902</ele></trkpt><trkpt lat="42.850104" lon="2.503771"><ele>902</ele></trkpt><trkpt lat="42.850554" lon="2.506538"><ele>890</ele></trkpt><trkpt lat="42.850572" lon="2.507373"><ele>886</ele></trkpt><trkpt lat="42.849835" lon="2.508521"><ele>897</ele></trkpt><trkpt lat="42.850069" lon="2.510453"><ele>904</ele></trkpt><trkpt lat="42.850086" lon="2.511549"><ele>887</ele></trkpt><trkpt lat="42.850249" lon="2.511966"><ele>865</ele></trkpt><trkpt lat="42.85014" lon="2.513011"><ele>839</ele></trkpt><trkpt lat="42.850827" lon="2.514644"><ele>759</ele></trkpt><trkpt lat="42.850704" lon="2.516739"><ele>707</ele></trkpt><trkpt lat="42.850983" lon="2.517343"><ele>683</ele></trkpt><trkpt lat="42.850584" lon="2.519159"><ele>667</ele></trkpt><trkpt lat="42.850258" lon="2.519754"><ele>671</ele></trkpt><trkpt lat="42.849378" lon="2.520548"><ele>667</ele></trkpt><trkpt lat="42.849171" lon="2.521781"><ele>665</ele></trkpt><trkpt lat="42.849559" lon="2.52324"><ele>667</ele></trkpt><trkpt lat="42.849627" lon="2.523866"><ele>656</ele></trkpt><trkpt lat="42.849068" lon="2.524857"><ele>655</ele></trkpt><trkpt lat="42.848501" lon="2.525639"><ele>664</ele></trkpt><trkpt lat="42.848559" lon="2.526631"><ele>650</ele></trkpt><trkpt lat="42.848193" lon="2.527597"><ele>657</ele></trkpt><trkpt lat="42.848584" lon="2.527584"><ele>647</ele></trkpt><trkpt lat="42.849319" lon="2.526559"><ele>617</ele></trkpt><trkpt lat="42.849992" lon="2.526647"><ele>601</ele></trkpt><trkpt lat="42.850724" lon="2.527005"><ele>591</ele></trkpt><trkpt lat="42.851111" lon="2.526896"><ele>579</ele></trkpt><trkpt lat="42.851714" lon="2.527571"><ele>577</ele></trkpt><trkpt lat="42.85131" lon="2.526811"><ele>573</ele></trkpt><trkpt lat="42.850925" lon="2.526494"><ele>576</ele></trkpt><trkpt lat="42.850558" lon="2.526551"><ele>585</ele></trkpt><trkpt lat="42.850191" lon="2.526348"><ele>592</ele></trkpt><trkpt lat="42.850126" lon="2.525744"><ele>589</ele></trkpt><trkpt lat="42.850542" lon="2.524956"><ele>590</ele></trkpt><trkpt lat="42.851302" lon="2.523903"><ele>587</ele></trkpt><trkpt lat="42.851529" lon="2.522423"><ele>597</ele></trkpt><trkpt lat="42.851444" lon="2.520456"><ele>618</ele></trkpt><trkpt lat="42.851729" lon="2.518652"><ele>621</ele></trkpt><trkpt lat="42.852187" lon="2.516906"><ele>623</ele></trkpt><trkpt lat="42.852735" lon="2.514534"><ele>634</ele></trkpt><trkpt lat="42.8533" lon="2.512814"><ele>645</ele></trkpt><trkpt lat="42.853586" lon="2.511208"><ele>655</ele></trkpt><trkpt lat="42.854444" lon="2.508675"><ele>648</ele></trkpt><trkpt lat="42.854544" lon="2.507784"><ele>649</ele></trkpt><trkpt lat="42.854816" lon="2.50736"><ele>639</ele></trkpt><trkpt lat="42.855359" lon="2.505624"><ele>624</ele></trkpt><trkpt lat="42.855297" lon="2.504606"><ele>630</ele></trkpt><trkpt lat="42.856123" lon="2.50304"><ele>608</ele></trkpt><trkpt lat="42.856321" lon="2.5015"><ele>610</ele></trkpt><trkpt lat="42.855926" lon="2.499648"><ele>625</ele></trkpt><trkpt lat="42.856141" lon="2.497298"><ele>636</ele></trkpt><trkpt lat="42.856483" lon="2.496933"><ele>626</ele></trkpt><trkpt lat="42.856662" lon="2.496097"><ele>636</ele></trkpt><trkpt lat="42.857165" lon="2.495315"><ele>631</ele></trkpt><trkpt lat="42.858028" lon="2.493853"><ele>620</ele></trkpt><trkpt lat="42.858172" lon="2.492653"><ele>620</ele></trkpt><trkpt lat="42.857965" lon="2.491452"><ele>629</ele></trkpt><trkpt lat="42.85682" lon="2.490512"><ele>653</ele></trkpt><trkpt lat="42.856588" lon="2.488398"><ele>644</ele></trkpt><trkpt lat="42.855682" lon="2.487132"><ele>656</ele></trkpt><trkpt lat="42.855528" lon="2.48649"><ele>648</ele></trkpt><trkpt lat="42.85466" lon="2.485177"><ele>661</ele></trkpt><trkpt lat="42.853936" lon="2.48355"><ele>658</ele></trkpt><trkpt lat="42.852954" lon="2.482581"><ele>671</ele></trkpt><trkpt lat="42.852428" lon="2.481183"><ele>661</ele></trkpt><trkpt lat="42.852219" lon="2.479806"><ele>646</ele></trkpt><trkpt lat="42.85233" lon="2.478177"><ele>635</ele></trkpt><trkpt lat="42.852026" lon="2.477193"><ele>634</ele></trkpt><trkpt lat="42.851604" lon="2.476701"><ele>636</ele></trkpt><trkpt lat="42.850819" lon="2.476925"><ele>624</ele></trkpt><trkpt lat="42.850983" lon="2.476358"><ele>624</ele></trkpt><trkpt lat="42.851748" lon="2.476232"><ele>625</ele></trkpt><trkpt lat="42.852202" lon="2.476821"><ele>620</ele></trkpt><trkpt lat="42.852887" lon="2.475732"><ele>574</ele></trkpt><trkpt lat="42.853112" lon="2.475682"><ele>562</ele></trkpt><trkpt lat="42.853553" lon="2.475945"><ele>550</ele></trkpt><trkpt lat="42.853994" lon="2.475764"><ele>535</ele></trkpt><trkpt lat="42.85416" lon="2.474864"><ele>513</ele></trkpt><trkpt lat="42.854476" lon="2.474457"><ele>499</ele></trkpt><trkpt lat="42.85463" lon="2.473266"><ele>474</ele></trkpt><trkpt lat="42.854353" lon="2.472676"><ele>470</ele></trkpt><trkpt lat="42.853783" lon="2.471885"><ele>462</ele></trkpt><trkpt lat="42.85366" lon="2.471333"><ele>448</ele></trkpt><trkpt lat="42.852394" lon="2.470247"><ele>421</ele></trkpt><trkpt lat="42.852642" lon="2.468243"><ele>421</ele></trkpt><trkpt lat="42.85299" lon="2.466693"><ele>420</ele></trkpt><trkpt lat="42.853578" lon="2.466336"><ele>423</ele></trkpt><trkpt lat="42.854141" lon="2.46587"><ele>424</ele></trkpt><trkpt lat="42.853884" lon="2.465454"><ele>422</ele></trkpt><trkpt lat="42.853087" lon="2.465952"><ele>419</ele></trkpt></trkseg></trk></gpx>
Et après avoir parcouru des fils de discussion sur le sujet, j'ai écrit ce code qui bloque au niveau de la ligne : Set xmlTracks = xmlRoot.selectNodes("trk")
Je ne vois pas pourquoi, le code ne rentre pas dans l'arborescence xml... Avez-vous des suggestions?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 Sub CalculerDenivele3() 'Déclaration des variables Dim xmlDoc As MSXML2.DOMDocument60 Dim xmlRoot As IXMLDOMElement Dim xmlTracks As IXMLDOMNodeList Dim xmlTrack As IXMLDOMElement Dim xmlTrackPoints As MSXML2.IXMLDOMNodeList Dim xmlTrackPoint As IXMLDOMElement Dim ele As Double Dim denivele As Double Dim previousEle As Double Dim denivelePositif As Double Dim deniveleNegatif As Double Dim deniveleTotal As Double Dim i As Integer 'Chargement du fichier GPX Set xmlDoc = New MSXML2.DOMDocument60 xmlDoc.Load "E:\Randonnées\-aq6eGppfhM.gpx" Set xmlRoot = xmlDoc.DocumentElement 'Vérification de la présence de données altimétriques 'Set xmlTracks = xmlRoot.selectNodes("trk")-----------ne fonctionne pas Set xmlTracks = xmlRoot.selectNodes("//trk") 'ne fonctionne pas Debug.Print xml.Tracks.length 'renvoie toujours 0 'j'ai rajouté ceci pour essayer de vérifier mais ça ne renvoie toujours aucune valeur For Each xmlTrack In xmlTracks For i = 0 To xmlTrack.childNodes.length - 1 Debug.Print xmlTrack.childNodes(i).baseName, xmlTrack.childNodes(i).Text Next i Next If xmlTracks.length > 0 Then For Each xmlTrack In xmlTracks 'Récupération de la liste des points de trace Set xmlTrackPoints = xmlTrack.selectNodes("trkseg/trkpt") If xmlTrackPoints.length > 0 Then 'Initialisation des variables previousEle = 0 denivelePositif = 0 deniveleNegatif = 0 'Parcours des points de trace For Each xmlTrackPoint In xmlTrackPoints 'Récupération de l'altitude du point de trace courant ele = xmlTrackPoint.SelectSingleNode("ele").Text ele = CDbl(ele) 'Calcul du dénivelé par rapport au point de trace précédent denivele = ele - previousEle If denivele > 0 Then denivelePositif = denivelePositif + denivele Else deniveleNegatif = deniveleNegatif + denivele End If previousEle = ele Next 'Calcul du dénivelé total deniveleTotal = denivelePositif + deniveleNegatif 'Affichage du dénivelé positif, du dénivelé négatif et du dénivelé total MsgBox "Dénivelé positif : " & denivelePositif & " mètres" & vbNewLine & _ "Dénivelé négatif : " & deniveleNegatif & " mètres" & vbNewLine & _ "Dénivelé total : " & deniveleTotal & " mètres" End If Next End If End Sub
Toutes les extensions utiles sont activées.
Et dans la foulée, je vous souhaite a toutes et tous de bonnes fêtes et une bonne et heureuse année 2023!
Partager