数据是一艘船当天所处位置的时空定位点,包含500多个经纬度坐标、速度、航向等等,每个点的速度航向都不一样。
目前已经可以在地图上画出这500多个点,但是每个点大小颜色都是一样的,现在是想让速度大于某个值得点用另一种颜色画出、航向大于某个值的用第三种颜色画出。
我看不少“一个图上画出不一样的点”的帖子都是将某个确定经纬度值的点画出来,但是我这个数据较多,希望能用判断或者循环语句等来画出不同点。
希望能给出具体语句或者函数,文字描述我真不一定能看懂。
用folium,谢谢各位大神!
这样可以吗?
import folium
data = np.array([ # 纬度、经度、方向、速度
[36.4, 117.0, 90, 50],
[36.2, 117.2, 0, 100],
[36.6, 117.0, 180, 100]
])
city_map = folium.Map(location=[36.4, 117.0], zoom_start=10)
for lat, lon, d, v in data:
folium.CircleMarker(
location = [lat, lon],
radius = 50,
popup = 'Here',
color = '#ff0000' if d > 90 else '#cc0000', # 方向大于90,则画红色圆圈,否则绿色圆圈
fill = True,
fill_color = '#ffff00' if v > 50 else '#00ffff', # 速度大于90,则填充橙色,否则填充青色
).add_to(city_map)
city_map