Scripting: Geolocalizzazione

Tutorial

Questo capitolo descrive i meccanismi di geolocalizzazione forniti nativamente da Immersive, per rappresentare dinamicamente la posizione e il movimento degli oggetti geolocalizzato nel gemello digitale 3D, senza la necessità di uno sviluppo JavaScript specifico.

Nel caso delle apparecchiature geolocalizzate, Immersive offre diversi comportamenti nativi Permettendo di rappresentare visivamente un cambiamento nella posizione di un oggetto nel suo ambiente e non richiedono uno sviluppo specifico in JS ma solo una configurazione a livello di apparecchiatura.

I 3 comportamenti disponibili sono i seguenti:

  • GeoTracking : Teletrasporto di un oggetto geolocalizzato
  • GeoMove : Tracciamento in tempo reale di un oggetto geolocalizzato con orientamento
  • NavMeshMove : Tracciare un oggetto con un vincolo di movimento sul grafo di navigazione.

Posizioni GPS riportate da una variabile di tipo GISVector Deve seguire il seguente formato: longitude;latitude

Esempio di posizione GPS valida: 7.841257629258633;48.552757624772426

Abilitazione del GeoTracking

Il GeoTracking Ti permette di cambiare la posizione di un oggetto sulla mappa in base alla sua posizione GPS. Ogni volta che viene ricevuta una posizione GPS, l'oggetto associato verrà teletrasportato nella posizione corrispondente sulla mappa.

Questo tipo di tracciamento viene utilizzato nel caso di una posizione GPS non accurata o di frequenza bassa.

Per associare un GeoTracking equipaggiamento, Tutto quello che devi fare è creare una variabile con il nome GeoTracking. Infatti, un comportamento è stato salvato di default da Immersive con la regola di importazione $(GeoTracking).

Il comportamento può recuperare la posizione GPS dell'oggetto in 2 modi diversi:

  • Tramite una variabile di tipo GISVector portando il nome GeoPos
  • Attraverso 2 variabili separate di tipo Single portano i nomi Longitude e Latitude

Attivazione del GeoMove

Il GeoMove è una versione avanzata del GeoTracking. Si occupa di animare l'oggetto sull'aereo tra le diverse posizioni GPS per ottenere un movimento fluido.

Questo tipo di tracciamento viene utilizzato nel caso di un rapporto di posizione GPS molto accurato (pochi centimetri) e con una frequenza elevata (< 1 s).

Per associare un GeoMove equipaggiamento, Tutto quello che devi fare è creare una variabile con il nome GeoMove. Infatti, un comportamento predefinito è stato registrato da Immersive con la regola di importazione $(GeoMove).

Il comportamento può recuperare la posizione GPS dell'oggetto in due modi diversi:

  • Tramite una variabile di tipo GISVector portando il nome GeoPos
  • Attraverso due variabili separate di tipo Single portano i nomi Longitude e Latitude

Nel caso in cui l'oggetto debba essere orientato oltre alla sua posizione, ci sono disponibili due soluzioni:

  • Fornire orientamento agli oggetti tramite sensore di orientamento (soluzione consigliata)
    • Aggiungi una variabile Orientation all'oggetto contenente il valore di orientamento
  • Fornire informazioni su se l'oggetto è in marcia avanti o indietro,

oltre all'ultima posizione GPS conosciuta oltre a quella precedente.

  • Aggiungi una variabile Reversing Tipo Boolean, il che è vero se il retro è attivato
  • Aggiungi una variabile PreviousCoordinates corrispondente alla posizione GPS precedentemente misurata
"Supervision.UpdatesPeriod" : 0.5

Attivazione del NavMeshMove

Questo tipo di tracciamento viene utilizzato nel caso di un rapporto di posizione GPS più o meno accurato, e la cui frequenza non è abbastanza grande da essere animata dal GeoMove. Per poterlo usare, è necessario avere un grafico di navigazione sulla mappa.

Quando viene segnalata una posizione GPS, l'oggetto tracciato osserva la sua posizione attuale e la posizione in cui dovrebbe andare, cerca i punti del grafo di navigazione Più vicino a queste due posizioni, e cerca un percorso valido.

Se viene trovato un percorso valido, l'oggetto verrà animato dal punto A al punto B seguendo il percorso calcolato.

Per associare un NavMeshMove equipaggiamento, Tutto quello che devi fare è creare una variabile con il nome NavMeshMove. Infatti, un comportamento predefinito è stato registrato da Immersive con la regola dell'importazione $( NavMeshMove).