2013-01-02 20 views
5

Sono una nuova ape in Unity3d e sto lavorando all'app di localizzazione. Sto abilitando la posizione sul dispositivo e la posizione corrente. Ricevo pochi parametri di risposta che sono Lat Long Altitude e Horizontal Precision. Conosco i primi tre di loro ma non conosco l'ultimo che è Horizontal Precision. Ho cercato su Google e ho ricevuto la documentazione Apple Horizontal Accuracy. Per quanto ne so, dice che questa è la dimensione del raggio intorno a lat e long. Se sì, ho le seguenti domande.Che cos'è Precisione orizzontale

  • qual è il valore di default di accuratezza orizzontale perché sto ottenendo 10.
  • Possiamo modificare questo valore (raggio intorno lat e lungo)
  • Qual è la precisione verticale, se esiste.

Grazie in anticipo.

+0

Quali sono le piattaforme mobili che targetizzi specificamente? – DuckMaestro

+0

iPhone e Android. – josh

risposta

5

Il GPS non è preciso. La natura dei dati GPS è che si tratta di una stima in corso e questa stima ha un margine di errore variabile nel tempo a seconda delle condizioni. Per ulteriori informazioni sullo sfondo, iniziare con Basic Concept of GPS (Wikipedia).

Nel senso più fondamentale, l'accuratezza è il risultato delle condizioni GPS per quel dispositivo, posizione e ora e non è direttamente controllabile dallo sviluppatore, almeno non attraverso alcun meccanismo software. Tuttavia, se vedi la documentazione di LocationService.Start() (Unity), noterai un valore desiredAccuracyInMeters. Questo in sostanza influisce sul tempo di attesa prima che ci sia un valore disponibile all'interno della precisione desiderata. Un valore preciso richiederà più tempo per produrre, mentre un valore grossolano potrebbe essere disponibile molto rapidamente.

accuratezza orizzontale è un raggio di circa un punto 2d, il che implica che la posizione 2d vero, sconosciuto è da qualche parte all'interno del cerchio formato dal punto dato come centro e la precisione come un raggio. La precisione verticale esiste se le informazioni sull'altitudine sono assegnate, è una posizione 1d e allo stesso modo implica che l'true, unknown altitude è da qualche parte all'interno di una regione definita dal centro (data altitudine) e "radius" (con precisione verticale) .

Vedere anche struct LocationInfo (Unity).

+0

Giusto, come hai detto che "non direttamente controllabile dallo sviluppatore", così non possiamo controllarlo chiamando una funzione in unity Input.location.Start (20); 20 è la precisione desiderata nella funzione di avvio della posizione. La precisione desiderata è qualcos'altro? – josh

+0

@josh vedo, grazie. Ho rivisto la mia risposta per commentare questa impostazione. – DuckMaestro

+0

Grazie DuckMeastro ... – josh