Getting magnetic north from a xyz magnetometer (iPhone 3.0)

前端 未结 1 710
萌比男神i
萌比男神i 2021-02-01 09:36

I\'m actually reposting a question from the iphone development boards. I didn\'t ask it, but I found it when trying to find its answer. Nobody had yet responded there, so I th

1条回答
  •  旧巷少年郎
    2021-02-01 10:02

    If you don't want to use the trueHeading value, and assuming that the compass lies perfectly horizontal, the heading can be computed this way:

    • (y>0) heading = 90 - atan2(x,y)*180 / pi
    • (y<0) heading = 270 - atan2(x,y)*180 / pi
    • (y=0, x<0) heading = 180.0
    • (y=0, x>0) heading = 0.0

    (these are from http://www.magneticsensors.com/datasheets/an203.pdf)

    ... plus the heading must be corrected for Magnetic deviation and Magnetic declination

    in case the compass is not horizontal, you should use only the horizontal component (you can not ignore the z axis) by projecting the (x, y, z) vector to a plane that is parallel to the earth surface and then compute the heading from this projected x and y.

    Hope it helps.

    0 讨论(0)
提交回复
热议问题