我如何使用 python 中的纬度和经度数据绘制地图并突出显示地图中的几个纬度和经度点?ints
How can i plot a map using Latitude and longitude data in python & Highlight few Latitude and Longitude points in the map ?ints
我是 python 的新手。
我有一个关于如何使用纬度和经度数据在 Python 中绘制地图的问题?
我之前做过什么:
第 1 步:我有一个 CSV 文件,其中包含有关车辆驾驶信号的信息。
第 2 步:从文件中,我以 pandas 数据框的形式提取了一些纬度和经度数据。
第 3 步:现在我将该数据框保存为 CSV 文件。
第 4 步:保存后,我将该文件提供给 Online GPS Visualizer,因此它会生成一个 Open street map。
[![在此处输入图片描述][1]][1]
要求编号:1
我只想在 python 中绘制同一张地图,而不是将 Lat&Long csv 文件提供给 Online GPS Visualizer。那么我应该使用哪个库?底图库适合我的工作还是我应该换一个选择?
要求编号:2
在 python 中绘制地图后,我只想突出显示地图中的几个纬度和经度点。 (如图所示)
按照此 link1 and 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")
我是 python 的新手。
我有一个关于如何使用纬度和经度数据在 Python 中绘制地图的问题?
我之前做过什么:
第 1 步:我有一个 CSV 文件,其中包含有关车辆驾驶信号的信息。
第 2 步:从文件中,我以 pandas 数据框的形式提取了一些纬度和经度数据。
第 3 步:现在我将该数据框保存为 CSV 文件。
第 4 步:保存后,我将该文件提供给 Online GPS Visualizer,因此它会生成一个 Open street map。
[![在此处输入图片描述][1]][1]
要求编号:1
我只想在 python 中绘制同一张地图,而不是将 Lat&Long csv 文件提供给 Online GPS Visualizer。那么我应该使用哪个库?底图库适合我的工作还是我应该换一个选择?
要求编号:2
在 python 中绘制地图后,我只想突出显示地图中的几个纬度和经度点。 (如图所示)
按照此 link1 and 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")