我想使用 folium 包在给定特定日期时间及其纬度和经度的情况下,按不同 id 的时间顺序显示跟踪

如何解决我想使用 folium 包在给定特定日期时间及其纬度和经度的情况下,按不同 id 的时间顺序显示跟踪

data[data["fixedAt"] <= date_]

    idTracking  fixedAt             latitud      longitud
3   12953       2021-02-23 15:54:24 -34.665799  -58.472854
4   12953       2021-02-23 18:14:46 -34.665792  -58.472878
5   12967       2021-02-23 18:02:02 -34.604630  -58.530462
6   12953       2021-02-24 08:06:34 -34.665807  -58.472890
7   12953       2021-02-24 09:18:15 -34.665762  -58.472910
... ... ... ... ...
208 12953       2021-02-24 14:00:14  -34.665781 -58.472893
209 12953       2021-02-24 14:44:56  -34.665760 -58.473002
210 12969       2021-02-24 14:35:52  -34.729679 -58.470623
211 12953       2021-02-24 15:24:56  -34.665822 -58.472893
212 12967       2021-02-24 15:23:15  -34.604569 -58.530470

from folium.features import DivIcon

map_osm = folium.Map(location=[-34.665792,-58.472878],zoom_start=4)

for _,row in data.iterrows():
    folium.CircleMarker(location=[row["latitud"],row["longitud"]],radius=3).add_to(map_osm)
    
    folium.Marker(location=[row["latitud"],icon=DivIcon(icon_size=(150,36),icon_anchor=(0,0),html='<div style="font-size: 8pt">{}</div>'.format(row['idTracking']))).add_to(map_osm)

map_osm

Example of what the map

我还想根据它的 idTracking 给它上色,例如一个方向图,我可以在其中查看每批货物的地图中的历史记录。

我尝试使用folium,但我只能得到每个纬度和经度的不同点。

谢谢!任何可以帮助我的人

解决方法

我喜欢使用 folium 的 AntPath() 来处理这种类型的事情

从一些数据开始

idTracking             fixedAt    latitud   longitud
0        12953 2021-02-23 15:54:24 -34.665799 -58.472854
1        12953 2021-02-23 18:14:46 -34.665792 -58.472878
2        12953 2021-02-24 08:06:34 -34.765807 -58.472890
3        12953 2021-02-24 09:18:15 -34.665762 -58.492910
4        12953 2021-02-24 14:00:14 -34.665781 -58.472893
5        12953 2021-02-24 14:44:56 -34.665760 -58.493002
6        12953 2021-02-24 15:24:56 -34.565822 -58.472893
7        12967 2021-02-23 18:02:02 -34.604630 -58.530462
8        12967 2021-02-24 15:23:15 -34.604569 -58.530470
9        12967 2021-02-25 16:23:15 -34.704569 -58.540470
10       12967 2021-02-26 17:23:15 -34.804569 -58.630470 

我使用 Pandas 的 groupby 一次处理一条“路线”,然后简单地以点列表的形式将路线传递给 AntPath()

import folium
from folium.plugins import AntPath
import pandas as pd

cd = {12953 : 'blue',12967: 'red'}

map_osm = folium.Map(location=[-34.665792,-58.472878],zoom_start=10)

for idt,grp in df.sort_values(['idTracking','fixedAt']).groupby('idTracking'):
    route = grp[['latitud','longitud']].values.tolist()
    AntPath(route,tooltip=idt,color=cd[idt]).add_to(map_osm)
map_osm

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?