Date un'occhiata a questo post Mappa taxi con 'zone'
Dopo aver definito le zone (i poligoni colorati) su una jGoogleMaps, il sistema consente di registrare quando un mezzo e' all'interno della zona oppure no
Come realizzare una funzione che, data la posizione latitudine/longitudine del mezzo, mi restituisca si/no per segnalare la posizione interna ad una 'zona' ?
Da notare che una 'zona' potrebbe avere anche forma grandemente diversa dalla classica trapezoidale ottenibile con quattro linee
With this class, you can check if the GPS location coordinate is inside a polygon. You can use this class to check whether the user is inside a building, shopping mall or any custom shape. This class is only for B4A and B4I. Here is how can you get the coordinates of an establishment (school...
www.b4x.com
e non per un poligono all'interno di un altro poligono o poligoni che si intersecano tra loro come ho discusso in quel post.
I use this in my app to determine if a vehicle is within a defined zone made of 5 or more lat/lon coordinates. Point 1 is also Point 5 (first point and last point are same value). A simple box shows how to create this: 1----------2 | ........... | | ........... | clockwise (or counter...
www.b4x.com
Esempio due poligoni intersecanti.
La domanda in quale poligono si trova il marker???
Hi, im using googlemapextras and have a series of polygons which define property boundaries. I need to be able to calculate if a given lat/lng is within a specified distance of the edge of any part of the polygon.. I have seen code posted which shows if a given lat/lng is within a polygon or...
In entrambi
In fondo, nell'ottica del geofence, il marker rispetta sia i confini del primo che del secondo poligono.
E' come l'intersezione di due insiemi; quei punti possono essere considerati, in funzione di cosa stiamo cercando/guardando, come appartenenti al primo insieme, al secondo insieme o alla loro intersezione. E' il problema che dice quale "gruppo" guardare.
Nel caso del geofence, la domanda, in genere, è: "l'oggetto si trova ancora nei confini che ho definito?". Quindi, se anche esistesse un poligono sovrapposto o più ampio, non importerebbe perchè io sto testando su uno specifico poligono.
ps: se l'idea di base è costruire una specie di antifurto..basterebbe caricare la bici/auto su un camion opportunamente predisposto e tutto ciò che rimarrebbe sarebbe la possibilità di allertarsi se l'oggetto manca di rispondere ad un segnale di ping
Nel caso del geofence, la domanda, in genere, è: "l'oggetto si trova ancora nei confini che ho definito?". Quindi, se anche esistesse un poligono sovrapposto o più ampio, non importerebbe perchè io sto testando su uno specifico poligono.
No, perché se il veicolo è in movimento, indica in quale poligono è entrato o uscito.
ps: se l'idea di base è costruire una specie di antifurto..basterebbe caricare la bici/auto su un camion opportunamente predisposto e tutto ciò che rimarrebbe sarebbe la possibilità di allertarsi se l'oggetto manca di rispondere ad un segnale di ping
Scusa ma non sono d'accordo.
Nell'immagine di cui al post #3 entrambe le seguenti proposizoni sono valide:
- il veicolo non ha lasciato il (o si trova all'interno del) poligono 1
- il veicolo si trova all'interno del poligono 2
Ovviamente vale anche il contrario. Ma ciò è dovuto a come sono disegnati i poligoni, ovvero alla loro sovrapposizione parziale.
Se il mio scopo è semplicemente controllare che il marker si trovi "ancora" all'interno di un poligono, otterrò risposta positiva qualunque sia il poligono di test.
Se voglio sapere come si stia muovendo, sapendo della sovrapposizione, dovrei testare entrambe lecondizioni così da capire se vado da 1 a 2 o viceversa.
Per l'antifurto, concordo. E' ciò che dicevo anch'io. Se il server non riceve ping (o simili segnali dal veicolo) può presumere un furto (ma anche un malfunzionamento) e far scattare la verifica.
Scusa ma non sono d'accordo.
Nell'immagine di cui al post #3 entrambe le seguenti proposizoni sono valide:
- il veicolo non ha lasciato il (o si trova all'interno del) poligono 1
- il veicolo si trova all'interno del poligono 2
Ovviamente vale anche il contrario. Ma ciò è dovuto a come sono disegnati i poligoni, ovvero alla loro sovrapposizione parziale.
Quello che dicevo è che in un caso simile non hai la risposta univoca "il marker è nel poligono X" perchè sono vere contemporaneamente entrambe:
- il marker è nel poligono 1
- il marker è nel poligono 2
Credo dipenda dal tipo di applicazione se porre una domanda relativa ad uno specifico poligono.
Ammettiamo che in origine fosse completamente nell'area del poligono 1 e che si muova verso il poligono 2.
Avrei all'inzio:
poligono 1: true
poligono 2: false
Poi (come in figura). Questo mi direbbe che sto andando da 1 a 2
poligono 1: true
poligono 2: true
Ed, eventualmente, finirei con
poligono 1: false
poligono 2: true
Capisco che la tua idea sia: " se da poligono 1 si è mosso superando il confine di poligono 2, anche se è ancora in una fascia che appartiene ad entrambi i poligoni, io considero valido solo il dato relativo a poligono 2 proprio a causa del passaggio del confine". Un po' come se poligono2 prenda in carico (diventi responsabile) del marker a partire dal suo confine.
Ho compreso bene il punto che sollevavi? La questione, per te, dipende dal moto del marker?
ps: redo che le torri di controllo facciano qualcosa di simile con lo spazio aereo. Ma, per evitare problemi, credo anche che si dicano esplicitamente quando l'aereo è seguito/controllato da una o dall'altra.
Esattamente la situazione degli insiemi che dicevo all'inizio.
Potremmo dire che è in A (come se B non esistesse).
Potremmo dire che è in B (come se A non esistesse)
Potremmo dire che si trova nell'insieme intersezione di A e B, che di suo non è né A nè B
Oppure dire che si trova contemporaneamente in A e B
Alla fine, dipende da cosa ho bisogno di verificare e quindi dall'applicazione. Non è più una questione di geometria o insiemistica, ma la ricerca di una risposta ad un'esigenza reale. E ciascuna di quelle risposte può essere valida, in funzione di una specifica domanda.
Esattamente la situazione degli insiemi che dicevo all'inizio.
Potremmo dire che è in A (come se B non esistesse).
Potremmo dire che è in B (come se A non esistesse)
Potremmo dire che si trova nell'insieme intersezione di A e B, che di suo non è né a nè B
Oppure dire che si trova contemporaneamente in A e B
Alla fine, dipende da cosa ho bisogno di verificare e quindi dall'applicazione. Non è più una questione di geometria o insiemistica, ma la ricerca di una risposta ad un'esigenza reale. E ciascuna di quelle risposte può essere valida, in funzione di una specifica domanda.
Dato che ho lavorato per 10 anni nella sicurezza del trasporto merci, per grandi compagnie minerarie, non ho potuto dare la tua risposta ai miei clienti.
Mi dispiace.
Non metto in dubbio la tua professionalità o competenza; anzi, è un bene che tu abbia un'esperienza diretta di applicazione concreta di questi concetti.
E certamente, in quell'ambito, c'era una domanda specifica cui dare risposta e questa era univoca.
Però, se torniamo al post #1, la domanda era: fornite delle coordinate e il riferimento di una zona (poligono), le coordinate sono dentro o fuori quel poligono?
E, graficamente, in tutti gli esempi visti finora la risposta dovrebbe essere sempre "dentro".
Dato che ho lavorato per 10 anni nella sicurezza del trasporto merci, per grandi compagnie minerarie, non ho potuto dare la tua risposta ai miei clienti.
Mi dispiace.
Potevi semplicemente dire di disegnate i poligoni meglio in modo che non si sovrappensiero. ?
Scusa la battuta ?
Comunque Oprarra tu stai parlando della localizzazione dei veicoli di trasporto tra partenza e destinazione.
In questo caso si calcola la distanza fra il veicolo e le due aree e determinando quella minore. Si può considerare all'interno di un area se il veicolo è più vicino al centro dell'area esaminata rispetto all'altra sovrapposta
Nel caso di un furto si considera rubata se supera i confini della proprietà. Non è rubata se si trova nel tuo garage se il tuo garage è più vicino al giardino del vicino piuttosto che al centro della villetta
Potevi semplicemente dire di disegnate i poligoni meglio in modo che non si sovrappensiero. ?
Scusa la battuta ?
Comunque Oprarra tu stai parlando della localizzazione dei veicoli di trasporto tra partenza e destinazione.
In questo caso si calcola la distanza fra il veicolo e le due aree e determinando quella minore. Si può considerare all'interno di un area se il veicolo è più vicino al centro dell'area esaminata rispetto all'altra sovrapposta
Nel caso di un furto si considera rubata se supera i confini della proprietà. Non è rubata se si trova nel tuo garage se il tuo garage è più vicino al giardino del vicino piuttosto che al centro della villetta