数据集笔记 geolife (操作篇)

数据集介绍可看:数据集笔记:GeoLife GPS 数据 (user guide)_UQI-LIUWJ的博客-CSDN博客

1 读取数据

import os
os.chdir('D:/Geolife Trajectories 1.3/Geolife Trajectories 1.3/Data/000/Trajectory')import pandas as pd
data = pd.read_csv('20081023025304.plt', skiprows=6, header=None)
data

1.1 修改列名+去除不重要的列

data.columns=['Latitude', 'Longitude', 'Not_Important1', 'Altitude', 'Not_Important2', 'Date', 'Time']
data=data[['Latitude', 'Longitude', 'Altitude', 'Date', 'Time']]
data

1.2 Date和Time合并

data['Datetime'] = pd.to_datetime(data['Date'] + ' ' + data['Time'])
# to_datetime将这一列转换成时间
data=data[['Latitude', 'Longitude', 'Altitude', 'Datetime']]
data

2 相邻每条记录之间的距离

2.1 时间距离

data['Time_Difference'] = data['Datetime'].diff()
data

2.1.1 Time_Difference 转换成单位秒

data['Time_Difference'] = data['Datetime'].diff().dt.total_seconds()
data

2.1.2 查看Time_Difference的情况

data['Time_Difference'].describe()

2.2 空间距离

from geopy import distance
distances=[None]
for i in range(1, len(data)):point1=[data.at[i-1,'Latitude'],data.at[i-1,'Longitude']]point2=[data.at[i,'Latitude'],data.at[i,'Longitude']]dis=distance.distance(point1,point2).meters#相邻两个点的距离(以米结算)distances.append(dis)
data['distance']=distances
data

2.2.1 查看空间距离的情况 

data['distance'].describe()

3 可视化

3.1 整体轨迹

import folium
import numpy as nppos_lst_=pos_lst[:]
lat,lon=np.mean(pos_lst_,axis=0)
m=folium.Map(location=(lat,lon),zoom_start=14)folium.PolyLine(locations=pos_lst_,color='red').add_to(m)m

3.1.1 整体轨迹+每一个记录点

可以看到,其实它相当于三段子轨迹拼成的。就像前面对空间和时间距离的describe一样,大部分都是比较小的时空距离,但max值会大很多

3.2 找到”跳跃“的区段

data[data['Time_Difference']>=300]

这里我们有特别好的方法,就是每一个这种区间我都可视化以下,找到这两个“断点”应该在哪里

3.2.1 148点附近

import folium
import numpy as nppos_lst_=pos_lst[147:151]
lat,lon=np.mean(pos_lst_,axis=0)
m=folium.Map(location=(lat,lon),zoom_start=14)folium.PolyLine(locations=pos_lst_,color='red').add_to(m)
for i in pos_lst_:folium.Marker(location=i,icon=folium.Icon(icon='cloud',icon_color='blue')).add_to(m)
m

此时0~147 是比较连贯的轨迹(后面就不贴代码了,把上述代码pos[147:151]的这两个数字替换掉就可以)

3.2.2 470附近

 

3.2.3 608附近

此时已经找到了两个“断点”了,我们看一下其他时间间隔大的是什么情况

3.2.4 790 附近

 

3.2.5 873 附近

 

3.2.6 895 附近

 

3.3 “分割”之后的三条轨迹

0~147

152~468

472:end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/129151.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于AHP模型指标权重分析python整理

一 背景介绍 日常会有很多定量分析的场景,然而也会有一些定性分析的场景针对定性分析的场景,预测者只能通过主观判断分析能力来推断事物的性质和发展趋势然而针对个人的直觉和虽然能够有一定的协助判断效果,但是很难量化到指标做后期的复用 …

windows服务器自带IIS搭建网站并发布公网访问【内网穿透】

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中,搭建网页都会借助各种软件的帮助,比如…

自动计算比例 计算属性 computed @input=“rate“

<el-col :span"12"><el-form-item label"当年累计实收租金:" prop"cumulativeRent"><el-inputv-model"createForm.cumulativeRent"input"rate"clearable:disabled"value 2"><template slot…

Gin项目实战

Gin项目实战 Gin博客项目-项目架构Gin博客项目-集成gormGin博客项目-集成Bootstrap创建用户表单Gin 博客项目-实现控制器和路由Gin 博客项目-设计静态页面Gin 博客项目-用户注册Gin 博客项目-用户登录Gin 博客项目-集成markdown编辑器Gin 博客项目-创建博客模型和DAOGin 博客项…

深入解析OLED透明屏的工作原理与优势,智能家居的未来之选

OLED透明屏作为一项突破性的显示技术&#xff0c;不仅具备出色的视觉效果&#xff0c;还带来了全新的功能和应用。 在这篇文章中&#xff0c;尼伽将深入探讨OLED透明屏的功能特点&#xff0c;介绍其在各个领域的广泛应用&#xff0c;并提供实用的案例和数据&#xff0c;希望看…

修复 ChatGPT 发生错误的问题

目录 ChatGPT 发生错误&#xff1f;请参阅如何修复连接错误&#xff01; 修复 ChatGPT 发生错误的问题 基本故障排除技巧 检查 ChatGPT 的服务器状态 检查 API 限制 检查输入格式 清除浏览数据 香港DSE是什么&#xff1f; 台湾指考是什么&#xff1f; 王湘浩 生平 …

