Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-04-2010, 18:26   #1
e-commerce84
Senior Member
 
Iscritto dal: Feb 2009
Messaggi: 700
[MySql] Aiuto ad implementare la funzione haversine in una query:distanza tra 2 punti

Ciao ragazzi,
allora ho un bel problema dal quale non riesco proprio a venire a capo.

Quello che devo fare fà in parte riferimento a queste slide: http://www.scribd.com/doc/2569355/Ge...rch-with-MySQL

Io ho una tabella poi che contiene una lista di punti di interesse, la cui struttura è la seguente:

Codice:
mysql> describe poi;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| nome      | varchar(50)  | NO   | PRI |         |       | 
| lon       | float        | NO   | PRI | 0       |       | 
| lat       | float        | NO   | PRI | 0       |       | 
| alt       | float        | NO   | PRI | 0       |       | 
| tipologia | tinyint(4)   | YES  |     | NULL    |       | 
| wikiLynk  | varchar(100) | YES  |     | NULL    |       | 
+-----------+--------------+------+-----+---------+-------+
e che contiene dei record del tipo:
Codice:
mysql> mysql> select * from poi;
+-------------+---------+---------+-----+-----------+-----------------------------------------------------------------+
| nome        | lon     | lat     | alt | tipologia | wikiLynk                                                        |
+-------------+---------+---------+-----+-----------+-----------------------------------------------------------------+
| Colosseo    | 41.8913 | 12.4911 | 0.5 |         0 | http://it.wikipedia.org/wiki/Colosseo                           | 
| Foro Romano | 41.9552 | 12.6768 |   0 |         0 | http://it.wikipedia.org/wiki/Foro_Romano                        | 
| San Pietro  | 41.9457 | 12.6755 |   0 |         0 | http://it.wikipedia.org/wiki/Basilica_di_San_Pietro_in_Vaticano | 
| Pantheon    | 41.9554 | 12.5876 |   0 |         0 | http://it.wikipedia.org/wiki/Pantheon_%28Roma%29                | 
+-------------+---------+---------+-----+-----------+-----------------------------------------------------------------+
Praticamente devo implementare una query che usando la funzione haversine mi restituisce tutti i POI (i punti di interesse) presenti entro un certo raggio dalla posizione dell'utente (espressa sotto forma di longitudine e latitudine)

Stavo vedendo queste slide: http://www.scribd.com/doc/2569355/Ge...rch-with-MySQL ma mi sono bloccato

Praticamente...alla slide 6 dà questa formula (Haversine Formula) che da quello che ho capito serve a calcolare la DISTANZA TRA 2 PUNTI IDENTIFICATI DALLE LORO COORDINATE GPS DI LATITUDINE E DI LONGITUDINE (almeno questo è quello che ho capito...me lo confermate?)

FORMULA PER CALCOLARE LA DISTANZA TRA 2 PUNTI IMPLEMENTATA IN MySql
Codice:
3956 * 2 * ASIN ( SQRT (POWER(SIN((orig.lat - dest.lat)*pi()/180 / 2), 2) +  COS(orig.lat * pi()/180) * COS(dest.lat * pi()/180) *  POWER(SIN((orig.lon - dest.lon) * pi()/180 / 2), 2)  ) ) as distance
Dove 3956 dovrebbe essere il raggio della terra espresso in Km

Ora...usando questa formula devo implementare una query che mi restituisce tutti i POI in un certo raggio centrato nelle coordinate dell'utente.

Quindi si passa alla slide 7 (dove mi incasino di brutto).

Praticamente fà così:
Codice:
set @orig_lat=122.4058; 
set @orig_lon=37.7907;
set @dist=10;

SELECT *, 3956 * 2 * ASIN(SQRT(
POWER(SIN((@orig_lat - abs(dest.lat)) * pi()/180 / 2),
2) + COS(@orig_lat * pi()/180 ) * COS(abs(dest.lat) *
pi()/180) * POWER(SIN((@orig_lon – dest.lon) *
pi()/180 / 2), 2) )) as distance
FROM hotels dest
having distance < @dist
ORDER BY distance limit 10;
Allora...analizzando un attimo questa query:
nelle prime 3 righe setta 3 variabili nel database contenenti la latitudine e la longitudine dell'utente e la distanza entro cui si vuole effettuare la ricerca (il range di ricerca appunto)

Ok...fin quì ci stò...vabbè la sua tabella si chiama hotels e non poi...vabbè basta sostituire...

Però in questo codice non riesco a capire per lui chi siano: dest.lat e dest.lon, cosa rappresentano? Cioè per ogni poi presente nella mia tabella ci va a mettere la rispettiva latitudine e longitudine per eseguire il test?

Io ho provato a modificare la query così ma non mi funziona:

Codice:
set @orig_lat=41.889758; 
set @orig_lon=12.4989331;
set @dist=10;

SELECT *, 3956 * 2 * ASIN(SQRT(
POWER(SIN((@orig_lat - abs(dest.lat)) * pi()/180 / 2),
2) + COS(@orig_lat * pi()/180 ) * COS(abs(dest.lat) *
pi()/180) * POWER(SIN((@orig_lon – dest.lon) *
pi()/180 / 2), 2) )) as distance
FROM poi dest
having distance < @dist
ORDER BY distance limit 10;
mi da il seguente messaggio di errore:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '– dest.lon) *
pi()/180 / 2), 2) )) as distance
FROM poi dest
having distance <' at line 4


mmm...mi ci sono spaccato la testa ma visto che non ho mai fatto query di questo tipo non sò proprio dove andare a mettere le mani...c'è qualcuno che mi sà aiutare?

Grazie
e-commerce84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
19.000 Pa a un prezzo senza precedenti: ...
Narwal in super offerta su Amazon: robot...
SK hynix e NVIDIA lavorano a un SSD spec...
Roborock in super offerta su Amazon: pre...
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: 02:09.


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