我有一个带lat / lon坐标的数据框
latlon
(51.249443914705175, -0.13878830247011467)
(51.249443914705175, -0.13878830247011467)
(51.249768239976866, -2.8610415615063034)
...
我想将这些绘制到Folium地图上,但我不确定如何遍历每一行。
任何帮助将不胜感激,提前致谢!
答案 0 :(得分:7)
以下是我的做法,我实际上是在尝试整理一个例子的笔记本(添加颜色,弹出窗口等)。我还在解决这些问题,但你可以在这里找到它:
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=0).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
答案 1 :(得分:4)
这可以解决您的问题
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