本文主要分为两个部分,第一部分使用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. 写一份高逼格的简历,有哪些新技能呢?

    1.前言: 金三银四,很多朋友想跳槽/想换工作.但是简历明明投放了很多,却没有收到面试通知,怎么回事? 如果你还是只会写word简历,那你就out啦! 好的简历是成功的一半,你应该有一份高逼格的简历, ...

  2. 如何写出一份高逼格的简历?

    http://chenhao6.blog.51cto.com/6228054/1951038 1.前言: 毕业季到了,很多同学想进入IT行业.但是简历明明投放了很多,却没有收到面试通知,怎么回事? 如 ...

  3. 如何写出一份高逼格的简历?新技能 get√

    如何写出一份高逼格的简历  get√ 1.前言: 毕业季到了,很多同学想进入IT行业.但是简历明明投放了很多,却没有收到面试通知,怎么回事? 如果你还是只会写word简历,那你就out啦! 好的简历是 ...

  4. 记录一些拿来即用 高逼格的PPT配色方案

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 不谈配色 ...

  5. 记录一些拿来即用、高逼格的PPT配色方案

    不谈配色原理,只记录一些拿来即用.高逼格的PPT配色方案 一个完整的PPT中应该只有三种颜色 推荐配色网站 http://tool.c7sky.com/webcolor/ http://flatuic ...

  6. 基于Flink的高可靠实时ETL系统

    GIAC(GLOBAL INTERNET ARCHITECTURE CONFERENCE)是长期关注互联网技术与架构的高可用架构技术社区和msup推出的,面向架构师.技术负责人及高端技术从业人员的年度 ...

  7. android 记录路线轨迹_基于百度地图SDK记录运动轨迹

    标签 : 运动轨迹 百度地图SDK 最终实现的效果如下图所示### 注意1:模拟器上模拟要设置好Location(如果选择None就无法定位了),同时第一次打开应用会提示授权使用地理位置信息,点击允许 ...

  8. 13 款高逼格且实用的 Linux 运维必备工具

    13 款高逼格且实用的 Linux 运维必备工具 转自:https://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&mid=2247487674& ...

  9. 高逼格又实用的Linux命令:持续更新中

    摘要: 高逼格又实用的 Linux 高级命令,开发运维都要懂 新年伊始,回顾自己的运维生涯,打交道最多的还是Linux系统,但凡使用Linux系统就免不了敲命令,所以想总结一下关于Linux非常高逼格 ...

最新文章

  1. Vue父组件网络请求回数据后再给子组件传值demo示例
  2. VMWARE HOST-ONLY方式共享上网
  3. 万万没想到,坤坤洗白的第一步是周琦…
  4. ASP.NET Core 2.0 : 三. 项目结构
  5. WEB服务器、应用程序服务器、HTTP服务器的区别
  6. HDU 3590 PP and QQ(反nim博弈,删边游戏)
  7. 太牛了!西工大研究生一期Science发了3篇文章!
  8. Java 项目 接口开发规范
  9. [科研论文]基于W7100的以太网读卡器的设计与实现
  10. java怎么让main方法不退出_JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?...
  11. IE 存在兼容元素归纳
  12. 解决libxml2不支持中文的问题
  13. J1939协议之通俗易懂----简介
  14. 结巴分词python教程_Python笔记:用结巴分词制作词云图
  15. ionic-vue 开发app移动端
  16. 移动端Vin码识别-车架号识别SDK
  17. 常见开源Java论坛(附JForum论坛安装以及部署)
  18. 基于 Retina-GAN 的视网膜图像血管分割
  19. Linux 3.x 的platform
  20. 八大常用基础电路保护器件作用

热门文章

  1. 手机投影到电脑上做演示
  2. 统计学三大相关系数之Pearson相关系数、Spearman相关系数
  3. ASP计算周开始和一年有多少周及某年第一周开始日期
  4. 计算某年共有多少个月或周 -- vue
  5. Arduino:实现四位LED共阴极数码管显示——从认识、连接、程序到实现功能
  6. django 标签verbatim的使用 200312
  7. c语言解矩阵方程ax=b,用初等变换的方法求解矩阵方程AX=B
  8. 阿里巴巴算法岗编程题:菜鸟仓库
  9. 吾生也有涯,而学也无涯
  10. 栋的周评 | 第二回合(定期更新、动态、架构、云技术、后端、前端、收听/收看、英文、哲学、书籍、影视、好歌、新奇)