SASGIS - SAS.Планета
View Issue Details
0000516SAS.Планета[All Projects] Хотелкаpublic30-03-2011 13:4410-10-2012 11:50
Garl 
vasketsov 
normalminoralways
closedfixed 
Windows7Professional
110316.Alfa 
120808120808 
0000516: Импорт GPX
http://www.topografix.com/GPX/1/1
собственно универсальный формат, хочется импорт, реже экспорт.
ибо пользоваться сторонними программами уже устал.
gpx, totalcmd, импорт, скрипты, экспорт
related to 0001076resolved GunSmoker Экспорт GPX 
related to 0001077resolved vdemidov Объединение сегментов трека в мультилинию при импорте GPX 
has duplicate 0000644closed vdemidov Поддержка формата GPX 
rar xerces_libs.rar (480,178) 21-12-2011 19:13
http://www.sasgis.org/mantis/file_download.php?file_id=543&type=bug
Issue History
30-03-2011 13:44GarlNew Issue
30-03-2011 14:23vdemidovRelationship addedduplicate of 0000103
30-03-2011 14:23vdemidovStatusnew => resolved
30-03-2011 14:23vdemidovResolutionopen => duplicate
30-03-2011 14:23vdemidovAssigned To => vdemidov
30-03-2011 14:23vdemidovAssigned Tovdemidov =>
30-03-2011 14:23vdemidovStatusresolved => acknowledged
30-03-2011 14:33vdemidovTarget Version => 29xxxx
31-03-2011 09:14TolikNote Added: 0001457
31-03-2011 09:21vdemidovNote Added: 0001458
31-03-2011 10:03TolikNote Added: 0001460
01-04-2011 14:05gpsMaxTag Attached: gpx
06-04-2011 20:21gpsMaxNote Edited: 0001458bug_revision_view_page.php?bugnote_id=1458#r517
11-04-2011 07:11vdemidovStatusacknowledged => confirmed
11-04-2011 07:57gpsMaxTag Attached: импорт
11-04-2011 07:57gpsMaxTag Attached: экспорт
19-04-2011 19:01vdemidovRelationship addedhas duplicate 0000644
22-04-2011 12:40gpsMaxNote Added: 0002250
22-04-2011 12:43gpsMaxNote Edited: 0002250bug_revision_view_page.php?bugnote_id=2250#r981
08-05-2011 13:16gpsMaxRelationship addedparent of 0000703
02-06-2011 05:19vdemidovRelationship deleted0000103
02-06-2011 05:20vdemidovResolutionduplicate => open
02-06-2011 05:20vdemidovRelationship deletedparent of 0000703
02-06-2011 06:15ELITENote Added: 0002831
25-06-2011 19:03TolikNote Added: 0003047
25-06-2011 23:25gpsMaxNote Added: 0003048
19-08-2011 05:14TolikNote Added: 0003531
06-09-2011 16:46zOnNote Added: 0003746
06-09-2011 16:48zOnNote Edited: 0003746bug_revision_view_page.php?bugnote_id=3746#r1899
06-09-2011 20:01gpsMaxTag Attached: скрипты
06-09-2011 20:01gpsMaxTag Attached: totalcmd
07-09-2011 14:52TolikNote Added: 0003774
01-12-2011 10:05gpsMaxNote Added: 0004458
05-12-2011 07:47vasketsovAssigned To => vasketsov
05-12-2011 07:47vasketsovStatusconfirmed => assigned
16-12-2011 14:33vasketsovNote Added: 0004535
17-12-2011 01:00gpsMaxNote Added: 0004536
18-12-2011 07:44TolikNote Added: 0004539
21-12-2011 12:44vasketsovNote Added: 0004555
21-12-2011 13:16vasketsovNote Edited: 0004555bug_revision_view_page.php?bugnote_id=4555#r2253
21-12-2011 15:05vasketsovNote Added: 0004556
21-12-2011 15:24vasketsovNote Added: 0004557
21-12-2011 15:30vasketsovNote Edited: 0004557bug_revision_view_page.php?bugnote_id=4557#r2255
21-12-2011 18:30zOnNote Added: 0004560
21-12-2011 19:13vasketsovFile Added: xerces_libs.rar
21-12-2011 19:15vasketsovNote Added: 0004561
21-12-2011 19:35zedNote Added: 0004562
21-12-2011 19:45vasketsovNote Added: 0004563
21-12-2011 19:51zedNote Added: 0004564
21-12-2011 20:03vasketsovNote Added: 0004565
22-12-2011 04:55TolikNote Added: 0004566
22-12-2011 04:58GarlNote Added: 0004567
22-12-2011 05:09TolikNote Added: 0004568
22-12-2011 05:10GarlNote Added: 0004569
22-12-2011 05:11TolikNote Added: 0004570
22-12-2011 05:12GarlNote Added: 0004571
22-12-2011 05:13zOnNote Added: 0004572
22-12-2011 05:14GarlNote Added: 0004573
22-12-2011 05:23TolikNote Added: 0004574
22-12-2011 05:52vasketsovNote Added: 0004576
22-12-2011 05:59TolikNote Added: 0004577
22-12-2011 05:59TolikNote Edited: 0004577bug_revision_view_page.php?bugnote_id=4577#r2257
22-12-2011 06:00vasketsovNote Edited: 0004576bug_revision_view_page.php?bugnote_id=4576#r2259
22-12-2011 06:00TolikNote Edited: 0004577bug_revision_view_page.php?bugnote_id=4577#r2260
22-12-2011 06:03vasketsovNote Added: 0004578
22-12-2011 06:04GarlNote Added: 0004579
22-12-2011 06:05vdemidovNote Added: 0004580
22-12-2011 06:06GarlNote Added: 0004581
22-12-2011 06:06TolikNote Added: 0004582
22-12-2011 06:11vasketsovNote Added: 0004583
22-12-2011 06:12TolikNote Edited: 0004582bug_revision_view_page.php?bugnote_id=4582#r2262
22-12-2011 06:12vasketsovNote Added: 0004584
22-12-2011 06:14TolikFile Added: gpx.zip
22-12-2011 06:15TolikNote Added: 0004585
22-12-2011 06:16TolikNote Edited: 0004585bug_revision_view_page.php?bugnote_id=4585#r2264
22-12-2011 06:17TolikNote Edited: 0004585bug_revision_view_page.php?bugnote_id=4585#r2265
22-12-2011 06:18vdemidovNote Added: 0004586
22-12-2011 06:18vdemidovStatusassigned => resolved
22-12-2011 06:18vdemidovFixed in Version => 120808
22-12-2011 06:18vdemidovResolutionopen => fixed
22-12-2011 06:20TolikNote Added: 0004587
22-12-2011 06:21TolikNote Edited: 0004585bug_revision_view_page.php?bugnote_id=4585#r2266
22-12-2011 06:26vasketsovNote Added: 0004588
22-12-2011 06:27TolikFile Deleted: gpx.zip
22-12-2011 06:31vasketsovNote Added: 0004589
22-12-2011 06:42TolikTarget Version29xxxx => 120808
22-12-2011 06:42TolikSummaryПоддержка формата GPX => Импорт GPX
22-12-2011 06:45TolikNote Added: 0004591
22-12-2011 06:46TolikRelationship addedrelated to 0001076
22-12-2011 06:46TolikRelationship addedrelated to 0001077
10-10-2012 11:50TolikStatusresolved => closed

