基于游客时空行为特征研究(两步路)

news/2024/11/26 11:46:16/

1 轨迹计算

1.1 使用geopy

geopy模块常用于定位全球地址、以及经纬度相关的转换与计算,详细请参考:

https://pypi.org/project/geopy/

1.2 安装

pip install geopy

1.3 根据经纬度计算距离

Geopy可以使用测地线距离或大圆距离计算两点之间的测地线距离, 默认的测地线距离可用作函数geopy.distance.distance。

下面是测地线距离的示例用法,取对 元组数量:(lat, lon)

from geopy.distance import geodesic
pre = (39.053535, 113.661705) 
after = (39.054092,113.660706)
print(geodesic(pre, after).miles)

输出结果:0.06605704759005734米

1.4 拓展:根据经纬度反向获取地址

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")
location = geolocator.reverse("39.053795, 113.66118")
print(location.address)

输出结果:S205, 繁峙县, 忻州市, 山西省, 中国

2 应用

经过查看论文研究,很多用户会经常徒步旅行,同时呢会使用两步走app来记录自己的行程轨迹,这样我们可以分析用户的徒步过程的一些状态

来源两步路
来源两步路

可以根据用户轨迹相关信息,进行GIS空间分析

来源基于UGC数据的古镇游客时空行为特征研究
来源基于UGC数据的古镇游客时空行为特征研究

具体可参考

https://m.fx361.com/news/2022/1124/13935932.html

数据示例:

距离计算代码:

def calculate_gj():
    print("开始计算")
    tp = [i for i in readData().values]
    print("总条数:%s"%len(tp))
    all_tp_dict = {value: [tp[i] for i in range(len(tp)) if tp[i][-1] == value] for value in set([i[-1] for i in tp])}
    print("开始循环")
    for all_tp in all_tp_dict.values():
        # print(all_tp)
        tp = [i for i in all_tp]
        userName = tp[0][0]
        dt = tp[0][1]
    # tp = [i for i in readData().values]
        for t in range(len(tp) - 1):
            t1 = t
            t2 = t + 1
            stopTime = (tp[t2][3] - tp[t1][3]) / 1000
            stopDistance = geodesic((tp[t1][5], tp[t1][2]), (tp[t2][5], tp[t2][2])).m
            speed = round((tp[t2][6] + tp[t1][6])/2,2)
            if ((stopDistance < 50 and stopTime <= 60*60) or (stopDistance < 50 and stopTime>0)) and (speed<=1.5 and speed>=0):
                result = {}
                result["userName"] = userName
                result["dt"] = dt
                result["停留时间(分钟)"] = round(stopTime / 60, 2)
                result["纬度"] = tp[t1][5]
                result["经度"] = tp[t1][2]
                result["距离"] = round(stopDistance, 2)
                result["速度"] = round((tp[t2][6] + tp[t1][6])/2,2)
                # result.update(rr)
                print(result)
                resultList.append(result)

图片无法展示,具体可参考:https://mp.weixin.qq.com/s?__biz=Mzk0NzI4MDc5Mw==&mid=2247485599&idx=1&sn=10386d8825722aa73cc56d3f762a52ea&chksm=c3780669f40f8f7f56c3cb86f6e5d0453af9bf11446f8dc06107947db34cbd7a174b4273862b#rd


http://www.ppmy.cn/news/459969.html

相关文章

【Luogu】 P6076 [JSOI2015]染色问题

题目链接 点击打开链接 题目解法 可以一个一个条件考虑 只考虑条件 1 1 1 答案即为 ( c 1 ) n m (c1)^{nm} (c1)nm考虑条件 1 , 2 1,2 1,2 对每一行的方案数减去 1 1 1 答案即为 ( ( c 1 ) m − 1 ) n ((c1)^m-1)^n ((c1)m−1)n考虑条件 1 , 2 , 3 1,2,3 1,2,3 考虑…

0007-TIPS-2020-hxp-kernel-rop : bypass-FGKASLR-with-ksymtab_leak

FGKASLR 内容摘录自CTF WKI 简介 鉴于 KASLR 的不足&#xff0c;有研究者实现了 FGKASLR。FGKASLR 在 KASLR 基地址随机化的基础上&#xff0c;在加载时刻&#xff0c;以函数粒度重新排布内核代码。 实现 FGKASLR 的实现相对比较简单&#xff0c;主要在两个部分进行了修改…

Android使用adb截屏

使用USB连接android设备&#xff0c;确保打开调试功能&#xff0c;并且adb路径已经放进path环境变量。 只需要执行以下指令&#xff0c;就可以在当前目录生成手机截图图片test.png。 adb shell screencap /mnt/sdcard/Download/test.png adb pull /mnt/sdcard/Download/test.p…

android 短信加密软件,安卓手机短信加密【使用教程】

很多小伙伴都遇到过安卓手机短信加密的困惑吧&#xff0c;一些朋友看过网上零散的安卓手机短信加密的处理方法&#xff0c;并没有完完全全明白安卓手机短信加密是如何解决的&#xff0c;今天小编准备了简单的解决办法&#xff0c;只需要按照1&#xff1a;拿起手机&#xff0c;在…

当Ubuntu遇上Gigabyte技嘉主板

CPU&#xff1a;AMD Mainboard: Gigabyte 之前尝试过在以上配置的台式机上安装Ubuntu&#xff0c; 但遇到各种错误&#xff0c;没解决&#xff0c;没时间&#xff0c;在网上也看到各种关于技嘉对Linux的兼容不太好的文章&#xff0c;于是就放弃了。但今天在mac上装好Ubuntu后…

技嘉i350手机刷机实录

刚刚败了一台GIGA i350&#xff0c;到手的时候机器rom已经wm6.5的产品了。用了这几天&#xff0c;发现很多网上下来的VGA程序和游戏都不可以正常打开&#xff0c;还时不时因为软件打不开而死机。 在忍受了4天之后&#xff0c;昨天我终于受不了了。找到商家商谈刷机的问题。商家…

巧用别名和 sh 脚本,adb 快速截图和录屏,提高你的效率

本文首发我的微信公众号程序员徐公&#xff0c;回复 徐公 666 可以获得我精心整理的简历模板&#xff0c;带你走近大厂 前言 在平时开发过程中&#xff0c;我们经常需要截图和录制视频&#xff0c;尤其是客户端开发和测试。 可能有一些人的姿势是这样的。在电脑上开个模拟器&…

x570安装服务器系统,技嘉X570 GAMING X主板u盘装系统win10教程

技嘉X570 GAMING X主板是一款质量和使用寿命都相当不错的产品&#xff0c;性价比不错。它采用AMD X570芯片组以及4DDR4 DIMM内存插槽&#xff0c;而且内存最大支持容量为128GB。但是&#xff0c;大家知道这款电脑如何重装win10系统吗?下面和小编一起学习技嘉X570 GAMING X主板…