现在我正在使用gpsStatus
从android SDK获取卫星列表。我正在使用以下方法检索变量:
float az = item.getAzimuth();
float el = item.getElevation();
int p = item.getPrn();
float s = item.getSnr();
到目前为止,我的精度值只有1点,大多数是.0,所以例如:
(173.0,47.0,74,30.0)对于浮点数,无论如何还是要获得更高的精度?我能够使用Criteria
从精度,纬度和经度中获得更高的精度。我需要尝试获取尽可能精确的卫星信息数据。感谢。
答案 0 :(得分:0)
我对此并不是100%肯定,但我相信大多数(如果不是全部)GPS接收器只会输出方位角和高程数据到最接近的程度。类似地,SNR值仅给出最接近的整数(也许专业级接收器将提供更精确的SNR测量,但我没有任何基于智能手机的接收器会这样做。)。 PRN当然只是整数值。
所以我担心你的问题的答案(如果我对GPS接收器是正确的)是因为使用任何Android API都无法获得更准确的方位角,仰角和SNR信息,因为API只是检索接收器输出的任何内容。
我能想到的唯一可能是获得更准确的方位角和仰角值的方法是从某些在线资源中检索GPS卫星年历,然后使用大地测量公式计算当前位置的预期方位角和海拔高度。换句话说,一个不那么容易的任务......
顺便说一句,你提到输出是“ .0”,但我想如果你回去检查一下,所有的值都以.0结尾。