我有一个带有纬度/经度坐标的数据框
latlon
(51.249443914705175, -0.13878830247011467)
(51.249443914705175, -0.13878830247011467)
(51.249768239976866, -2.8610415615063034)
...
我想将这些绘制到 Folium 地图上,但我不确定如何遍历每一行。
任何帮助将不胜感激,在此先感谢!
下面是我是如何做到的,我实际上是在尝试整理一个示例笔记本(添加颜色、弹出窗口等)。我仍在解决问题,但您可以在这里找到:
https://github.com/collinreinking/longitude_latitude_dot_plots_in_python_with_folium
import folium
import pandas as pd
#create a map
this_map = folium.Map(prefer_canvas=True)
def plotDot(point):
'''input: series that contains a numeric named latitude and a numeric named longitude
this function creates a CircleMarker and adds it to your this_map'''
folium.CircleMarker(location=[point.latitude, point.longitude],
radius=2,
weight=5).add_to(this_map)
#use df.apply(,axis=1) to "iterate" through every row in your dataframe
data.apply(plotDot, axis = 1)
#Set the zoom to the maximum possible
this_map.fit_bounds(this_map.get_bounds())
#Save the map to an HTML file
this_map.save('html_map_output/simple_dot_plot.html')
this_map
这可以解决您的问题
import folium
mapit = None
latlon = [ (51.249443914705175, -0.13878830247011467), (51.249443914705175, -0.13878830247011467), (51.249768239976866, -2.8610415615063034)]
for coord in latlon:
mapit = folium.Map( location=[ coord[0], coord[1] ] )
mapit.save( 'map.html')
import folium
latlon = [ (51.249443914705175, -0.13878830247011467), (51.249443914705175, -0.13878830247011467), (51.249768239976866, -2.8610415615063034)]
mapit = folium.Map( location=[52.667989, -1.464582], zoom_start=6 )
for coord in latlon:
folium.Marker( location=[ coord[0], coord[1] ], fill_color='#43d9de', radius=8 ).add_to( mapit )
mapit.save( 'map.html')
如果您使用此参考,那就太好了:https ://github.com/python-visualization/folium