- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用一个记录所有用户地理位置的应用程序。现在重要的是,我要从每个用户在特定时间段内选择最重要的地理位置。例如;对于某个用户,我有上个月的以下位置。
long lat
2236 51.471899 5.471339
3432 51.461456 5.486195
3433 51.454544 5.487742
3434 51.471934 5.471232
3567 51.441648 5.464492
3568 51.398149 5.478717
3569 51.467318 5.470221
3570 51.467257 5.478014
3571 51.468200 5.477699
3572 51.443477 5.472390
仅选择此列表中的一个坐标非常重要,该坐标总结了用户最有可能打开应用程序的位置。这将是我们必须集中资源的地方。
主要问题:如何确定特定时间段内每个用户的哪个地理位置最重要?
这里,我在名为 folium 的 Python 库提供的 map 上绘制了一位用户的地理位置
我目前解决这个问题的最佳想法
对于每个地理位置,我在地理位置周围取 x 米的半径。我计算了该特定用户有多少其他地理位置属于此范围。在其半径内具有最多其他地理位置的地理位置被视为该特定用户最重要的地理位置。
我向你们提出的问题
我是解决此类问题的新手,我不知道我的解决方案是否是最好的选择,或者是否有更好的解决方案来解决此类问题。如果你们对此问题有任何反馈,我们将不胜感激!
最佳答案
解决方案的开始,你必须安装geopy来简化距离的计算:我假设id是一个位置id,我计算所有位置id之间的所有距离(公里)
from geopy.distance import lonlat,distance
df= pd.DataFrame({'id': [2236, 3432, 3433, 3434, 3567, 3568, 3569, 3570, 3571, 3572],
'lon': [51.471899, 51.461456, 51.454544, 51.471934, 51.441648, 51.398149, 51.467318, 51.467257, 51.4682, 51.443477],
'lat': [5.471339, 5.486195, 5.487742, 5.471232, 5.464492, 5.478717, 5.470221, 5.478014, 5.477699, 5.47239]})
df_all = pd.merge(df.assign(key=0), df.assign(key=0),suffixes=('', '_loc') , on='key').drop('key', axis=1)
df_all['KM'] = df_all.apply(
(lambda row:distance(lonlat(row['lon'], row['lat']),lonlat(row['lon_loc'], row['lat_loc'])).km), axis=1)
print(df_all)
输出:
id lon lat id_loc lon_loc lat_loc KM
0 2236 51.471899 5.471339 2236 51.471899 5.471339 0.000000
1 2236 51.471899 5.471339 3432 51.461456 5.486195 2.009507
2 2236 51.471899 5.471339 3433 51.454544 5.487742 2.643655
3 2236 51.471899 5.471339 3434 51.471934 5.471232 0.012452
:
10 3432 51.461456 5.486195 2236 51.471899 5.471339 2.009507
11 3432 51.461456 5.486195 3432 51.461456 5.486195 0.000000
12 3432 51.461456 5.486195 3433 51.454544 5.487742 0.784811
:
70 3570 51.467257 5.478014 2236 51.471899 5.471339 0.899710
71 3570 51.467257 5.478014 3432 51.461456 5.486195 1.109818
:
98 3572 51.443477 5.472390 3571 51.468200 5.477699 2.801878
99 3572 51.443477 5.472390 3572 51.443477 5.472390 0.000000
(100 rows)
希望能有所帮助,对我糟糕的英语感到抱歉
关于python - 应用程序用户记录的地理位置 - 哪个位置最重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54886525/
在为 Web 应用程序用例图建模时,为用户可以拥有的每个角色创建一个角色是否更好?或拥有一个角色、用户和一个具有特权的矩阵? guest < 用户 < 版主 < 管理员 1: guest 、用户、版主
我无法使用 Elixir 连接到 Postgres: ** (Mix) The database for PhoenixChat.Repo couldn't be created: FATAL 28P
这个问题已经有答案了: Group by field name in Java (7 个回答) 已关闭 7 年前。 我必须编写一个需要 List 的方法并返回 Map> . User包含 Person
感谢您的帮助,首先我将显示代码: $dotaz = "Select * from customers JOIN contracts where customers.user_id ='".$_SESS
我只想向所有用户中的一个用户显示一个按钮。我尝试了 orderByKey() 但没有成功! 用户模型有 id 成员,我尝试使用 orderByChild("id") 但结果相同! 我什至尝试了以下技巧
我们在工作中从 MongoDB 切换到 Postgres,我正在建立一个 BDR 组。 在这一步,我正在考虑安全性并尽可能锁定。因此,我希望设置一个 replication 用户(角色)并让 BDR
export class UserListComponent implements OnInit{ users; constructor(private userService: UserS
我可以使用 Sonata User Bundle 将 FOS 包集成到 sonata Admin 包中。我的登录功能正常。现在我想添加 FOSUserBundle 中的更改密码等功能到 sonata
在 LinkedIn 中创建新应用程序时,我得到 4 个单独的代码: API key 秘钥 OAuth 用户 token OAuth 用户密码 我在 OAuth 流程中使用前两个。 的目的是什么?最后
所以..我几乎解决了所有问题。但现在我要处理另一个问题。我使用了这个连接字符串: SqlConnection con = new SqlConnection(@"Data Source=.\SQLEX
我有一组“用户”和一组“订单”。我想列出每个 user_id 的所有 order_id。 var users = { 0: { user_id: 111, us
我已经为我的Django应用创建了一个用户模型 class User(Model): """ The Authentication model. This contains the u
我被这个问题困住了,找不到解决方案。寻找一些方向。我正在用 laravel 开发一个新的项目,目前正致力于用户认证。我正在使用 Laravels 5.8 身份验证模块。 对密码恢复 View 做了一些
安装后我正在使用ansible配置几台计算机。 为此,我在机器上本地运行 ansible。安装中的“主要”用户通常具有不同的名称。我想将该用户用于诸如 become_user 之类的变量. “主要”用
我正在尝试制作一个运行 syncdb 的批处理文件来创建一个数据库文件,然后使用用户名“admin”和密码“admin”创建一个 super 用户。 到目前为止我的代码: python manage.
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 6 年前。 Improv
我已在 Azure 数据库服务器上设置异地复制。 服务器上运行的数据库之一具有我通过 SSMS 创建的登录名和用户: https://learn.microsoft.com/en-us/azure/s
我有一个 ionic 2 应用程序,正在使用 native FB Login 来检索名称/图片并将其保存到 NativeStorage。流程是我打开WelcomePage、登录并保存数据。从那里,na
这是我的用户身份验证方法: def user_login(request): if request.method == 'POST': username = request.P
我试图获取来自特定用户的所有推文,但是当我迭代在模板中抛出推文时,我得到“User”对象不可迭代 观看次数 tweets = User.objects.get(username__iexact='us
我是一名优秀的程序员,十分优秀!