Autore Topic: Coordinate GPS data una distanza in KM  (Letto 1476 volte)

Offline daveblack

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • http://www.linkedin.com/profile/view?id=155824415&trk=tab_pro
    • Mostra profilo
    • DC Hall
  • Dispositivo Android:
    Samsung Galaxy Next
  • Sistema operativo:
    Mac OSX 10.7 Lion
Coordinate GPS data una distanza in KM
« il: 24 Maggio 2012, 08:33:38 CEST »
0
Ciao a tutti, sto cercando un metodo per recuperare la latitudine e la longitudine a 10 km da una posizione data.

per esempio:

io sono alle coordinate x e y e vorrei trovare le coordinate x+10km, x-10km, y+10km, y-10km. È possibile una cosa del genere? grazie.

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
R: Coordinate GPS data una distanza in KM
« Risposta #1 il: 24 Maggio 2012, 10:37:07 CEST »
0
Al momento sono sul cell e non riesco a cercare, ma se non trovi niente nelle API android,sappi che ti basta cercare qualcosa tipo: get bounding box given lat/long coordinates.
È una oprazione geografica abbastanza comune,ma sono sicuro che nelle api android ci sia qualcosa!

Inviato dal mio Nexus S con Tapatalk 2
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Sandroid

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Coordinate GPS data una distanza in KM
« Risposta #2 il: 24 Maggio 2012, 10:45:08 CEST »
0
Se ti puo' servire, ti passo la formula matematica. 

Da un punto di latitudine x e longitudine y, sono distanti d (in Km) tutti i punti (si tratta di una circonferenza) tali che:

(cos(x) * G )^2 + T^2 = (d/1,852) ^2

dove T e G sono la differenza di latitudine e longitudine rispetto al punto (x,y).

----------------------------------------------------------------
(scusa, ho dovuto eseguire un edit: distrattamente avevo invertito il significato di T e G)
« Ultima modifica: 24 Maggio 2012, 11:07:04 CEST da Sandroid, Reason: Inversione di due termini »

Offline daveblack

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • http://www.linkedin.com/profile/view?id=155824415&trk=tab_pro
    • Mostra profilo
    • DC Hall
  • Dispositivo Android:
    Samsung Galaxy Next
  • Sistema operativo:
    Mac OSX 10.7 Lion
Re:Coordinate GPS data una distanza in KM
« Risposta #3 il: 24 Maggio 2012, 11:37:15 CEST »
0
Cercando meglio su Google ho trovato queste formule:

lat = currentLat + (180/∏) * (d/6378137)

lon = currentLon + ((180/∏) * (d/6378137))/cos(currentLat)

dove d è la distanza in metri.

Le formule sembrano funzionare dato che testando su GMaps le coordinate sembrano avere senso...

comunque grazie dell'aiuto =)

Offline Sandroid

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
Re:Coordinate GPS data una distanza in KM
« Risposta #4 il: 24 Maggio 2012, 12:39:09 CEST »
0
Si', sono due casi particolari della formula generale.
La prima ti da' la latitudine del punto distante d in direzione del polo, la seconda la longitudine di quello distante d allontanandosi dal meridiano di Greenwich.
Avvicinandosi all'equatore o al meridiano di G. , bisogna sottrarre, anziche' sommare.

Se quello che ti serve e' individuare un'area quadrata in una determinata zona, vanno bene.
Ciao.

Offline daveblack

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: 0
    • http://www.linkedin.com/profile/view?id=155824415&trk=tab_pro
    • Mostra profilo
    • DC Hall
  • Dispositivo Android:
    Samsung Galaxy Next
  • Sistema operativo:
    Mac OSX 10.7 Lion
Re:Coordinate GPS data una distanza in KM
« Risposta #5 il: 24 Maggio 2012, 13:10:35 CEST »
0
Si, infatti ho modificato.le formule con un + o un - a seconda se sto calcolando le coordinate minime o massime del quadrato

Offline cybergatto

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Acer Liquid MT
  • Play Store ID:
    Lorenzo Mao
  • Sistema operativo:
    Windows 7, Ubuntu 11.10
Re:Coordinate GPS data una distanza in KM
« Risposta #6 il: 09 Giugno 2012, 10:43:48 CEST »
0
Ciao,
visto che hai risolto ti chiedo un piccolo aiuto, ho provato a implementare il codice che hai suggerito in una mia app in questo modo:
Codice (Java): [Seleziona]
        double latp = ((extras.getDouble("lat")/1e6) + ((180/pg) * (d/6378137)))*1e6;
        double lonp = (extras.getDouble("lon")/1e6 + ((180/pg) * (d/6378137))/Math.cos(extras.getInt("lat")))*1e6;
        double latm = (extras.getDouble("lat")/1e6 - (180/pg) * (d/6378137))*1e6;
        double lonm = (extras.getDouble("lon")/1e6 - ((180/pg) * (d/6378137))/Math.cos(extras.getInt("lat")))*1e6;

all'activity passo come extra lat e lon che sono rispettivamente latitudine e longitudine in microgradi.
Quando eseguo il codice per tutti i valori mi restituisce 0.0
Sai indicarmi dove sbaglio?