Notes
(0001457)
Tolik   
31-03-2011 09:14   
И я устал :)
Тем более что у последнего GPSbabel GUI ещё хуже прежнего. И с командной строки пользоваться неудобно. Самому, что ли скриптов понаписать...
(0001458)
vdemidov   
31-03-2011 09:21   
(edited on: 06-04-2011 20:21)
Ну лично у меня все треки пишутся в NMEA и складываются в одну папку, а потом скрипт проходит по этой папке и конвертит при помощи консольного GPSBabel в 3 разных формата (kml, plt, gpx), причем конвертит, только те которых еще нет сконверченных.

(0001460)
Tolik   
31-03-2011 10:03   
так поделитесь скриптом, лень самому писать :)
(0002250)
gpsMax   
22-04-2011 12:40   
(edited on: 22-04-2011 12:43)
Скрипт где-то на форуме выкладывался.

@echo off
SETLOCAL
FOR %%i in (%*) do (
IF "%%~xi"==".gdb" (
   echo %%i ".gdb(mapsouce)" %%~dpni.gpx
   gpsbabel.exe -i gdb -o gpx %%i %%~dpni.gpx
)ELSE IF "%%~xi"==".plt" (
   echo %%i ".plt(ozi)" %%~dpni.gpx
 . gpsbabel.exe -i ozi -c CP1251 -f %%i -o gpx -F %%~dpni.gpx
)ELSE IF "%%~xi"==".wpt" (
 . echo %%i ".wpt(ozi)" %%~dpni.gpx
   gpsbabel.exe -i ozi -c CP1251 -f %%i -o gpx -F %%~dpni.gpx
)ELSE (
   echo %%i -- skip
)
)

