SASGIS - SAS.Планета
View Issue Details
0002984SAS.Планета[All Projects] Багpublic13-03-2016 04:5409-09-2023 18:19
Parasite 
zed 
normalminorhave not tried
resolvedfixed 
151111 
230909230909 
0002984: Добавить хидеры в GPX для корректного открытия в BaseCamp
По итогам обсуждения темы: http://www.sasgis.org/forum/viewtopic.php?f=52&t=2836&start=0

Хидеры, генерируемые САСом:
-----
<?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">
-----
= файл открывается корректно.
Тикет не мой, тестировать не на чем. Я просто разместил объяву - ибо больше некому, как я понял. :)
garmin, gpx, метки, экспорт
has duplicate 0003355closed zed Exported GPS not recognized by Mapsource 
related to 0003449resolved zed  Garmin Mapsource не открывает *.GPX файл созданный САС.Планет 
Issue History
13-03-2016 04:54ParasiteNew Issue
13-03-2016 08:59sergeykaNote Added: 0017065
13-03-2016 09:01sergeykaNote Edited: 0017065bug_revision_view_page.php?bugnote_id=17065#r6872
13-03-2016 18:24zedNote Added: 0017066
13-03-2016 18:25zedSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=6874#r6874
13-03-2016 18:27zedNote Added: 0017067
13-03-2016 18:37sergeykaNote Added: 0017068
13-03-2016 18:46zedSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=6875#r6875
13-03-2016 19:14sergeykaNote Added: 0017069
13-03-2016 19:16zedNote Added: 0017070
13-03-2016 19:22sergeykaNote Added: 0017071
13-03-2016 19:23sergeykaNote Added: 0017072
13-03-2016 19:25sergeykaNote Edited: 0017071bug_revision_view_page.php?bugnote_id=17071#r6877
13-03-2016 19:35zedNote Added: 0017073
13-03-2016 19:53zedNote Added: 0017074
13-03-2016 20:15sergeykaNote Added: 0017075
13-03-2016 20:31sergeykaNote Added: 0017076
13-03-2016 20:36sergeykaNote Edited: 0017076bug_revision_view_page.php?bugnote_id=17076#r6879
14-03-2016 08:20zedNote Added: 0017077
14-03-2016 09:46sergeykaNote Added: 0017078
20-05-2016 10:07vdemidovStatusnew => confirmed
20-05-2016 10:07vdemidovProduct Version => 151111
20-05-2016 10:07vdemidovTarget Version => 30xxxx.Vip
20-05-2016 10:08vdemidovNote Added: 0017233
07-08-2018 13:26zedRelationship addedhas duplicate 0003355
07-08-2018 13:33zedNote Added: 0018374
07-08-2018 13:35zedTag Attached: garmin
07-08-2018 13:35zedTag Attached: gpx
07-08-2018 13:35zedTag Attached: метки
07-08-2018 13:35zedTag Attached: экспорт
02-06-2019 11:11vdemidovRelationship addedrelated to 0003449
20-04-2023 12:31zedNote Added: 0020389
20-04-2023 12:31zedAssigned To => zed
20-04-2023 12:31zedStatusconfirmed => feedback
20-04-2023 12:32zedTarget Version30xxxx.Vip => 24xxxx
24-04-2023 12:25zedNote Added: 0020396
24-04-2023 12:25zedStatusfeedback => resolved
24-04-2023 12:25zedFixed in Version => 24xxxx
24-04-2023 12:25zedResolutionopen => fixed
09-09-2023 18:14zedFixed in Version24xxxx => 230909
09-09-2023 18:19zedTarget Version24xxxx => 230909

Notes
(0017065)
sergeyka   
13-03-2016 08:59   
(edited on: 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

(0017066)
zed   
13-03-2016 18:24   
> и вот ненравится размерность координат
В чём это проявляется?

Кто-нибудь знает gpx-валидатор? Вот тут http://www.topografix.com/gpx_validation.asp упоминается некий SaxCount.exe которым можно проверять валидность сгенерированных файлов. Только что-то мне не удалось найти эту утилиту. Видимо, информация устаревшая.
(0017067)
zed   
13-03-2016 18:27   
> пришлось менять namespace на
Менять, в смысле - переставлять порядок объявления?
(0017068)
sergeyka   
13-03-2016 18:37   
Насколько я понял SaxCount.exe вообще используется чисто для проверки валидности xml и не более.
Может использовать стандартный конвертер?
http://www.gpsbabel.org/download.html
(0017069)
sergeyka   
13-03-2016 19:14   
Блин! коммент полчаса писал, а он пропал.. Сейчас отпишусь о критических секциях. Полчаса капи этот мучил...
(0017070)
zed   
13-03-2016 19:16   
Ага, бывает такое. Я пользуюсь вот этой штукой для восстановления текста: https://addons.mozilla.org/ru/firefox/addon/lazarus-form-recovery/
(0017071)
sergeyka   
13-03-2016 19:22   
(edited on: 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>
===============================================================
Выводы - чем меньше полей тем меньше проблем :)

(0017072)
sergeyka   
13-03-2016 19:23   
И этим ребятам хорошо бы написать багрепорт в их basecamp!
(0017073)
zed   
13-03-2016 19:35   
>хорошо бы написать багрепорт в их basecamp
Могу даже топик подсказать: Problems importing gpx files into Basecamp
(0017074)
zed   
13-03-2016 19:53   
Если пересохранить gpx при помощи GPSBabel, он откроется в BaseCamp?
(0017075)
sergeyka   
13-03-2016 20:15   
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 чолль прогнать?
(0017076)
sergeyka   
13-03-2016 20:31   
(edited on: 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 И никак больше. При этом пропадают красивые гарминовские флажки и точки просто как точки. Но трек весь есть.

(0017077)
zed   
14-03-2016 08:20   
Можно попробовать сделать отдельный экспорт в 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>
(0017078)
sergeyka   
14-03-2016 09:46   
Я предлагаю малой кровью...
Сделать 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>.....


Тут вам разрабам виднее ;)
(0017233)
vdemidov   
20-05-2016 10:08   
Я за отдельный экспорт. При реализации можно обойтись параметром в конструкторе, но в гуе должно быть отдельно.
(0018374)
zed   
07-08-2018 13:33   
Займусь этим тикетом за вознаграждение - пишите мне на почту [email protected]
(0020389)
zed   
20-04-2023 12:31   
Тестируйте свежую ночную версию.
(0020396)
zed   
24-04-2023 12:25   
P.S. Дело было не в хидерах, а в добавлении тегов, не соответствующих спецификации формата. Большинство прог закрывают на это глаза и просто игнорируют ошибки, а гарминовские проги к этому делу строго подошли, вот и вылезли грабли.