Рубрики
Без рубрики

Визуализируйте туристическую поездку с помощью карты листовки

GPX Track в карту листовки Многие мобильные карты и фитнес-трекеры могут записать свой поход или … Теги от листовки, GPX, Python, JavaScript.

Визуализация с листовой лотой (4 части серии)

Многие приложения для мобильных карт и фитнес-трекеров могут записать свой поход или запустить путешествие, чтобы позже вы могли увидеть ваш трек на карте. Многие из приложений также позволят вам экспортировать дорожку в формат GPX ( GPS Exchange ) Формат «|), чтобы вы могли импортировать дорожки в другие приложения или сделать ваше приложение, которое визуализирует или манипулирует данные.

В этой короткой статье я покажу, как использовать сценарий Python для генерации HTML-страницы, которая показывает карту с помощью листовки с полилинием, представляющей трек, прочитанный из файла GPX.

Сценарий Python использует GPXPY – GPX File Parser Пакет, чтобы прочитать все точки, записанные в данных GPX и преобразуйте его в JavaScript на HTML-странице и визуализируйте дорожку в Листовка карта.

Вы найдете весь сценарий Python под скриншотами или вы можете клонировать его от этого Github repo Отказ

import gpxpy
import os

def main(gpxFilename, htmlFilename) -> None:
    track: list = load_track(gpxFilename)
    if(track != None and len(track) > 0):
        generate_html(track, htmlFilename)
        print("Done generating html page: ", htmlFilename)

def load_track(filename: str) -> list:
    trackPoints: list = []
    if(os.path.exists(filename) == False):
        print(f"File not found: {filename}")
        return
    gpx_file = open(filename)
    try:
        gpx = gpxpy.parse(gpx_file)
        for track in gpx.tracks:
            for segment in track.segments:
                for point in segment.points:
                    trackPoints.append(
                        [float(point.latitude), float(point.longitude)])
    except Exception as error:
        print(f"\nParsing file '{filename}' failed. Error: {error}")
    gpx_file.close()
    return(trackPoints)

def generate_html(track: list, file_out: str) -> None:
    """Generates a new html file with points"""
    template = """
    
    
    
  


  
""" track_points = ",".join([f"[{g_track_point[0]}, {g_track_point[1]}, 0.1]" for g_track_point in track]) track_points = f"var track=[{track_points}];" template = template.replace("var track = [];", track_points) f = open(file_out, "w") f.write(template) f.close() if __name__ == '__main__': main("myTrack.gpx", "myTrack.html")

Посмотрите на некоторые другие хорошие статьи здесь, на разработку

Визуализация с листовой лотой (4 части серии)

Оригинал: “https://dev.to/coderallan/gpx-track-to-leaflet-map-3m93”