Question

Je republie en fait une question des forums de développement pour iphone. Je ne l'ai pas demandé, mais je l'ai trouvé en essayant de trouver sa réponse. Personne n’y ayant encore répondu, j’ai donc pensé essayer de le poster ici.

Merci d'avance pour toute aide!

Quelqu'un connaît-il des détails sur l'algorithme de calcul du cap magnétique à partir des valeurs xyz brutes de CLHeading? Je suis sûr qu’il doit exister une approche générale qui fonctionne également pour différents magnétomètres.

Était-ce utile?

La solution

Si vous ne souhaitez pas utiliser la valeur trueHeading et en supposant que la boussole soit parfaitement horizontale, le titre peut être calculé de cette manière:

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

(ceux-ci proviennent de http://www.magneticsensors.com/datasheets/an203.pdf )

... plus l'en-tête doit être corrigé pour déviation magnétique et Déclinaison magnétique

si la boussole n’est pas horizontale, vous devez utiliser uniquement la composante horizontale (vous ne pouvez pas ignorer l’axe z) en projetant le vecteur (x, y, z) sur un plan parallèle à la surface de la Terre, puis calculer le titre à partir de ces x et y projetés.

J'espère que ça aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top