Italian capire se degli indirizzi sono all'interno di un cerchio

tmtube73

Active Member
Licensed User
ho un elenco di indirizzi con latitudine e longitudine, devo scorrerli con un ciclo for e selezionare solo quelli che geograficamente sono all'interno del cerchio con raggio 100 metri e come centro del cerchio le mie coordinate di dove mi trovo.

qualcuno sa aiutarmi?
 

tmtube73

Active Member
Licensed User
stavo pensando che forse più che geofence che crea un cerchio con un punto nel centro a me serve calcolare la distanza in linea retta fra me e l'indirizzo da esaminare
se la distanza è minore del raggio da me deciso quell'indirizzo si trova all'interno.

il problema è, come calcolo la distanza fra due punti conoscendo le coordinate latitudine e longitudine di due punti?


grazie in anticipo.
 

tmtube73

Active Member
Licensed User
scusate per il doppio post ma non lo vedevo pubblicato e quindi l'ho ripostato, tenete buono questo, credo che il mio problema sia conoscere la distanza fra due punti mentre geofence monitora se uno entra o esce da un certo raggio e non fa al caso mio
 

Sagenut

Expert
Licensed User
Longtime User
Non sono pratico di Maps e affini.
Quindi non sò come aiutarti.
 

Star-Dust

Expert
Licensed User
Longtime User
ho un elenco di indirizzi con latitudine e longitudine, devo scorrerli con un ciclo for e selezionare solo quelli che geograficamente sono all'interno del cerchio con raggio 100 metri e come centro del cerchio le mie coordinate di dove mi trovo.

qualcuno sa aiutarmi?
SI
 

Star-Dust

Expert
Licensed User
Longtime User
scusate per il doppio post ma non lo vedevo pubblicato e quindi l'ho ripostato, tenete buono questo, credo che il mio problema sia conoscere la distanza fra due punti mentre geofence monitora se uno entra o esce da un certo raggio e non fa al caso mio
Ci sono diversi sorgenti sul forum per questo.
Già realizzato un applicativo B4J per la verifica dei punti di distribuzione all'interno di alcune aree tracciate lungo i quartieri della città. Identifica ed elenca i punti per ogni area selezionata (ho sfocato per ovvi motivi)
1654771286780.png


Su che piattaforma devi sviluppare?
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
scusate per il doppio post ma non lo vedevo pubblicato e quindi l'ho ripostato, tenete buono questo, credo che il mio problema sia conoscere la distanza fra due punti mentre geofence monitora se uno entra o esce da un certo raggio e non fa al caso mio
Non sei un utente licenziano, fai una donazione e ti licenziano e i messaggi non saranno soggetti ad approivazione.

Sei di Bologna?
 

marcick

Well-Known Member
Licensed User
Longtime User
il problema è, come calcolo la distanza fra due punti conoscendo le coordinate latitudine e longitudine di due punti?
GPS library:
    Dim l1 As Location
    l1.Initialize
    l1.Latitude = 45.1
    l1.Longitude = 8
   
    Dim l2 As Location
    l2.Initialize
    l2.Latitude = 45.2
    l2.Longitude = 8

    Log("l1.DistanceTo(l2): " & l1.DistanceTo(l2))
 

Star-Dust

Expert
Licensed User
Longtime User
GPS library:
    Dim l1 As Location
    l1.Initialize
    l1.Latitude = 45.1
    l1.Longitude = 8
 
    Dim l2 As Location
    l2.Initialize
    l2.Latitude = 45.2
    l2.Longitude = 8

    Log("l1.DistanceTo(l2): " & l1.DistanceTo(l2))
Questo va bene se cerchi un punto all'interno di un area che formi una circonferenza e avendo il punto centrale calcoli la distanza,
Diverso se cerchi di identificare un punto all'interno di un area che può avere una qualsiasi forma. Sul forum sono state suggerite due metodi diversi per questo scopo.

Se lui deve calcolare solo all'interno di un cerchio va bene la distanza
 

tmtube73

Active Member
Licensed User
Ci sono diversi sorgenti sul forum per questo.
Già realizzato un applicativo B4J per la verifica dei punti di distribuzione all'interno di alcune aree tracciate lungo i quartieri della città. Identifica ed elenca i punti per ogni area selezionata (ho sfocato per ovvi motivi)
View attachment 130221

Su che piattaforma devi sviluppare?
b4a
 

tmtube73

Active Member
Licensed User
Non sei un utente licenziano, fai una donazione e ti licenziano e i messaggi non saranno soggetti ad approivazione.

Sei di Bologna?
l'ho fatta la donazione ma non so se risulta perché la mail di paypal è diversa dalla mail utilizzata qui

sono di Brescia
 

tmtube73

Active Member
Licensed User
GPS library:
    Dim l1 As Location
    l1.Initialize
    l1.Latitude = 45.1
    l1.Longitude = 8
  
    Dim l2 As Location
    l2.Initialize
    l2.Latitude = 45.2
    l2.Longitude = 8

    Log("l1.DistanceTo(l2): " & l1.DistanceTo(l2))
apperò, grazie!!! lo provo subito, corro!!!
 

tmtube73

Active Member
Licensed User
Questo va bene se cerchi un punto all'interno di un area che formi una circonferenza e avendo il punto centrale calcoli la distanza,
Diverso se cerchi di identificare un punto all'interno di un area che può avere una qualsiasi forma. Sul forum sono state suggerite due metodi diversi per questo scopo.

Se lui deve calcolare solo all'interno di un cerchio va bene la distanza
esatto mi serviva all'interno di una circonferenza di raggio N metri quindi questo va bene
 

tmtube73

Active Member
Licensed User
GPS library:
    Dim l1 As Location
    l1.Initialize
    l1.Latitude = 45.1
    l1.Longitude = 8
  
    Dim l2 As Location
    l2.Initialize
    l2.Latitude = 45.2
    l2.Longitude = 8

    Log("l1.DistanceTo(l2): " & l1.DistanceTo(l2))

ho un problema
le coordinate del cliente le ho prese da google maps ed hanno il formato corretto ma le coordinate dello smartphone sono in questo formato che manda in errore la APP
45:37,56874

devo forse prendere solo la stringa a destra dei 2 punti? in caso affermativo che comando si usa?
grazie.
 

marcick

Well-Known Member
Licensed User
Longtime User
ho un problema
le coordinate del cliente le ho prese da google maps ed hanno il formato corretto ma le coordinate dello smartphone sono in questo formato che manda in errore la APP
45:37,56874

devo forse prendere solo la stringa a destra dei 2 punti? in caso affermativo che comando si usa?
grazie.
Ci sono più modi di rappresentazione delle coordinate. Quello sopra è

gradi : minuti , decimali di minuto

devi lavorare di stringhe per separare i campi.
prendi i minuti con i suoi decimali, dividi per 60 e ottieni i decimali dei gradi da aggiungere ai gradi

37.56874/60 = 0.6261
Quindi ottieni 45.6261

Non so se c’è qualche libreria che agevola queste conversioni. Anche l’app che ti fornisce le coordinate potrebbe darti l’opzione di scegliere il formato e avere già direttamente

gradi . Decimali di grado
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Stiamo tutti rispondendo su due thread praticamente uguali, usiamo questo o usiamo l'altro ???
 
Top