View Issue Details

IDProjectCategoryView StatusLast Update
0002984SAS.ПланетаБаг / Bugpublic09-09-2023 18:19
ReporterParasite Assigned Tozed  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version151111 
Target Version230909Fixed in Version230909 
Summary0002984: Добавить хидеры в GPX для корректного открытия в BaseCamp
DescriptionПо итогам обсуждения темы: http://www.sasgis.org/forum/viewtopic.php?f=52&t=2836&start=0

Steps To ReproduceХидеры, генерируемые САСом:
-----
<?xml version="1.0" encoding="UTF-8"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="SAS.Planet" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtrx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd">
-----
= BaseCamp не открывает файл.

Хидеры, посоветованные пользователем в теме:
-----
<?xml version="1.0" encoding="UTF-8"?>
<gpx creator="SAS.Planet" version="1.1" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/ActivityExtension/v1 http://www8.garmin.com/xmlschemas/ActivityExtensionv1.xsd http://www.garmin.com/xmlschemas/AdventuresExtensions/v1 http://www8.garmin.com/xmlschemas/AdventuresExtensionv1.xsd http://www.garmin.com/xmlschemas/PressureExtension/v1 http://www.garmin.com/xmlschemas/PressureExtensionv1.xsd http://www.garmin.com/xmlschemas/TripExtensions/v1 http://www.garmin.com/xmlschemas/TripExtensionsv1.xsd http://www.garmin.com/xmlschemas/TripMetaDataExtensions/v1 http://www.garmin.com/xmlschemas/TripMetaDataExtensionsv1.xsd http://www.garmin.com/xmlschemas/ViaPointTransportationModeExtensions/v1 http://www.garmin.com/xmlschemas/ViaPointTransportationModeExtensionsv1.xsd http://www.garmin.com/xmlschemas/CreationTimeExtension/v1 http://www.garmin.com/xmlschemas/CreationTimeExtensionsv1.xsd http://www.garmin.com/xmlschemas/AccelerationExtension/v1 http://www.garmin.com/xmlschemas/AccelerationExtensionv1.xsd http://www.garmin.com/xmlschemas/PowerExtension/v1 http://www.garmin.com/xmlschemas/PowerExtensionv1.xsd http://www.garmin.com/xmlschemas/VideoExtension/v1 http://www.garmin.com/xmlschemas/VideoExtensionv1.xsd" xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtrx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:trp="http://www.garmin.com/xmlschemas/TripExtensions/v1" xmlns:adv="http://www.garmin.com/xmlschemas/AdventuresExtensions/v1" xmlns:prs="http://www.garmin.com/xmlschemas/PressureExtension/v1" xmlns:tmd="http://www.garmin.com/xmlschemas/TripMetaDataExtensions/v1" xmlns:vptm="http://www.garmin.com/xmlschemas/ViaPointTransportationModeExtensions/v1" xmlns:ctx="http://www.garmin.com/xmlschemas/CreationTimeExtension/v1" xmlns:gpxacc="http://www.garmin.com/xmlschemas/AccelerationExtension/v1" xmlns:gpxpx="http://www.garmin.com/xmlschemas/PowerExtension/v1" xmlns:vidx1="http://www.garmin.com/xmlschemas/VideoExtension/v1">
-----
= файл открывается корректно.
Additional InformationТикет не мой, тестировать не на чем. Я просто разместил объяву - ибо больше некому, как я понял. :)
Tagsgarmin, gpx, метки, экспорт

Relationships

has duplicate 0003355 closedzed Exported GPS not recognized by Mapsource 
related to 0003449 resolvedzed  Garmin Mapsource не открывает *.GPX файл созданный САС.Планет 

Activities

sergeyka

13-03-2016 08:59

reporter   ~0017065

Last edited: 13-03-2016 09:01

Поскольку "пользователь в теме" это я, то поясню. решение было найдено методом тыка. Гарантировать, что такой хидер пройдет где-то еще не могу. Это нужно курить gpx документацию тщательно. Надеялся, что кто-то знает больше меня.
Уточняю
Basecamp не нравится вот это
    <extensions>
      <gpxx:RouteExtension>
        <gpxx:Categories>
          <gpxx:Category>de moscou</gpxx:Category>
        </gpxx:Categories>
      </gpxx:RouteExtension>
      <gpxtrx:TrackExtension>
        <gpxtrx:Categories>
          <gpxtrx:Category>de moscou</gpxtrx:Category>
        </gpxtrx:Categories>
      </gpxtrx:TrackExtension>
    </extensions>
