APP Inventor中如何利用GPS经纬度计算GPS距离、速度、方向
MIT APP Inventor应该是一个定位于 Android APP原生态开发模式及傻瓜式云端APP生成之间的开发工具产品,相比于Android APP原生态开发所采用的(SDK+JAVA+ Eclipse)开发模式,APP Inventor全部采用模块图形化的开发模式来开发Android APP,使得Android兴趣者不必进行任何代码开发,无需掌握任何具体的开发程序语言,仅根据业务需求设计就可以快速开发出APP产品,极大了降低了对APP开发的难度及开发周期,当然目前由于条件的限制,这种APP还是有很大的局限性,还不能充分及完整的用到Android OS中所有的资源,但对于一些UI、交互方式以及底层应用要求不是很高的APP而言,无疑是一个很好的开发利器,比起目前很多云端APP傻瓜式开发平台,又同时有了很大的自主灵活性,无疑有着很好的应用前景。
关于MIT APP Inventor的优缺点以及相关的资料信息,本文不再拗述,具体信息可参阅其官方网站www. appinventor.mit.edu。
本文重点讲述APP Inventor开发APP中如何利用GPS经纬度计算GPS距离、速度、方向。
目前的MIT APP Inventor中,具有LocationSensor控件,可作为位置方面的APP应用,当前版本(2.0)其输出参数仅包括纬度(Latitude)经度(Longtitude)高度(Altitude)以及精度(Accuracy)四个参数,但在实际的应用中还会用到距离、速度及方向参数,这在原生态APP开发中一点都不是问题,因为GPS的底层输出数据中已经至少包括了 “有效性、UTC时间、精度、纬度、经度、高度、速度、正北方向夹角”等参数,针对其中的速度与方向开发人员可直接使用,但在目前的APP Inventor中还不行,只能是通过已知的纬度、经度数据进行数学计算才能得到需要的数据,那么如何计算呢?本人通过查阅了网上的相关资料,对其中的算法进行了如下总结,与大家共享。
首先确定几个已知及假设条件,以便于后面的计算分析:
定义:假设地球是一个基本标准球体:
Pi=3.1415926 (圆周率)
R=6371Km(地球平均半径)
A点:(Lat1,Longti1)单位:degree
B点:(Lat2,Longti2)单位:degree
经度线周长(地球赤道周长)L=2*Pi*R=4003Km
经度不变的条件下,纬度每变化一度,距离变化 Lat_L=L/360=111km
1. 根据A点与B点的纬度与经度,如何计算AB点间的距离。
关于根据经纬度求距离,目前网上的资料很多,如果设距离为X
则:
2. 根据A点与B点的纬度与经度以及时间,如何计算A到B点间的速度。
设速度为S(Km/H),A点对应的时间为t1,B点对应的时间为t2
3. 根据A点与B点的纬度与经度,如何计算AB与真北方向的夹角
已知,同一经度条件下,纬度变化一度,距离改变大约 111km
将地球认为是一个标准球体,则在赤道上,经度每变化1度,距离的改变也是大约111km,随着纬度变为Lat_Radian, 在该纬度上经度每变化一度,距离变化:
当然在实际的处理过程中,还需加入当Lat2-Lat1=0,以及正负角度时的业务处理逻辑,以保证实际的数据业务需要,本文不再描述。
APP Inventor中如何利用GPS经纬度计算GPS距离、速度、方向相关推荐
- vue中引用高德地图根据经纬度计算两地距离
vue中引用高德地图根据经纬度计算两地距离 一.示例图: npm安装 npm install vue-amap --save 在min.js文件中引入vue-amap import VueAMap f ...
- 地球经纬度计算两点距离
现在利用--地球经纬度计算两点的距离--的基本原理计算气辉层所对应的经纬度距离. 基本原理如下: 纬度分为60分,每一分再分为60秒以及秒的小数.没错,60进制,纬度线投射在图上看似水平的平行线,但实 ...
- js根据经纬度计算两点距离
js根据经纬度计算两点距离 1.html <button type="button" οnclick="distanceByLnglat(116.95400,39. ...
- 根据经纬度计算两地距离
最近工作需要,网上搜索了下根据经纬度计算两地距离的方法,发现要么是几何法,画图.作一堆辅助线,然后证明推理,要么二话不说直接套公式.这篇文章介绍一种容易理解的方式来求这个距离. 0b00 思路 地球是 ...
- 百度地图根据经纬度计算距离php,详解js根据百度地图提供经纬度计算两点距离...
正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离: var map = new BMap.Map('map_canvas'); map.getDistance(point1 ,p ...
- mySQL函数根据经纬度计算两点距离
mysql根据经纬度计算两点距离 定义自定义函数 DROP FUNCTION IF EXISTS func_calcDistance ; CREATE FUNCTION func_calcDistan ...
- 利用经纬度计算两地距离——Power BI
通过两地的GPS经纬度信息来计算两地之间的直线距离 通过DAX公式,R为地球半径 var R = 6371.393 var Pi = PI() var a = POWER(sin(radians([l ...
- 在App Inventor中实例:画画(Canvas组件)
实例应用一: 目标是创建一个PaintPot(油漆桶)应用,让用户在手机屏幕上绘制图画,并让用户用手机给自己拍照,然后在自己的照片上绘图. 在正式开始之前,在组件设计器右侧的"属性" ...
- js距离米转换为千米_js根据经纬度计算两点距离
地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为6356.755千米,平均半径6371.004千米.如果我们假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R.如 ...
最新文章
- 为什么双层循环 冒泡排序_冒泡排序的双重循环理解
- c++.net 托管类封装非托管类
- 利用mysql的预编译机制_SQL注入笔记记录+MySQL的事务隔离级别
- python主进程 子进程_pool主进程捕获子进程异常
- mysql修改表结构权限_mysql 修改表结构操作
- oracle appen,Oracle中关于insert中使用/*+append*/和nologging的总结
- 什么是Ajax和JSON,它们的优缺点
- (转)向SDE库中写入栅格和矢量数据
- 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
- php面试 数组最大数,PHP 十万数字不同数组取最大的5个 (经典面试题topK) (原)
- 一篇文章带你搞懂 SpringBoot与Swagger整合
- [2018.07.14 T3] B君的第六题
- Element DateTimePicker 日期时间选择器 今天日期设置,并获取value值
- 微信更新值得注意的几点
- 32位系统的X86到底能支持多大内存
- 以太网、局域网、广域网、因特网、互联网与万维网
- VSCode配置 GitHub的Gist 同步设置和插件(简明教程)
- java new jsonparser_java – JSONParser无法解析为某种类型
- writeline是什么意思_c语言console.WriteLine什么意思?
- 【C语言】函数基本知识详细讲解(库函数、自定义函数、参数、函数的套用.....