Преамбула:
Так уж получилось, что в формате gpx не определены некоторые важные параметры (тэги). Наиболее известным "косяком" такого рода безусловно является отсутствие стандартного документированного способа сохранить скорость движения в конкретной точке (в терминах gpx - стандарт предусматривает сохранение скорости только внутри <extensions> для <trkpt>). Поэтому разные "писатели треков" идут на разные ухищрения, а разные "читатели треков" не всегда за ними поспевают. Например, GPSMapEdit читает/сохраняет тэг <speed> прямо внутри <trkpt> (что, напомню, противоречит стандарту). Из известных расширений gpx наверное самое известное - это гарминовское расширение, когда в extensions пихается глубина и температура. Пожалуй, это практически единственный случай, когда расширение оформлено как подобает (тут и тут, формат тривиальный). Так как формат gpx основан на формате xml, файл расширений в формате xsd используется (в приложении к gpx) для добавления новых полей, описанию их человеческим языком с комментариями, указания возможных типов и диапазонов значений.
Хотелось бы при реализации сохранения в GPX сделать всё по-стандарту (впрочем уж так и быть, с опциональной поддержкой тэга speed для GPSMapEdit, всё же основной инструмент для многих).
Да и всё равно коли когда-нибудь делать привязку видео или аудио к точкам трека, по любому без расширения не обойтись, ибо более или менее стандартных широко распространённых расширений для этого я не знаю.
Как ни крути, gpx пока что самый продвинутый формат для записи треков.
Содержательная часть:
1. Необходимо придумать место (адрес http:) для сохранения файла xsd. Не в викисасии (ибо правиться этот файл не должен не то что кем попало, а вообще никем после публикации). Впрочем в викисасии может быть описание формата и вообще особенностей сохранения и чтения треков в программе (пока что этого нет, даже раздела). Доступность файла необходимо обеспечить для а) корректной работы сторонних парсеров gpx, которые могут как минимум проверять поля и типы в расширениях, б) для ознакомления (всё же несколько глупо полностью дублировать файл в викисасии, там достаточно ссылки на файл). Естественно, этот файл может быть закэширован броузерами, прокси-серверами и т.п. Для работы самой саспланеты он не потребуется.
2. Пока делаю и ещё не опубликовал - прошу дать ссылки на известные расширения (на xsd). Без xsd нашёл "nmea:", но там в разных местах разные параметры, а описаний в виде xsd вообще нет, так что по большому счёту я забил на него (хоть и добавил его опциональную поддержку). Про гармин знаю, но не сделал, ибо там только температура и глубина, для саса скажем так не очень актуально (впрочем, могу и ошибаться).
3. Любые другие комментарии и пожелания приветствуются. Пока что речь касается только записи треков в формате gpx (полёта по треку, привязки аудио и видео, импорта в базу меток я пока не делаю), но тем не менее прочее важное тоже имеет смысл обсудить заранее.
4. Чуть не забыл. В стандарте gpx есть комментарий, что trkseg используется для указания разрыва трека при пропадании сигнала. Однако нет указания на то, что это единственный способ и другие запрещены. Вкупе с отсутствием любых параметров у тэга trkseg и наличии параметров у trk, ну и исходя из возможности простого отдельного выделения треков в редакторах, сделал так, что при разрыве трека будет рваться не сегмент, а trk целиком (ну а при появлении сигнала соответственно новый тэг trk снова откроется). Если есть принципиальные возражения - приводите.