Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    ricerca risultati nel raggio di 'n' risultati da un punto

    Ciao a tutti,
    ho creato un db con tutti i comuni italiani con i seguenti campi: id, nome_comune, provincia, cap, latitudine e longitudine.
    Ieri ho terminato, o almeno quasi, il lavoro di inserimento.
    Volevo sapere come poter trovare i comuni che si trovano ad una distanza 'n' dal comune scelto.
    Es. se io indico il comune di Empoli e do come distanza 10 km vorrei conoscere i comuni che si trovano nel raggio di 10km da Empoli.
    Ho trovato qualche script ma non riesco a farlo funzionare.
    Utilizzo PHP e MySql.
    E' tutto il giorno che provo ma ancora niente.
    ---
    il link che ho trovato è il seguente
    http://www.scribd.com/doc/2569355/Ge...rch-with-MySQL

  2. #2

    Ricerca risultati ner raggio di 'n' km da un comune

    Ops! scusate ma avevo scritto male il titolo della richiesta di aiuto...
    Questa nuova risposta può aiutare a capire meglio il testo.
    Vi prego aiutatemi che non so più dove andare a sbattere..

  3. #3
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    hai due possibilita:
    - usare le estensioni GIS di mysql (soluzione ottimale ma complessa, servono estensioni aggiuntive, procedure, etc)
    - usare le funzioni harvesine, la legge sferica dei coseni o vincenty. (la piu' semplice). Il link che hai trovato tu usa proprio harvesine.

    Cos'e' che non riesci a far funzionare?

    ps: attenzione, la pagina che hai trovato calcola tutto in miglia, non in km!

  4. #4
    Ma ti vengono restituiti degli errori oppure PHP + MySQL sono corretti ma non riesci ad estrarre i dati desiderati?
    Michele
    King Of The Kill

  5. #5
    Ciao,
    penso proprio di essere in alto mare con il codice...
    non riesco neppure a far funzionare la formula interrogando il db con le basi dettate dal tutorial.

    mi potete indirizzare sulla strada giusta prendendo come spunto i campi che ho io?
    Nome Tabella: comuni
    id
    nome_comune
    cap
    latitudine
    longitudine
    distanza (che posso variare e dichiarare prima della query 10km)
    Posto il codice solo modificato partendo dal tutorial
    Ho modificato il coefficiente per trasformare lo script in kilomtri.

    Codice PHP:
    set @orig_lon=10.9425185
    set @orig_lat=43.7186111
    set @dist=10000;
    SELECT *, 6371 ASIN(SQRTPOWER(SIN((@orig_lat -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 comuni dest
    having distance 
    < @dist ORDER BY distance limit 10
    Grazie

  6. #6

    [RISOLTO]

    ho trovato il codice giusto che funziona.
    Posto il tutto perchè credo che come me ci siano molte persone che ci sbattono la testa.
    N.B. ho già inserito il codice coordinate del mio esempio EMPOLI
    Codice PHP:
    SELECT id,nome_comune, ( 6371 acoscosradians(43.7186111) ) * cosradianslatitudine ) ) * cosradianslongitudine ) - radians(10.9425185) ) + sinradians(43.7186111) ) * sinradianslatitudine ) ) ) ) AS distance FROM comuni HAVING distance 40 ORDER BY distance LIMIT 0 20 
    Grazie a tutti e alla prossima

  7. #7
    Grandissimo. Funziona :-)

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    4
    ciao a tutti. in base a quanto scritto da voi in questo post, ho un problema analogo da risolvere. io sono nella situazione in cui la latitudine e la longitudine di partenza non li stabilisco io,ma li prendo attraverso le api di goolge maps. in pratica ho la funzione in javascript che mi ricava la mia posizione (lat, long). ora, questi due valori non riesco a inserirli nella query per estrapolare i dati con coordinate che sitrovano in un raggio di 5 km.

  9. #9
    Non è un qualcosa di semplicissimo quello che chiedi.
    In ogni caso è chiaro che occorre eseguire una richiesta ajax attraverso la quale inviare le coordinate di partenza in modo da farsi restituire le località vicine sotto forma json.

    Ma ci si deve lavorare un po' su!
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  10. #10
    Mi ricollego alla discussione , è possibile trovare gratuitamente un db con i comuni con latitudine e longitudine ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.