实时记录运动轨迹插件_Matlab Mobile高逼格实时记录GPS运动轨迹(各项参数统计计算)——无第三方包依赖...
本文主要分为两个部分,第一部分使用Matlab Mobile记录传感器数据,第二部分是在PC端或移动端进行轨迹参数的分析。甚至还可以对运动数据进行机器学习建模,预测你的动作(run、walk、jump,...)!无需matlab licence! 无需matlab licence! 无需matlab licence!你只需要注册一个MathWorks账号保存手机传感器数据到云端即可!
一、Matlab Mobile
手机端下载好matlab mobile app,登录自己注册的账号,可以无需“连接到MathWorks Clound",因为该App支持记录离线的传感器数据(包括加速度、磁场、方向、角速度、位置五大类数据)。本文只使用位置(Position)类别数据,这里面又细分为纬度,经度,海拔高度,速度,水平定位精度,方位角,时间戳等。点击传感器
记录好你个人的运动数据后,可以设置自动/手动上传.mat数据到matlab drive云端。过后你可以自己下载到本地进行分析使用。(有个小缺点就是数据不能通过微信分享出去。。。)
二、PC端地理图轨迹实时分析
看效果图:
上面只显示了'satellite'、'streets'两种基础图层,更丰富的参考这里。
code:
%% matlab mobile传感器数据,从手机导入到本地即可
clear;close all;clc;
load('sensorlog_20200402_193813.mat');
latitude = Position.latitude;
longtitude = Position.longitude;
altitude = Position.altitude;
timestamp = Position.Timestamp;
speed = Position.speed;
course = Position.course;
nums = length(latitude);
%% 画二维图全局配置
basemap = 'satellite';% 设置基础图层为卫星地图
f = figure('OuterPosition',get(groot,'ScreenSize'));% figure最大化
gx = geoaxes(f);
h = animatedline(gx,'MaximumNumPoints',Inf,...
'Color','g','LineWidth',4);
geobasemap(gx,basemap);
text(gx,latitude(1),longtitude(1),'Start','Color','b','FontSize',30);%起点
t = text(gx,latitude(1),longtitude(1),'Start',...
'Color','r',...
'FontSize',30,...
'FontWeight','bold',...
'FontAngle','italic');
InSet = get(gx, 'TightInset');% 获取axes尺寸
set(gx, 'Position', [InSet(1:2), 1-InSet(1)-InSet(3), 1-InSet(2)-InSet(4)]);% axes 填充整个figure
%% 实时画二维图
isSaveGIF = 0;
isSaveVideo = 0;
if isSaveGIF
[A,map] = rgb2ind(imresize(frame2im(getframe),[320,640]),256);
imwrite(A,map,'runParams.gif','LoopCount',Inf,'DelayTime',0.1);
end
if isSaveVideo
v = VideoWriter('runParams.avi');
open(v);
end
cumSumDistance = 0;% 累计距离(km)
cumLatitude=[];
cumLongtitude = [];
index = 2;%从第二个记录数据开始,第一个为起点
while isvalid(gx)&&(index<=nums) % 关闭窗口或者数据循环完毕为结束
% 当前经纬度
currentLatitude = latitude(index);
currentLongtitude = longtitude(index);
cumLatitude = [cumLatitude;currentLatitude];
cumLongtitude = [cumLongtitude;currentLongtitude];
addpoints(h,currentLatitude,currentLongtitude)
pt1 = [latitude(index-1,:),longtitude(index-1,:)];
pt2 = [latitude(index,:),longtitude(index,:)];
cumSumDistance = cumSumDistance + deg2km(distance(pt1,pt2));
t.Position = [currentLatitude,currentLongtitude];
t.String = sprintf('时间:%s\n累计距离:%.2f km\n当前速度:%.2fm/s\n海拔高度:%3g米\n方位角:%.2f度',...
datestr(timestamp(index)),cumSumDistance,speed(index),altitude(index),course(index));
% 显示合理的坐标范围
rangeLatitude = max(cumLatitude)-min(cumLatitude);
rangeLongtitude = max(cumLongtitude)-min(cumLongtitude);
geolimits(gx,[min(cumLatitude)-0.5*rangeLatitude,max(cumLatitude)+0.5*rangeLatitude],...
[min(cumLongtitude)-0.5*rangeLongtitude, max(cumLongtitude)+0.5*rangeLongtitude]);%自适应调整地理图范围
drawnow
% 保存动画
if isSaveGIF
if(mod(index,10)==0)
[A,map] = rgb2ind(imresize(frame2im(getframe),[320,640]),256);
imwrite(A,map,'runParams.gif','WriteMode','append','DelayTime',0.2);
end
end
if isSaveVideo
writeVideo(v,getframe(gx));
end
index = index+1;
end
if isSaveVideo
close(v);
end
%% 画三维图
uif = uifigure('Position',get(groot,'ScreenSize'));
g = geoglobe(uif);
geoplot3(g,latitude,longtitude,altitude,'c')
三、Reference
实时记录运动轨迹插件_Matlab Mobile高逼格实时记录GPS运动轨迹(各项参数统计计算)——无第三方包依赖...相关推荐
- 写一份高逼格的简历,有哪些新技能呢?
1.前言: 金三银四,很多朋友想跳槽/想换工作.但是简历明明投放了很多,却没有收到面试通知,怎么回事? 如果你还是只会写word简历,那你就out啦! 好的简历是成功的一半,你应该有一份高逼格的简历, ...
- 如何写出一份高逼格的简历?
http://chenhao6.blog.51cto.com/6228054/1951038 1.前言: 毕业季到了,很多同学想进入IT行业.但是简历明明投放了很多,却没有收到面试通知,怎么回事? 如 ...
- 如何写出一份高逼格的简历?新技能 get√
如何写出一份高逼格的简历 get√ 1.前言: 毕业季到了,很多同学想进入IT行业.但是简历明明投放了很多,却没有收到面试通知,怎么回事? 如果你还是只会写word简历,那你就out啦! 好的简历是 ...
- 记录一些拿来即用 高逼格的PPT配色方案
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 不谈配色 ...
- 记录一些拿来即用、高逼格的PPT配色方案
不谈配色原理,只记录一些拿来即用.高逼格的PPT配色方案 一个完整的PPT中应该只有三种颜色 推荐配色网站 http://tool.c7sky.com/webcolor/ http://flatuic ...
- 基于Flink的高可靠实时ETL系统
GIAC(GLOBAL INTERNET ARCHITECTURE CONFERENCE)是长期关注互联网技术与架构的高可用架构技术社区和msup推出的,面向架构师.技术负责人及高端技术从业人员的年度 ...
- android 记录路线轨迹_基于百度地图SDK记录运动轨迹
标签 : 运动轨迹 百度地图SDK 最终实现的效果如下图所示### 注意1:模拟器上模拟要设置好Location(如果选择None就无法定位了),同时第一次打开应用会提示授权使用地理位置信息,点击允许 ...
- 13 款高逼格且实用的 Linux 运维必备工具
13 款高逼格且实用的 Linux 运维必备工具 转自:https://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&mid=2247487674& ...
- 高逼格又实用的Linux命令:持续更新中
摘要: 高逼格又实用的 Linux 高级命令,开发运维都要懂 新年伊始,回顾自己的运维生涯,打交道最多的还是Linux系统,但凡使用Linux系统就免不了敲命令,所以想总结一下关于Linux非常高逼格 ...
最新文章
- Vue父组件网络请求回数据后再给子组件传值demo示例
- VMWARE HOST-ONLY方式共享上网
- 万万没想到,坤坤洗白的第一步是周琦…
- ASP.NET Core 2.0 : 三. 项目结构
- WEB服务器、应用程序服务器、HTTP服务器的区别
- HDU 3590 PP and QQ(反nim博弈,删边游戏)
- 太牛了!西工大研究生一期Science发了3篇文章!
- Java 项目 接口开发规范
- [科研论文]基于W7100的以太网读卡器的设计与实现
- java怎么让main方法不退出_JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?...
- IE 存在兼容元素归纳
- 解决libxml2不支持中文的问题
- J1939协议之通俗易懂----简介
- 结巴分词python教程_Python笔记:用结巴分词制作词云图
- ionic-vue 开发app移动端
- 移动端Vin码识别-车架号识别SDK
- 常见开源Java论坛(附JForum论坛安装以及部署)
- 基于 Retina-GAN 的视网膜图像血管分割
- Linux 3.x 的platform
- 八大常用基础电路保护器件作用
热门文章
- 手机投影到电脑上做演示
- 统计学三大相关系数之Pearson相关系数、Spearman相关系数
- ASP计算周开始和一年有多少周及某年第一周开始日期
- 计算某年共有多少个月或周 -- vue
- Arduino:实现四位LED共阴极数码管显示——从认识、连接、程序到实现功能
- django 标签verbatim的使用 200312
- c语言解矩阵方程ax=b,用初等变换的方法求解矩阵方程AX=B
- 阿里巴巴算法岗编程题:菜鸟仓库
- 吾生也有涯,而学也无涯
- 栋的周评 | 第二回合(定期更新、动态、架构、云技术、后端、前端、收听/收看、英文、哲学、书籍、影视、好歌、新奇)