Autore Topic: Select from lat e lon  (Letto 1041 volte)

Offline satego

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 7
Select from lat e lon
« il: 30 Ottobre 2013, 21:26:44 CET »
0
Ciao a tutti,
ho un sito web che contiene diverse strutture turistiche in tutta Italia.
Ora vorrei creare un'app sfruttando le api della Geolocalizzazione in modo che quando questa viene avviata,
vengono rilevate le coordinate GPS e di conseguenza verranno visualizzate le strutture vicine (territorialmente).

Ho incominciato ad utilizzare i webservices creati sul mio sito e qui tutto funziona bene.
Ho pensato a questa soluzione:
all'avvio dell'applicazione rilevo latitudine e longitudine dell'utente e richiamo un webservice passandogli
le due coordinate come parametri.
Questo webservice mi restituisce la lista delle strutture selezionando in qualche modo le strutture con le coordinate vicine.
Ogni struttura nel db hanno due campi per le coordinate (lat e lon).

Come faccio adesso a selezionare le coordinate vicine?
supponendo queste: 41.85650481120277, 12.500617504119873 (Roma)
mi basta prendere tutte quelle che iniziano con 41 e 12?

Ho provato a cercare su google ma non ho trovato nulla che possa spiegarmi.

Grazie anticipati,
saluti

Paolo

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
Re:Select from lat e lon
« Risposta #1 il: 30 Ottobre 2013, 21:45:46 CET »
0
devi fare una query spaziale per ottenere ciò che vuoi, altrimenti è troppo complicato.
DB spaziali free ce ne sono, puoi usare POSTGIS (POSTGRESQL + estensione spaziale) oppure Oracle Spatial (ha limitazioni a livello commerciale), o cercare sul web altri dbms spaziali.
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 bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Select from lat e lon
« Risposta #2 il: 30 Ottobre 2013, 21:52:39 CET »
0
Se ti basta una semplificazione del problema: cerchi i punti la cui latitudine è tra (LAT - DELTA) e (LAT + DELTA) e la cui longitudine è tra (LON - DELTA) e (LON + DELTA). In pratica definisci un'area quadrata attorno al punto centrale, cosa coerente con qualsiasi mappa, e può essere facilmente integrata in una query SQL.

NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline satego

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Select from lat e lon
« Risposta #3 il: 30 Ottobre 2013, 21:55:06 CET »
0
Grazie Nicola,
il sito web utilizza SQLSERVER, posso implementare qualcosa con il mio db?
C'è qualche tutorial su questo argomento?

Grazie anche a te bradipao,
magari con un esempio mi è più facile implementare....

grazie mille!

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Select from lat e lon
« Risposta #4 il: 30 Ottobre 2013, 22:00:53 CET »
0
Grazie anche a te bradipao,
magari con un esempio mi è più facile implementare....

Supponendo che il tuo punto centrale è in (41.8 , 12.5) e supponendo di voler trovare i punti entro +/- 0.1 dal punto centrale:

Codice: [Seleziona]
SELECT * FROM tabella_punti WHERE ((lat>41.8-0.1) AND (lat<41.8+0.1) AND (lon>12.5-0.1) AND (lon<12.5+0.1))
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline satego

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Select from lat e lon
« Risposta #5 il: 30 Ottobre 2013, 22:07:10 CET »
0
Grazie mille,
questa va bene come soluzione?
Al max in caso non dovessi recuperare nessuna struttura opterei ad aumentare il delta?

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
Re:Select from lat e lon
« Risposta #6 il: 30 Ottobre 2013, 22:12:49 CET »
0
Cercando spatial sqlserver ho trovato questo come primo link http://technet.microsoft.com/en-us/library/bb933876(v=sql.105).aspx qualcosa c'è, basta cervare

Inviato dal mio Nexus 4 utilizzando Tapatalk

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 satego

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 7
Re:Select from lat e lon
« Risposta #7 il: 30 Ottobre 2013, 22:25:39 CET »
0
Grazie Nicola,
anche per il link suggerito.
Approfondirò questo argomento.

Grazie a tutti,
alla prossima!!!