(0002831)
ELITE   
02-06-2011 06:15   
дада, нужно
+1
(0003047)
Tolik   
25-06-2011 19:03   
В конце концов мне надоело пользоваться гуями gpsbabel и сделал я такую ассоциацию на расширение gpx:

"c:\Program Files\gpsbabel\gpsbabel.exe" -i gpx -f "%1" -o kml -F "%1.kml"

Теперь kml файл создаётся одним кликом.
(0003048)
gpsMax   
25-06-2011 23:25   
Хорошая идея. Только вот, например, у меня на расширения gpx, wpt и прочие стоит просмотр в Gpsmapedit.

Еще косяк этого скрипта - если вызывать из Total Commander'а, он подставляет имя в кавычках, и обработать этот случай я пока толком не придумал как. И ещё - если имя файла с пробелами, оно разобьётся на %1 и прочие, правильный вариант - %*, описан в справке cmd. См. скрипт выше, там это предусмотрено.
(0003531)
Tolik   
19-08-2011 05:14   
> Еще косяк этого скрипта

Нет! Именно в Total Commandere надо создать новую ассоциацию:
установить курсор на файл .gpx, Files - Associate With,
вставить туда эту строку со всеми кавычками, Ok.

"c:\Program Files\gpsbabel\gpsbabel.exe" -i gpx -f "%1" -o kml -F "%1.kml"
(0003746)
zOn   
06-09-2011 16:46   
(edited on: 06-09-2011 16:48)
странно, что раньше не возникло пожелание, т.к. форматы kml и gpx вообще родственны (XML). ИМХО переделок потребуется минимум.
единственная проблема, которая может возникнуть - GPX активно развивается, а следовательно и вносить изменения в импорт/экспорт придется периодически.
вот здесь бы сильно плагин спас.

(0003774)
Tolik   
07-09-2011 14:52   
Странно, что не реализовано с самого начала (и до сих пор). Т.к. GPX поддерживается чуть менее чем всеми программами, работающими с GPS.
А слово плагин попрошу всуе не поминать. Читаю про них целый год, но пока ни одного не видел.
(0004458)
gpsMax   
01-12-2011 10:05   
К слову, список программ, понимающих GPX:
http://www.topografix.com/gpx_resources.asp (ссылка, что интересно, из Википедии)

