Domanda

In realtà sto ripubblicando una domanda dalle schede di sviluppo di iPhone. Non l'ho chiesto, ma l'ho trovato quando ho cercato di trovare la sua risposta. Nessuno aveva ancora risposto lì, quindi ho pensato di provare a pubblicarlo qui.

Grazie in anticipo per qualsiasi aiuto!

Qualcuno sa qualche dettaglio sull'algoritmo di calcolo dell'intestazione magnetica dai valori grezzi xyz di CLHeading? Sono sicuro che ci deve essere un approccio generale a questo che funziona anche per diversi magnetometri.

È stato utile?

Soluzione

Se non si desidera utilizzare il valore trueHeading e supponendo che la bussola sia perfettamente orizzontale, l'intestazione può essere calcolata in questo modo:

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

(questi sono da http://www.magneticsensors.com/datasheets/an203.pdf )

... più l'intestazione deve essere corretta per Deviazione magnetica e Declinazione magnetica

nel caso in cui la bussola non sia orizzontale, è necessario utilizzare solo la componente orizzontale (non è possibile ignorare l'asse z) proiettando il vettore (x, y, z) su un piano parallelo alla superficie terrestre e quindi calcola l'intestazione da questo proiettato x e y.

Spero che sia d'aiuto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top