Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-07-2008, 21:26   #1
erkk84
Member
 
Iscritto dal: Dec 2006
Messaggi: 53
[JAVA]Calcolare distanza coordinate geografiche

Salve a tutti, sto cercando di sviluppare una funzione che mi calcoli la distanza tra due punti avendo le loro coordinate gps; ho trovato l'algoritmo qui (quello più complicato, con maggiore precisione) http://en.wikipedia.org/wiki/Great-circle_distance
e ho scritto la seguente classe per il calcolo:
Codice:
public double distanza(double lat1, double longit1, double lat2, double longit2) {
        
        double distance = 0;
        
        double dist_long = longit2 - longit1;
        double dist_lat = lat2 - lat1;
        
        double pezzo1 = Math.cos(lat2)*Math.sin(dist_long);
        double pezzo11 = pezzo1*pezzo1;
        
        double pezzo2 = Math.cos(lat1)*Math.sin(lat2)-Math.sin(lat1)*Math.cos(lat2)*Math.cos(dist_long);
        double pezzo22 = pezzo2*pezzo2;
        
        double pezzo3 = Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos(dist_long);
        
        double pezzo4 = Math.atan((Math.sqrt(pezzo11+pezzo22))/pezzo3);
        
        distance = pezzo4*6372;
       
        return distance;
    }
    
    public static void main(String [] a){
        
        GPS1 gps = new GPS1();
        System.out.println(gps.distanza(46.06716, 11.12331, 46.07033, 11.12462));
        System.out.println(gps.distanza(46.06833, 11.12388, 46.06848, 11.12776));
    }
la prima mi da una distanza di 20 km circa, la seconda 12 km circa quando invece dovrebbero essere rispettivamente di 366 e 299 metri (presi dal seguente sito http://www.comunedipinasca.it/main.p.../distanza.php)...
Cosa c'è che non va?

PS: poi questa funzione la dovrò trasferire in una midlet su cellulare ma per farlo non c'è problema, basta solo far funzionare questa..

ciao ciao grazie

Ultima modifica di erkk84 : 23-07-2008 alle 21:48.
erkk84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2008, 21:57   #2
altairz
Member
 
Iscritto dal: May 2004
Messaggi: 84
Credo che il problema dipenda da questo (preso dall'esempio nella pagina di wikipedia):

Quote:
Originariamente inviato da Wikipedia
First, convert these coordinates to decimal degrees (Sign × (Deg + (Min + Sec / 60) / 60)) and radians (× π / 180) before you can use them effectively in a formula.
altairz è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2008, 22:10   #3
erkk84
Member
 
Iscritto dal: Dec 2006
Messaggi: 53
ah ecco..sinceramente l'ho guardato ma non preso in considerazione perchè non capisco cosa vuol dire...cioè, non capisco i simboli: cos'è Sign?cos'è x (da una parte sembra una moltiplicazione, dall'altra una variabile)?Date le coordinate nel formato come da codice, qualcuno può aitarmi ad introdurle nel giusto formato?

Grazie mille intanto ciao ciao
erkk84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2008, 22:25   #4
altairz
Member
 
Iscritto dal: May 2004
Messaggi: 84
l'esempio di wikipedia considera coordinate del tipo gradi minuti secondi e dice di convertirli prima in gradi decimali e poi in radianti.
Poichè tu utilizzi già coordinate in gradi decimali, devi soltanto convertirli in radianti, cioè moltiplicare per Math.PI e dividere per 180.

Codice:
public static double radianti(double gradi_dec) {
    return gradi_dec * Math.PI / 180;
}
altairz è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2008, 22:29   #5
erkk84
Member
 
Iscritto dal: Dec 2006
Messaggi: 53
Quindi tanto per capirci le coordinate in radianti del primo punto saranno:

lat1 = 46.06716*Math.PI / 180
long1 = 11.12331*Math.PI / 180

e uguale per il secondo punto...dopodichè nei vari sin e cosin metto i valori sopra ottenuti giusto?

grazie ciao ciao
erkk84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2008, 22:34   #6
erkk84
Member
 
Iscritto dal: Dec 2006
Messaggi: 53
perfetto adesso corrisponde tutto..grazie mille ancora ciao ciao
erkk84 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2008, 22:35   #7
altairz
Member
 
Iscritto dal: May 2004
Messaggi: 84
Quote:
Originariamente inviato da erkk84 Guarda i messaggi
Quindi tanto per capirci le coordinate in radianti del primo punto saranno:

lat1 = 46.06716*Math.PI / 180
long1 = 11.12331*Math.PI / 180

e uguale per il secondo punto...dopodichè nei vari sin e cosin metto i valori sopra ottenuti giusto?

grazie ciao ciao
esatto
altairz è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2008, 06:48   #8
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
scusate se mi intrometto ma questo programma calcola la distanza tra due punti in linea retta?
Come fa un programma ( tipo route 66 ) a calcolare la distanza, ad esempio, tra milano e parigi ( non in linea retta ) ?
conosce la lunghezza di TUTTE le strade del mondo ?

perdonate l'ignoranza
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2008, 09:06   #9
erkk84
Member
 
Iscritto dal: Dec 2006
Messaggi: 53
si in teoria lo fa in linea retta...per l'altra domanda lascio la parola a matematici più esperti....ciao
erkk84 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2008, 09:31   #10
xciaoatuttix
Member
 
L'Avatar di xciaoatuttix
 
Iscritto dal: Jul 2008
Messaggi: 255
speriamo che qualche matematico esperto risponda che sono curioso
xciaoatuttix è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2008, 09:45   #11
wizard1993
Senior Member
 
L'Avatar di wizard1993
 
Iscritto dal: Apr 2006
Messaggi: 22462
Quote:
Originariamente inviato da xciaoatuttix Guarda i messaggi
speriamo che qualche matematico esperto risponda che sono curioso
andandoci molto a intuito
usi l'algoritmo dei cammini minimo, in cui le interesezioni delle strade sono i nodi e le strade sono i cammini fra i vari nodi, ai quali viene assegnato un peso in base a velocità di percorrenza, lunghezza ecc
http://it.wikipedia.org/wiki/Algoritmo_di_Dijkstra
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza
wizard1993 è offline   Rispondi citando il messaggio o parte di esso
Old 24-07-2008, 11:06   #12
erkk84
Member
 
Iscritto dal: Dec 2006
Messaggi: 53
Avrei un altro piccolo problemino: io dal gps ricevo i dati sottoforma di gradi minuti e secondi, del tipo ad esempio:

lat = 4604.0453, cioè 46° 4.04' 53"

Esiste una funzione java che fa automaticamente la conversione?sennò, come posso farla )conosco al formula ma non mi viene in mente come tradurla in codice)..

ciao ciao grazie
erkk84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
Sconto al check-out a sorpresa: Smart TV...
Prima guida con GAC Aion V: interni prem...
Gli investitori frenano su Anthropic: IP...
Il meglio di Amazon in 10 articoli: 1, 2...
OpenAI, un modello GPT-5.6 Sol ha usato ...
Google testa Ask Google Help: l'IA di Ge...
Apple aggiorna l'elenco dei prodotti obs...
Renault 5 si aggiorna anche in Italia: p...
L’IA fa il lavoro dei junior. Ma le impr...
Google riduce gli errori quantistici di ...
Xpeng Mona L05: un SUV da 4,87 metri con...
CERN e Mistral AI insieme per il primo L...
Le analisi approfondite sullo scudo term...
Chery Q arriva in Italia: 380 km, trazio...
Rocket Lab rinvia il primo lancio di Neu...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v