После реализации туда можно вписаться и получить бонус к цитируемости сайта :-)
(0004535)
vasketsov   
16-12-2011 14:33   
Запись трека в GPX сделал.
Импорт точек и треков в метки пока что отсутствует (точнее, не опубликовано).
Экспорт меток соответственно тоже (вообще ещё не делал, но по идее не сложнее записи трека, которая соответственно уже есть).
Экспорт реально нужен? А то в сравнении с KML будет жесточайший проигрыш в размере полученного файла. Ибо KML умеет список координат хранить, а GPX не умеет, и там это через отдельные trkpt придётся делать. Зато в GPX можно хранить данные от спутников, чего KML не может. А в метках "спутниковой" информации как бы нету совсем, чтобы их экспортировать в GPX.
(0004536)
gpsMax   
17-12-2011 01:00   
Спасибо большое! В ближайшие дни проверю на импорте точек и треков с нового гарминовского девайса.
(0004539)
Tolik   
18-12-2011 07:44   
> Экспорт реально нужен? А то в сравнении с KML будет жесточайший проигрыш в размере полученного файла.

Не то чтобы без него не обойтись, но с ним будет удобно. GPX используется повсеместно, всё время приходится конвертировать. А размер файла часто не имеет значения.
Хотя лично мне нужен импорт из GPX. Ждём!
(0004555)
vasketsov   
21-12-2011 12:44   
(edited on: 21-12-2011 13:16)
Импорт сделал и залил. Ждите в ночнушке.
Кому неохота ждать:
Название: SASPlanet_with gpx_import.rar
Размер: 1.73 Мб
Доступен до: 2012-01-20 16:43:37
Ссылка для скачивания файла: http://ifolder.ru/27727179
зы. сам пропёрся как прикольно стало грузить обновления гибридных слоёв типа яндекса вдоль трасс по своим трекам gpx.

(0004556)
vasketsov   
21-12-2011 15:05   
Импорт без xerces (с использованием msxml)
Название: SASPlanet_without_xerces.rar
Размер: 1.73 Мб
Доступен до: 2012-01-20 19:04:40
Ссылка для скачивания файла: http://ifolder.ru/27730484
(0004557)
vasketsov   
21-12-2011 15:24   
(edited on: 21-12-2011 15:30)
В репо сделал чтобы если нет библиотеки xercesxmldom.dll - юзалось msxml.
Для xerces надо:
Название: xerces_libs.rar
Размер: 468.92 кб
Доступен до: 2012-01-20 19:29:40
Ссылка для скачивания файла: http://ifolder.ru/27730954

(0004560)
zOn   
21-12-2011 18:30   
сюда бы крепил файлы
(0004561)
vasketsov   
21-12-2011 19:15   
xerces_libs.rar прикрепил.
крайне рекомендую его, а не msxml.
ибо банально быстрее работает.
остальное можно будет скоро в ночнушке пощупать, а на япапко всё само со временем сгниёт и протухнет.
(0004562)
zed   
21-12-2011 19:35   
По-идее, эти либы надо включать в релиз https://bitbucket.org/vdemidov/sas.planet но это +2Мб...
(0004563)
vasketsov   
21-12-2011 19:45   
да ну нафиг.
я гружу кадастр росреестра в gpx - это с десяток мегабайт (а то и за 25 бывает) на один район. там это критично.
ну или если грузить треки из josm.
а если пару треков загрузить - и мелкомягкая версия сойдёт.
(0004564)
zed   
21-12-2011 19:51   
>да ну нафиг.
Не понял. Так стоит включать в релиз (и ночную сборку) или нет?
(0004565)
vasketsov   
21-12-2011 20:03   
Библиотеки из xerces_libs.rar необязательные.
Если стоит непокоцанная delphi 2007 - они и так валяются в \System32.
Если их нет - будет юзаться msxmldom (который есть в винде по умолчанию).
Вывод - их необязательно класть в релизный архив и хранить в каждом архиве одно и то же. Если кому надо грузануть стомеговый архив треков - тот почешется.
Если же вопрос касался того, что их имеет смысл положить отдельно и придумать к ним какое-нибудь описание и ссылку на них - то это уже как будет угодно.
зы. В отличие от XMLDocument-а, overhead тут минимальный копеечный, можно ещё подключить OpenXML например в дополнение к xerces и ms. На размере это (добавление вендоров xml dom) вообще не скажется, изменение будет в пределах погрешности округления виндового проводника.
(0004566)
Tolik   
22-12-2011 04:55   
> Если кому надо грузануть стомеговый архив треков - тот почешется.
Напишите, какое место надо чесать.
(0004567)
Garl   
22-12-2011 04:58   
Лучше сразу писать в Wiki
(0004568)
Tolik   
22-12-2011 05:09   
Импортировал сначала без херсов, потом с херсами (положил в дир. с Планетой, правильно?)
Разницы не заметил, работает отлично!

