Italian Che codice usare per capire se una locazione e' interna/esterna ad una zona irregolare?

amorosik

Expert
Licensed User
Supponiamo di avere una bici che viaggia per strada
La bici mi restituisce la posizione ogni secondo ed io la posso vedere sulla mia bella mappa in ufficio
Ora, volendo definire una zona di forma qualsiasi sulla mappa (dal punto di vista informativo una sequenza di coppie latitudine/longitudine) come fare per capire quando una posizione (una coppia latitidine/longitudine) e' interna alla zona e quando e' esterna?
Intendo dire, che logica seguire per realizzare una funzione che mi restituisca il true/false una volta passata la definizione della zona ed il punto che desidero controllare
Come procedereste, esclusivamente a colpi di codice B4X?
Attansion che la 'zona' passata puo' essere di qualsiasi forma, e quindi potrebbe avere dei segmenti che uniscono due punti successivi, che interscano altri segmenti
Per noi della banda scarsotti, ho fatto un disegnino, cosi' ci capiamo subito


1646649331927.png
 
Last edited:

udg

Expert
Licensed User
Longtime User
Non mi ci sono soffermato a riflettere, ma di istinto direi:
- rileva la direzione di movimento
- definsci una retta sulla base della direzione
- cerca le intersezioni della retta "movimento" con quelle del grafico
- quando raggiungi l'intersezione, stai per "sconfinare"

Oppure
- definisci un raggio "critico" attorno alla posizione corrente
- verifichi quali rette intersecano la circonferenza di "attenzione"
- verifichi l'appartenenza della posizione ad una delle rette di cui sopra
 

Star-Dust

Expert
Licensed User
Longtime User
Supponiamo di avere una bici che viaggia per strada
La bici mi restituisce la posizione ogni secondo ed io la posso vedere sulla mia bella mappa in ufficio
Ora, volendo definire una zona di forma qualsiasi sulla mappa (dal punto di vista informativo una sequenza di coppie latitudine/longitudine) come fare per capire quando una posizione (una coppia latitidine/longitudine) e' interna alla zona e quando e' esterna?
Intendo dire, che logica seguire per realizzare una funzione che mi restituisca il true/false una volta passata la definizione della zona ed il punto che desidero controllare
Come procedereste, esclusivamente a colpi di codice B4X?
Attansion che la 'zona' passata puo' essere di qualsiasi forma, e quindi potrebbe avere dei segmenti che uniscono due punti successivi, che interscano altri segmenti
Per noi della banda scarsotti, ho fatto un disegnino, cosi' ci capiamo subito


View attachment 126421
Ha fatto un bellissimo algoritmo Don Manfred , era sviluppato per GoogleMap ma funziona anche nel tuo caso.
In realtà ce n'erano due algoritmi ma li ho provati pesantemente su 10mila poligoni e quello di Don risultava piu veloce.
 

amorosik

Expert
Licensed User
Ha fatto un bellissimo algoritmo Don Manfred , era sviluppato per GoogleMap ma funziona anche nel tuo caso.
In realtà ce n'erano due algoritmi ma li ho provati pesantemente su 10mila poligoni e quello di Don risultava piu veloce.

Sto cercando ma il manigoldo ha un mare di esempi di codice realizzato
Ci ho messo oltre al nome un geo un fence un map ma non trovo il post incriminato
Segnalo ai componenti banda scarsotti questo post dove c'e' un sacco di materiale buono un po' per tutto
Ti ricordi qualche parola chiave che mi permetta di risalire al post dove presentava l'algoritmo?
 

Star-Dust

Expert
Licensed User
Longtime User
Forse non era Don?
 

Star-Dust

Expert
Licensed User
Longtime User
O anche questo
 

amorosik

Expert
Licensed User
O anche questo

Questo e' proprio basico-basico, prevede il dentro/fuori rispetto ad un rettangolo, con un lato in orizzontale
Comunque puo' essere utile in moltissime applicazioni
Resta scoperto ancora un metodo generico per risolvere il caso "con intersezioni"
 

Star-Dust

Expert
Licensed User
Longtime User
Questo e' proprio basico-basico, prevede il dentro/fuori rispetto ad un rettangolo, con un lato in orizzontale
Comunque puo' essere utile in moltissime applicazioni
Resta scoperto ancora un metodo generico per risolvere il caso "con intersezioni"
io ce l'ho da qualche parte ma mi secca cercarlo. Chiedi a @Xfood lui è il database storico dei sorgenti
 

amorosik

Expert
Licensed User
io ce l'ho da qualche parte ma mi secca cercarlo. Chiedi a @Xfood lui è il database storico dei sorgenti

Ahhhh Xfooooooddddd, il caso ciaina e' tuo
Quando arrivano alla Guerra Armida (al minuto 1:35) mi cappotto puntualmente sulla poltrona
Ci sono delle chicche che solo i locali riescono ad apprezzare:
"...44 magnum per l'ispetore Caghalan..." (0:20)
"...eh ma 44 xe massa, te li ciavo dalla busta..." (0:36)
"..su stuffo de ndare in secca a 100 all'ora.." (0:58)
"...ti ghe insegni a fare le molecche ai cinesi.." (2.20)
"...ohhh Cien, tira fuora la garansia..... ma va in Cina..." (3:35)
ed altri
Per i cultori del genere segnalo altro capolavoro, "te speto fuora"
Va beh, lassiamo stare il piacceeere e passiamo al doveeere

@Xfood a rapporto, @Xfood a rapporto, convergere in calle Rugoli e verificare la presenza in archivio del codice per 'capire' se un punto geografico e' dentro o fuori una zona arbitraria, definita come sequenza chiusa di segmenti
 
Top