用叶子绘制标记是否有限制?

时间:2018-04-23 15:21:29

标签: python pandas plot data-science folium

我正在策划朝鲜战争期间美国空军对朝鲜的任务。

以下是2800图的地图。

enter image description here

我总共有大约7500个图,但每当我尝试绘制2800以上的空白地图时。我在PC笔记本电脑上渲染。如果我使用桌面,它会呈现吗?或者这是对folium的限制吗?

我不是在猜测这是数据的问题。我将分享坐标数据,以防有人想要探索它:link到公共Excel工作表。

2 个答案:

答案 0 :(得分:0)

正如@Bob Haffner所建议的那样,您可以使用Folium库中的FastMarkerCluster。 这是我的代码,我的文件中有〜500K点。

import pandas as pd
import json
from folium.plugins import FastMarkerCluster

rome_lat, rome_lng = 41.9028, 12.4964
with open("file_name.json", 'r') as f:
  # create a new DataFrame
  samples = pd.DataFrame(json.loads(f.read()))        
# init the folium map object
my_map = folium.Map(location=[rome_lat, rome_lng], zoom_start=5)
# add all the point from the file to the map object using FastMarkerCluster
my_map.add_child(FastMarkerCluster(samples[['latitude', longitude']].values.tolist()))
# save the map 
my_map.save("save_file.html")

此代码大约需要10毫秒才能呈现地图。

有关更多详细信息示例,请访问此链接: FastMarkerCluster example

希望这对您有帮助...

答案 1 :(得分:0)

另一种选择是,我们可以使用folium.map.FeatureGroup()函数在一个图层上添加特定数量的标记(例如3000个标记),该功能将在单个图层上添加3000个标记,然后将该图层添加到使用add_child()函数绘制地图,从而减少了地图上的图层数量。我得到了20,000个标记和3000个行字符串的结果。并能够在40-45秒内加载。