Для замены на генерированный basecamp
    <extensions>
      <gpxx:RouteExtension>
        <gpxx:IsAutoNamed>false</gpxx:IsAutoNamed>
        <gpxx:DisplayColor>Magenta</gpxx:DisplayColor>
      </gpxx:RouteExtension>
      <trp:Trip>
        <trp:TransportationMode>Walking</trp:TransportationMode>
      </trp:Trip>
    </extensions>

пришлось менять namespace на
<gpx creator="SAS.Planet" version="1.1" xsi:schemaLocation .....
без замены не понимал

и вот ненравится размерность координат
    <bounds maxlat="54.7666847101462" maxlon="38.184622030406" minlat="55.5741265758655" minlon="37.6819975186874"/>
в координатах ему мало значащих
сделал мульку
    <bounds maxlat="54.766684710146200" maxlon="38.18462203040600" minlat="55.574126575865500" minlon="37.681997518687400"/>

новый вариант gpx был проверен в basecamp и GPSmapedit

zed

13-03-2016 18:24

manager   ~0017066

> и вот ненравится размерность координат
В чём это проявляется?

Кто-нибудь знает gpx-валидатор? Вот тут http://www.topografix.com/gpx_validation.asp упоминается некий SaxCount.exe которым можно проверять валидность сгенерированных файлов. Только что-то мне не удалось найти эту утилиту. Видимо, информация устаревшая.

zed

13-03-2016 18:27

manager   ~0017067

> пришлось менять namespace на
Менять, в смысле - переставлять порядок объявления?

sergeyka

13-03-2016 18:37

reporter   ~0017068

Насколько я понял SaxCount.exe вообще используется чисто для проверки валидности xml и не более.
Может использовать стандартный конвертер?
http://www.gpsbabel.org/download.html

sergeyka

13-03-2016 19:14

reporter   ~0017069

Блин! коммент полчаса писал, а он пропал.. Сейчас отпишусь о критических секциях. Полчаса капи этот мучил...

zed

13-03-2016 19:16

manager   ~0017070

Ага, бывает такое. Я пользуюсь вот этой штукой для восстановления текста: https://addons.mozilla.org/ru/firefox/addon/lazarus-form-recovery/

sergeyka

13-03-2016 19:22

reporter   ~0017071

Last edited: 13-03-2016 19:25

Набил заново :)
Методом подбора выяснил - у них очень кривой парсер xml. В секциях важно не
только содержимое, но и порядок следования полей! Что в xml недопустимо.
Важные секции
1
<bounds maxlat="54.766684710146200" maxlon="38.18462203040600" minlat="55.574126575865500" minlon="37.681997518687400"/>
Важно количество знаков
2
  <metadata>
    <link href="http://www.sasgis.org/">
      <text>SAS.Planet</text>
    </link>
    <time>2016-03-12T11:54:41Z</time>
    <bounds maxlat="54.766684710146200" maxlon="38.18462203040600" minlat="55.574126575865500" minlon="37.681997518687400"/>
  </metadata>
Важно все. Порядок следования полей и их количество. Дополнительные поля не терпит
3
    <extensions>
      <gpxx:RouteExtension>
        <gpxx:IsAutoNamed>false</gpxx:IsAutoNamed>
        <gpxx:DisplayColor>Magenta</gpxx:DisplayColor>
      </gpxx:RouteExtension>
      <trp:Trip>
        <trp:TransportationMode>Walking</trp:TransportationMode>
      </trp:Trip>
    </extensions>
Либо такое содержимое.
    <extensions>
      <gpxx:RouteExtension>
        <gpxx:IsAutoNamed>false</gpxx:IsAutoNamed>
        <gpxx:DisplayColor>Magenta</gpxx:DisplayColor>
      </gpxx:RouteExtension>
    </extensions>
