Как я могу построить карту, используя данные о широте и долготе в python и выделить несколько точек широты и долготы на карте? - PullRequest
0 голосов
/ 31 января 2019

Я новичок в работе с Python.

У меня есть вопрос относительно того, как построить карту в Python, используя данные широты и долготы?

Что я делал раньше:

Шаг 1: У меня есть файл CSVкоторый содержит информацию о сигнале движения транспортного средства.
Шаг 2: Из файла я извлек данные широты и долготы в виде фрейма данных pandas.
Шаг 3: Теперь я сохраняю этот фрейм данных в виде файла CSV.
Шаг 4. После сохранения я передаю этот файл в онлайн-визуализатор GPS, чтобы он генерировал открытую карту улиц.

enter image description here

Требование №: 1

Я просто хочу, чтобы та же карта была построена в python вместо того, чтобы выдавать файл Lat & Long csv вОнлайн GPS визуализатор.Так какую библиотеку я должен использовать?База карт Библиотека подходит для моей работы или я должен пойти на другую альтернативу?

Требование №: 2

После построения карты в Python я просто хочу выделить несколько точек широты и долготы вкарта.(Как указано на изображении)

1 Ответ

0 голосов
/ 31 января 2019

Как следует из этих link1 и link2 , вы можете достичь некоторых аналогичных результатов.Вот как выглядит код, например:

import gpxpy
import gpxpy.gpx
import folium

gpx_file = open('path_to_gpx_file.gpx', 'r')

gpx = gpxpy.parse(gpx_file)
points = []
for track in gpx.tracks:
    for segment in track.segments:        
        for point in segment.points:
            points.append(tuple([point.latitude, point.longitude]))
print(points)
ave_lat = sum(p[0] for p in points)/len(points)
ave_lon = sum(p[1] for p in points)/len(points)

# Load map centred on average coordinates
my_map = folium.Map(location=[ave_lat, ave_lon], zoom_start=14)

#add a markers
for each in points:  
    folium.Marker(each).add_to(my_map)

#fadd lines
folium.PolyLine(points, color="red", weight=2.5, opacity=1).add_to(my_map)

# Save map
my_map.save("./gpx_berlin_withmarker.html")
...