24 Январь 2021, 22:06:00
За сутки в базу Добавлено 358 объектов. Отредактировано 184 объекта. Удалено 36 объектов.

Улучшение формата выгрузки POI  (Прочитано 3951 раз)

yuryleb

  • Ветеран
  • *****
  • Сообщений: 1052
  • Карма: 329
  • Garmin DriveAssist 50 - nüvi 2497
    • Просмотр профиля
Улучшение формата выгрузки POI
« : 13 Декабрь 2012, 16:16:45 »
2
Mic, хотелось бы закончить с форматом выгрузки POI для Гармина и перевести его из состояния beta, для чего, по моему мнению, осталось совсем немного. Во что хотелось бы доделать:
  • Переименовать файл garmin.gpx из приходящего архива POI_Garmin.zip, например, в Mapcam.info POI.gpx - имя этого файла служит отображаемым названием сборки в навигаторе, см. первый снимок с навигатора.
  • Дополнить архив POI_Garmin.zip файлами используемых иконок, как в Speedcam и в таком же формате - BMP 8bpp (но можно и 16 или 24bpp, думаю), прозрачность задана цветом Magenta (#FF00FF).
  • Заданный для POI телефон можно выгружать в элемент <gpxx:PhoneNumber> в <gpxx:WaypointExtension>, только без черточек/скобок/пробелов, в общем, как их набирать на сотовом телефоне, навигаторы с hands-free умеют их звонить. См. снимок точки с телефоном.
  • Каждой точке желательно задать символ в <sym> из стандартого гарминовского набора (вот список с довольно старыми символами, но форма у новых осталась примерно такой же), см. подготовленную таблицу соответствия подкатегорий mapcam.info их названиям. Только вот POI Loader их будет учитывать, если не будет BMP-иконок и ссылок <link> на них, и то маловероятно :(
  • Еще желательно выгружать категорию POI не в <cmt>, а в предназначенные для этого элементы <gpxx:Categories>/<gpxx:Category>. Но POI Loader их тоже игнорирует, к сожалению, так что это только для порядка :)
  • Ну и в целях экономии размера выгружаемого файла лучше объявить gpxx:xmlns один раз в первом элементе <gpx>, а не в каждом <gpxx:WaypointExtension> после. И еще xsi:schemaLocation можно дополнить расположением этой схемы в Интернете (см. пример GPX)

Т.е. выгружаемый GPX будет выглядить таким образом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gpx version="1.1" creator="mapcam.info v 0.1" xmlns="http://www.topografix.com/GPX/1/1"
     xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
  <metadata>
    <link href="http://mapcam.info">
      <text>MAPCAM.INFO</text>
    </link>
    <time>2012-12-09T01:54:39Z</time>
  </metadata>
  <wpt lat="59.9278317" lon="30.3232932">
    <name>Вегетарианское заведение</name>
    <desc>[Вегетарианское заведение] Вегетарианское заведение</desc>
    <link href ="73.bmp"/>
    <sym>Restaurant</sym>
    <extensions>
      <gpxx:WaypointExtension>
        <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
        <gpxx:Categories>
          <gpxx:Category>Рестораны. Кафе. Бары. Столовые</gpxx:Category>
        </gpxx:Categories>
        <gpxx:PhoneNumber>+79991234567</gpxx:PhoneNumber>
      </gpxx:WaypointExtension>
    </extensions>
  </wpt>
Вместо того, что сейчас:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gpx version="1.1" creator="mapcam.info v 0.1" 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>
    <link href="http://mapcam.info">
      <text>MAPCAM.INFO</text>
    </link>
    <time>2012-12-13T15:31:13Z</time>
   
  </metadata>
<wpt lat="59.9278317" lon="30.3232932">
                        <name>Вегетарианское заведение</name>
<cmt>[Рестораны. Кафе. Бары. Столовые] Рестораны. Кафе. Бары. Столовые</cmt>
  <desc>[Вегетарианское заведение] Вегетарианское заведение</desc>
  <link href ="73.bmp"/>
<extensions>
   <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3">
<gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
  </gpxx:WaypointExtension>
</extensions>
</wpt>