upload-labs/Pass-07 未知后缀名解析漏洞复现

upload-labs/Pass-07 漏洞复现 页面&#xff1a; 我们看到有一个图片上传功能。 我们上传一个png文件发现能够成功上传&#xff0c;那其他文件呢&#xff0c;如php文件。 我们看一下是否能上传一个php文件&#xff1a; php文件内容&#xff1a; <?phpeval($_REQUEST[]…

MinIO集群模式信息泄露漏洞(CVE-2023-28432)

前言&#xff1a;MinIO是一个用Golang开发的基于Apache License v2.0开源协议的对象存储服务。虽然轻量&#xff0c;却拥有着不错的性能。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据。该漏洞会在前台泄露用户的账户和密码。 0x00 环境配置 …

《向量数据库》——都有哪些向量数据库,都有什么特点?

随着大数据和机器学习应用的崛起,对于存储和查询高维度向量数据的需求也逐渐增加。在这个背景下,向量数据库和传统的关系型数据库开始在不同的数据世界中崭露头角,它们分别以各自独特的方式解决了不同类型数据的存储和查询需求。本文将探讨向量数据库和关系型数据库之间的区…

树的引进以及二叉树的基础讲解——【数据结构】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 当我们学习完前面的数据结构&#xff0c;难度也就会上升&#xff0c;但是这个也是非常重要的数据结构。今天我们来学习一种新的数据类型——树。 目录 树的概念以及结构 树的概念 树的相关概念 树的表示 树在实…

机器学习-k-近邻算法

k-近邻算法 一、k-近邻算法概述1.1 使用python导入数据1.2 从文本文件中解析数据 二、使用k-近邻算法改进约会网站的配对效果2.1 准备数据2.2 数据预处理2.3 分析数据2.4 测试算法2.5使用算法 三、手写体识别系统 一、k-近邻算法概述 k-近邻算法是一种常用的监督学习算法&…

Ruff南潮物联邀请您参观中国工博会,快来扫码领取免费门票!

由于受疫情影响的延期&#xff0c;第23届中国国际工业博览会&#xff08;简称"中国工博会"&#xff09;终于将要在2023年9月19日-23日国家会展中心&#xff08;上海虹桥&#xff09;举行。 中国工博会是由工业和信息化部、国家发展和改革委员会、科学技术部、商务部、…

境外微信小程序商超建设流程

注册&#xff0c;境外小程序主要是提交企业主体信息&#xff0c;例如企业名称、注册号、注册地址&#xff0c;管理员信息等&#xff08;PS&#xff1a;这里可以先由开发方人员承担管理员&#xff0c;便于开发过程使用&#xff0c;未来可以转让给客户指定人员&#xff09;。 认…

初探Vue.js及Vue-Cli

一、使用vue框架的简单示例 我们本次的vue系列就使用webstorm来演示&#xff1a; 对于vue.js的安装我们直接使用script的cdn链接来实现 具体可以参考如下网址&#xff1a; https://www.bootcdn.cn/ 进入vue部分&#xff0c;可以筛选版本,我这里使用的是2.7.10版本的&#xff…

Python异常处理——走BUG的路,让BUG无处可走

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 本文专栏&#xff1a;Python专栏 专栏介绍&#xff1a;本专栏为免费专栏&#xff0c;并且会持续更新python基础知识&#xff0c;欢迎各位订阅关注。 目录 一、了解python异常 1、BUG 单词的由来 2、什么是异…

分布式系统第三讲:全局唯一ID实现方案

分布式系统第三讲&#xff1a;全局唯一ID实现方案 本文主要介绍常见的分布式ID生成方式&#xff0c;大致分类的话可以分为两类&#xff1a;一种是类DB型的&#xff0c;根据设置不同起始值和步长来实现趋势递增&#xff0c;需要考虑服务的容错性和可用性; 另一种是类snowflake型…

【Redis】Redis 的学习教程(九)之 发布 Pub、订阅 Sub

1. Pub/Sub 介绍 Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式是一种消息传递机制&#xff0c;它允许在发送者和接收者之间建立松耦合的通信关系。在这种模式中&#xff0c;发送者&#xff08;发布者&#xff09;将消息发布到一个指定的频道或模式&#xff0c;而接收…

Mysql--技术文档--索引-《索引为什么查找数据快?》-超底层详细说明索引

索引的概念 在MySQL中&#xff0c;索引是一种数据结构&#xff0c;它被用于快速查找、读取或插入数据。索引能够极大地提高数据库查询的速度。 索引的工作方式类似于图书的索引。如果你想在图书馆找到一本书&#xff0c;你可以按照书名进行查找。书名就像是一个索引&#xf…

C#winform导出DataGridView数据到Excel表

前提&#xff1a;NuGet安装EPPlus&#xff0c;选择合适的能兼容当前.net framwork的版本 主要代码&#xff1a; private void btn_export_Click(object sender, EventArgs e) {SaveFileDialog saveFileDialog new SaveFileDialog();saveFileDialog.Filter "Excel Files…

TCP三次握手和四次挥手

目录 TCP连接建立 问题思考 1.为什么要三次握手&#xff1f; 2.三次握手一定要保证成功吗&#xff1f; TCP连接释放 问题思考 ​ 1.理解TIME-WAIT状态 2.理解CLOSE-WAIT状态 TCP连接建立 TCP建立连接的过程叫作握手&#xff0c;握手需要在客户和服务器之间交换三个TCP…