Можно и так. Либо вообще секция отсутствует. Дополнительные поля не терпит.
4
Насчет namespace был не прав. <gpx ... старый работает
============================================================
Сейчас импортится вот такой вариант
<?xml version="1.0" encoding="UTF-8"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="SAS.Planet" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtrx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd">
  <metadata>
    <link href="http://www.sasgis.org/">
      <text>SAS.Planet</text>
    </link>
    <time>2016-03-12T11:54:41Z</time>
    <bounds maxlat="54.766684710146200" maxlon="38.18462203040600" minlat="55.574126575865500" minlon="37.681997518687400"/>
  </metadata>
  <rte>
    <name>Piste 5</name>
    <cmt>12/03/2016 12:53:50</cmt>
    <number>1</number>
    <rtept lat="55.5741265758655" lon="37.6900656034042">
      <name>Piste 5 1</name>
      <sym>waypoint</sym>
    </rtept>
===============================================================
Выводы - чем меньше полей тем меньше проблем :)

sergeyka

13-03-2016 19:23

reporter   ~0017072

И этим ребятам хорошо бы написать багрепорт в их basecamp!

zed

13-03-2016 19:35

manager   ~0017073

>хорошо бы написать багрепорт в их basecamp
Могу даже топик подсказать: Problems importing gpx files into Basecamp

zed

13-03-2016 19:53

manager   ~0017074

Если пересохранить gpx при помощи GPSBabel, он откроется в BaseCamp?

sergeyka

13-03-2016 20:15

reporter   ~0017075

GPX в GPX бабель ничего не поменял. BaseCamp его не понял. Через промежуточный формат - треки пропали :) отстались только wpt заголовок такой

<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.0" creator="GPSBabel - http://www.gpsbabel.org" xmlns="http://www.topografix.com/GPX/1/0">
  <time>2016-03-13T20:10:51.242Z</time>
  <bounds minlat="54.766683333" minlon="37.682000000" maxlat="55.574133333" maxlon="38.184616667"/>
  <wpt lat="55.574133333" lon="37.690066667">
.....
Предельно просто. BaseCamp его понял. Нужно через kml чолль прогнать?

sergeyka

13-03-2016 20:31

reporter   ~0017076

Last edited: 13-03-2016 20:36

Упрощенная до предела версия заголовка. Даже с малым количеством знаков в bounds
прекрасно импортирована BaseCamp
<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.0" creator="SAS.Planet" xmlns="http://www.topografix.com/GPX/1/0">
  <time>2016-03-13T20:10:51.242Z</time>
  <bounds minlat="54.766683333" minlon="37.682000000" maxlat="55.574133333" maxlon="38.184616667"/>
  <rte>
    <name>Piste 5</name>
    <cmt>12/03/2016 12:53:50</cmt>
    <number>1</number>
    <rtept lat="55.5741265758655" lon="37.6900656034042">
      <name>Piste 5 1</name>
      <sym>waypoint</sym>
    </rtept>
.....
Но только с упрощенным <gpx И никак больше. При этом пропадают красивые гарминовские флажки и точки просто как точки. Но трек весь есть.

zed

14-03-2016 08:20

manager   ~0017077

Можно попробовать сделать отдельный экспорт в gpx без <extensions> и с упрощённой шапкой. Хотя, это всё крайне странно.

Подозреваю, ещё будут проблемы при экспорте вперемешку точек и путей (особенно из разных категорий). По стандарту они вроде как должны идти в строгой последовательности: точки, роуты, треки:

<gpx
version="1.1 [1] ?"
creator="xsd:string [1] ?">
<metadata> metadataType </metadata> [0..1] ?
<wpt> wptType </wpt> [0..*] ?
<rte> rteType </rte> [0..*] ?
<trk> trkType </trk> [0..*] ?
<extensions> extensionsType </extensions> [0..1] ?
</gpx>

sergeyka

14-03-2016 09:46

reporter   ~0017078

Я предлагаю малой кровью...
Сделать metadata с учетом знаков после запятой

  <metadata>
    <link href="http://www.sasgis.org/">
      <text>SAS.Planet</text>
    </link>
    <time>2016-03-12T11:54:41Z</time>
    <bounds maxlat="54.766684710146200" maxlon="38.18462203040600" minlat="55.574126575865500" minlon="37.681997518687400"/>
  </metadata>

И убрать полностью
<extensions> extensionsType </extensions>
тк там все равно нет никакой полезной информации. Даже DisplayColor можно пожертвовать - не актуально. Цвет всегда можно назначить.


