Смотрим трек Garmin (GPX) на maps.google.ru или SASPlanet (KML)

Для того что бы отобразить GPX трек на maps.google.ru требуется конвертация, можно воспользоватся простым скриптом convert.sh:

#!/bin/sh

# Запускаем скрипт так:
# sh ./convert.sh ./имя_файла.gpx
# Где имя_файла.gpx - имя с треком из Garmin
# На выходе получаем сконвертированный файл convert.kml который можно загрузить в maps.google.ru

cat <<EOF > convert.kml
<?xml version="1.0" encoding="ISO-8859-1" ?><kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>opal.kml</name>
<Placemark>
        <name>Name</name>
        <visibility>0</visibility>
        <description>Discription</description>
        <styleUrl>#redLineBluePoly</styleUrl>
        <LineString>
          <tessellate>1</tessellate>
          <altitudeMode>absolute</altitudeMode>
          <coordinates>
EOF

cat "${1}" | sed 's/\/trkpt>/\/trkpt>\n/g' \
| sed 's/trkseg>/trkseg>\n/g' \
| grep "trkpt lat" \
| awk 'BEGIN{FS="\""}{print $4","$2",0"}' \
>> convert.kml

cat <<EOF >> convert.kml
</coordinates>
        </LineString>
      </Placemark>
</Document></kml>
EOF

Если количество точек трека слишком большое и мы хотим его проредить, то заменим строку скрипта:

| awk 'BEGIN{FS="\""}{print $4","$2",0"}' \

на:

| awk 'BEGIN{FS="\""}{print($4","$2",0"); getline; getline; getline; getline; getline; getline;}' \

Таким образом мы оставляем только каждую седьмую точку маршрута.

Tags:

Leave a Reply