【问题标题】:Unit of measurement BlackBerry location.getSpeed测量单位 BlackBerry location.getSpeed
【发布时间】:2013-04-04 09:10:21
【问题描述】:
我正在通过 BlackBerry 应用程序获得速度价值;
double velocity = location.getSpeed();
但是,我很困惑返回速度的测量单位是什么。是公里每小时还是米每秒?这是一个双重价值。这是否意味着它没有计量单位?请解释一下。
【问题讨论】:
标签:
blackberry
gps
location
【解决方案1】:
除了Signare的回答:
通常,当一个单元未定义/记录时,它应该是其中之一
International System of Units的基本单位em>或派生单位
由于速度是每次距离,因此派生的 SI 单位为 m/s。
如果软件将使用单位 km/h 或英里作为称为 speed 的公共参数,并且
如果没有文档,这将是一个非常糟糕的软件。
此外,要将 m/s 转换为 km/h,最好简单地乘以 3.6 - 这比 3600/1000 更具可读性,这也是导致错误的原因(可能导致整数值)
double speedKmh = location.getSpeed() * 3.6;
为避免混淆,最好使用名称speedKmh 而不是速度,如果它不是 m/s。
【解决方案2】:
输出值速度将以 m/s 为单位。
要获得速度,您需要这样做:
int speed = location.getSpeed();
以 m/s 为单位,如果您需要将其转换为 km/h,请使用:
int speed=(int) ((location.getSpeed()*3600)/1000);
如果您需要将其转换为 mph,请使用:
int speed=(int) (location.getSpeed()*2.2369);