Нельзя ли добавить опцию склейки сегментов? (Или склеивать безусловно?)
Трек с навигатора почему-то состоит из 30 сегментов trkseg, хотя визуально он непрерывный. Соответственно в Планете получилось столько же путей. Хотелось бы получить один.
(0004569)
Garl   
22-12-2011 05:10   
а я вот против такой автоматической склейки
в PLT вот добавили автоматом и фиг разберёшь где какой день, если поход многодневный ....

трек разбит на секции - будьте добры показывать его так как он есть.
(0004570)
Tolik   
22-12-2011 05:11   
Ок, тогда опция.
(0004571)
Garl   
22-12-2011 05:12   
а это лишняя опция в окне диалога
проще сторонними средствами склеить трек. (это их работа)
(0004572)
zOn   
22-12-2011 05:13   
может эта опция будет полезна для ВСЕХ типов импорта?
(0004573)
Garl   
22-12-2011 05:14   
реализовать бы :)
(0004574)
Tolik   
22-12-2011 05:23   
Сторонними не проще. Как именно склеить сторонними? Текстовым редактором знаю как :)
А что, есть навигаторы, которые работают непрерывно много дней? (офтопик)
(0004576)
vasketsov   
22-12-2011 05:52   
(edited on: 22-12-2011 06:00)
>Как именно склеить сторонними?
Ну например кидаешь в GPSMapEdit нужные треки GPX - потом выбираешь экспорт всех аттачей в PLT. Сия метода как раз использует тот факт, что PLT грузится одним куском.

Насчёт грузить всегда одним куском - категорически против. В GPX могут быть (не говоря уже о нетреках вовсе) как разрывы внутри трека (несколько trkseg внутри trk), так и несколько trk (в этом случае вообще эти треки могут быть сильно разнесены в пространстве, и связывать их отрезками нельзя). Короче говоря надо думать над опциями. Например, загрузка gpx одним куском из гармина (с карты памяти при включении опции сохранять суточный трек на карту) просто выглядит как абстрактное художественное извращение.

С опциями своя беда, там общий фрейм со свойствами для импорта и редактирования. А эти опции "склейки" ни разу не нужны при редактировании, поздно уже в этот момент пить боржоми. И таки да, очевидно на plt опция тоже должна в конце концов распространиться.

>проще сторонними средствами склеить трек
Абсолютно нет никакой разницы с точки зрения используемого кода, позвать генерацию объекта в конце trkseg или trk (или вообще в конце всего). Впрочем да сейчас проще, ибо проблема тут не техническая, просто надо научить код понимать, что склеивать, а что - нет (точнее будет даже не так, в какой момент прерывать чтение точек и создавать на основе начитанного новый объект). Возможно нужен более хитрый критерий, типа разрыва при расстоянии более 100 метров или типа того, меньше - нет разрыва (тащим как один трек), такая опция вполне может быть в системных настройках.

(0004577)
Tolik   
22-12-2011 05:59   
(edited on: 22-12-2011 06:00)
Всё-всё, вопрос о безусловной склейке закрыт.
Разные trk, конечно, объединять не надо.
А разные сегменты, опционально, хотелось бы.
Если лень рисовать GUI, сделайте хоть параметр в ini.

