Визуализация с листовой лотой (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”