Но
Если делать добавочный импорт, то назвать его Easy :) и сделать его в варианте вообще без лишних расширений

<?xml version="1.0" encoding="UTF-8"?>
<gpx version="1.0" creator="SAS.Planet" xmlns="http://www.topografix.com/GPX/1/0">
  <time>2016-03-13T20:10:51.242Z</time>
  <bounds minlat="54.766683333" minlon="37.682000000" maxlat="55.574133333" maxlon="38.184616667"/>
  <rte>
    <name>Piste 5</name>
    <cmt>12/03/2016 12:53:50</cmt>
    <number>1</number>
    <rtept lat="55.5741265758655" lon="37.6900656034042">
      <name>Piste 5 1</name>
      <sym>waypoint</sym>
    </rtept>.....


Тут вам разрабам виднее ;)

vdemidov

20-05-2016 10:08

manager   ~0017233

Я за отдельный экспорт. При реализации можно обойтись параметром в конструкторе, но в гуе должно быть отдельно.

zed

07-08-2018 13:33

manager   ~0018374

Займусь этим тикетом за вознаграждение - пишите мне на почту [email protected]

zed

20-04-2023 12:31

manager   ~0020389

Тестируйте свежую ночную версию.

zed

24-04-2023 12:25

manager   ~0020396

P.S. Дело было не в хидерах, а в добавлении тегов, не соответствующих спецификации формата. Большинство прог закрывают на это глаза и просто игнорируют ошибки, а гарминовские проги к этому делу строго подошли, вот и вылезли грабли.

Issue History

Date Modified Username Field Change
13-03-2016 04:54 Parasite New Issue
13-03-2016 08:59 sergeyka Note Added: 0017065
13-03-2016 09:01 sergeyka Note Edited: 0017065
13-03-2016 18:24 zed Note Added: 0017066
13-03-2016 18:25 zed Steps to Reproduce Updated
13-03-2016 18:27 zed Note Added: 0017067
13-03-2016 18:37 sergeyka Note Added: 0017068
13-03-2016 18:46 zed Steps to Reproduce Updated
13-03-2016 19:14 sergeyka Note Added: 0017069
13-03-2016 19:16 zed Note Added: 0017070
13-03-2016 19:22 sergeyka Note Added: 0017071
13-03-2016 19:23 sergeyka Note Added: 0017072
13-03-2016 19:25 sergeyka Note Edited: 0017071
13-03-2016 19:35 zed Note Added: 0017073
13-03-2016 19:53 zed Note Added: 0017074
13-03-2016 20:15 sergeyka Note Added: 0017075
13-03-2016 20:31 sergeyka Note Added: 0017076
13-03-2016 20:36 sergeyka Note Edited: 0017076
14-03-2016 08:20 zed Note Added: 0017077
14-03-2016 09:46 sergeyka Note Added: 0017078
20-05-2016 10:07 vdemidov Status new => confirmed
20-05-2016 10:07 vdemidov Product Version => 151111
20-05-2016 10:07 vdemidov Target Version => 50xxxx.VIP
20-05-2016 10:08 vdemidov Note Added: 0017233
07-08-2018 13:26 zed Relationship added has duplicate 0003355
07-08-2018 13:33 zed Note Added: 0018374
07-08-2018 13:35 zed Tag Attached: garmin
07-08-2018 13:35 zed Tag Attached: gpx
07-08-2018 13:35 zed Tag Attached: метки
07-08-2018 13:35 zed Tag Attached: экспорт
02-06-2019 11:11 vdemidov Relationship added related to 0003449
20-04-2023 12:31 zed Note Added: 0020389
20-04-2023 12:31 zed Assigned To => zed
20-04-2023 12:31 zed Status confirmed => feedback
20-04-2023 12:32 zed Target Version 50xxxx.VIP => 41xxxx
24-04-2023 12:25 zed Note Added: 0020396
24-04-2023 12:25 zed Status feedback => resolved
24-04-2023 12:25 zed Fixed in Version => 41xxxx
24-04-2023 12:25 zed Resolution open => fixed
09-09-2023 18:14 zed Fixed in Version 41xxxx => 230909
09-09-2023 18:19 zed Target Version 41xxxx => 230909
08-08-2025 13:22 zed Category Баг => Баг / Bug