我制作了一个简单的应用程序,它根据 iPhone 上的 GPS 位置显示海拔高度。
海拔高度是如何获得的?
它获取的是我所在坐标处的陆地海拔还是实际海拔? (我在同一栋大楼尝试了相同的应用程序;一次在一楼,一次在三楼,但显示的高度相同)
是否可以在不同楼层获得不同的高度? (就像我的安卓手机有气压计传感器,我通过大气压来计算海拔;但iPhone都没有气压计传感器)
GPS 接收器读取的高度取决于卫星在地平线上的相对位置。当天空中没有足够的卫星或者它们距离太近时,高度读数可能不可靠。这取决于一天中的时间或日期。
卫星发出的信号一旦到达地球表面就非常微弱,在建筑物内或附近有其他高层建筑的地方(例如曼哈顿等市中心)可能无法正确接收。
气压计读数会根据天气而变化,因此绝对读数不能应用于特定楼层。然而,对于楼层之间的变化,例如,相对读数可能足够可靠。较低的值意味着上升。
与任何其他使用 GPS 计算高度的设备一样,它测量的是 用户与卫星轨道中心的距离。
您的智能手机使用 GPS 技术根据您所在的位置计算您的海拔高度。它测量您与正在计算此信息的卫星的距离。
请注意,较新的 iPhone(>= 6)具有气压计传感器,根据我的经验,该传感器比 GPS 准确得多。使用气压计时,精确度似乎在一英尺之内,而使用 GPS 时,即使静止不动,它也会跳动 3-4 米。
http://www.iphonetricks.org/iphone-6-barometer-sensor-features/
根据我几年前得到的苹果支持反馈,iPhone GPS 传感器只能测量经度和纬度,但不能测量海拔。高程数据取自地图景观数据库。这就是为什么 iPhone 在任何楼层甚至建筑物的屋顶上显示相同的高度。