Разрывы сегментов получаются при проезде тоннелей, под мостами и т.п. При склейке таких сегментов получается красивый и удобный путь (если только тоннель не очень кривой).

(0004578)
vasketsov   
22-12-2011 06:03   
>Разные trk, конечно, объединять не надо
Я тебе больше скажу, иногда надо объединять даже разные gpx. Пример - треки с карты памяти гармина при переходе через 24 часа (то есть полночь) рвутся по разным файлам (с соседними датами). А между тем это один атомарный акт езды, если так можно выразиться.
(0004579)
Garl   
22-12-2011 06:04   
>Треки с карты памяти гармина при переходе через 24 часа (то есть полночь) рвутся по разным файлам

но есть один большой Activelog.gpx в котором все в одном файле.
(0004580)
vdemidov   
22-12-2011 06:05   
Предлагаю сегменты трека собирать в один путь. И добавить в программу функцию разбиения пути на несколько отдельных по сегментам, как это сделано в Озике.
(0004581)
Garl   
22-12-2011 06:06   
>сегменты трека собирать в один путь
по опции которая включена по умолчанию. мне это дело в PLT очень мешает. приходится один PLT резать на количество дней в пути (а ну ка как их 14 !!!)
(0004582)
Tolik   
22-12-2011 06:06   
(edited on: 22-12-2011 06:12)
После нескольких импортов gpx программа зависает.
При очередном нажатии кнопки Импорт показыает песочные часы, не реагирует, ресурсов не потребляет.

P.S. на дебаговской версии воспроизводится, достаточно 4 или 5 импортов, но elf не генерится.

(0004583)
vasketsov   
22-12-2011 06:11   
Если воспроизводится на конкретном наборе треков - давай его сюда и порядок импорта и чем импортишь (херсами или m$). Garl мне уже несколько слал таких, на которых косяки вылазят (типа одной точки в "треке"). Так что смелее, тем более каникулы на носу, не надо затягивать.
(0004584)
vasketsov   
22-12-2011 06:12   
>но есть один большой Activelog.gpx
на 10 тыщ точек только (((((
(0004585)
Tolik   
22-12-2011 06:15   
(edited on: 22-12-2011 06:21)
gpx.zip - вроде эти несколько треков импортировал и кирдык.
Херсы присутствуют в дтректории SASPlanet.
Windows 7.
Без xerses то же самое.

(0004586)
vdemidov   
22-12-2011 06:18   
Так харош флудить. Хотелку по импорту GPX закрываем как выполненную. А проблемы и пожелания обсуждаем в новых хотелках.
(0004587)
Tolik   
22-12-2011 06:20   
Выполнен только импорт, в хотелке ещё экспорт.
(0004588)
vasketsov   
22-12-2011 06:26   
поглядел - это не относится к собственно импорту вообще, тем более к gpx.
у меня Out of Memory возникает просто при импорте первого файла kml.
крэшится при обновлении меток (внутри function TMarksDb.ReadCurrentMark: IMark);
к сожалению, мне правда сейчас некогда смежные проблемы решать.
(0004589)
vasketsov   
22-12-2011 06:31   
>Выполнен только импорт, в хотелке ещё экспорт
+1. но до экспорта только после НГ руки дойдут.
если надо закрыть - надо править шапку и делить описание на 2 пункта, выделяя экспорт отдельно.

>пожелания обсуждаем в новых хотелках
+1. Опцию (не)деления имеет смсыл делать отдельно. А пока пусть типа такая фича временная будет, PLT не делится, а GPX делится.
(0004591)
Tolik   
22-12-2011 06:45   
Создал:
0001077 Опциональное объединение сегментов при импорте GPX
0001076 Экспорт GPX
0001075 Зависает после нескольких импортов GPX