Guida rapida istSOS¶
istSOS è un’implementazione del server OGC Sensor Observation Service (SOS) scritta in Python. istSOS permette di gestire e spedire osservazioni da sensori di monitoraggio secondo lo standard Sensor Observation Service.
Il progetto fornisce anche un’interfaccia grafica che permette di facilitare le operazioni quotidiane e un’API Web RESTFull per automatizzare le procedure di amministrazione.
istSOS è rilasciato sotto licenza GPLv2, e funziona su tutte le principali piattaforme (Windows, Linux, Mac OS X), anche se è stato usato in produzione solo in ambiente Linux.
Contenuti
Crea database postgis¶
Apri un terminale ed esegui i seguenti comandi:
sudo -u postgres createdb -E UTF8 istsos
sudo -u postgres psql -d istsos -c 'CREATE EXTENSION postgis'
Imposta un’istanza del servizio istSOS¶
Con istSOS puoi organizzare i dati dei tuoi sensori in diverse istanze. Ogni istanza ha il proprio schema di database indipendente dalle altre istanze. Puoi anche distribuire altri database sulla tua rete in base alle tue esigenze.
Il primo passo nella configurazione di istSOS è quello di configurare le opzioni di configurazione predefinite. Queste opzioni saranno poi utilizzate automaticamente per tua comodità da ogni nuova istanza di istSOS creata.
- to open the Web Admin interface. Alternatively, open a browser and go to
Clicca sul pulsante Enter nella pagina di amministrazione.
Configura la tua connessione al database. Dal menu dei pulsanti della barra degli strumenti, premi il pulsante «Database» e compila le opzioni di configurazione del database:
user: postgres password: postgres host: localhost port: 5432 DB name: istsos
Premi il pulsante «Fornitore di servizi» e compilalo con le tue informazioni istituzionali.
Premi il pulsante «Identificazione del servizio» e riempi con metadati personalizzati che descrivono l’uso del servizio.
Premi il pulsante «Sistema di coordinate» per gestire il Sistema di riferimento di coordinate (CRS).
Codice EPSG predefinito: questo sarà il Sistema di Riferimento delle Coordinate (CRS) nativo delle tue geometrie nel database.
Permitted EPSG: qui puoi configurare quali altri sistemi di riferimento di coordinate il tuo sistema supporterà e riproietterà se richiesto.
Dal menu dei pulsanti della barra degli strumenti, premi il pulsante «GetObservation Configuration» per impostare l’intervallo di tempo massimo per ogni richiesta getObservation (zero per nessun limite) e il valore di aggregazione senza dati.
Configura il tuo indirizzo proxy di servizio. Il campo Proxy URL è l’URL di base visto oltre un proxy inverso.
Crea un nuovo servizio¶
Ora che hai configurato istSOS, è il momento di creare una nuova istanza del servizio.
Dal menu dei pulsanti della barra degli strumenti premi il pulsante «new service» e clicca su Next.
Digita demo per il nome del servizio.
Nel campo EPSG puoi impostare la proiezione nativa del database. Lascialo vuoto per usare l’impostazione predefinita. Fai clic su Next.
Cliccando sulla casella «Customize database» si può cambiare la configurazione predefinita del database per questa nuova istanza di istSOS.
Premi Next. Viene visualizzato il pannello di stato del server. Se qualcosa è andato storto durante la creazione vedrai un avviso qui.
Nota
L’istanza «demo» di istSOS ha ereditato tutte le opzioni di configurazione dalla configurazione di default. Se, per qualsiasi motivo, decidi di modificarle, le modifiche avranno effetto solo su questa istanza.
Aggiungi una nuova procedura¶
Dal pulsante a discesa «servizi» dell’interfaccia di amministrazione (http://localhost/istsos/admin ) scegli l’istanza desiderata.
Dal menu dei pulsanti della barra degli strumenti premi il pulsante New procedure.
Compila il modulo con le informazioni appropriate.
Avvertimento
Una volta creata una procedura, gli output (proprietà osservate) non possono essere cambiati.
Nota
Parametri opzionali: Riempi al proprio bisogno e volontà
Esempio (configurazione minima)
Nome: T_LUGANO |
Descrizione: stazione meteorologica a Lugano |
Keywords: weather, meteorological, IST |
Tipo di sistema: insitu-fixed-point |
Tipo di sensore: Termistori PTC del tipo «switching» |
Nome FOI: LUGANO |
EPSG: 4326 |
Coordinate: x: 8.96127 y: 46.02723 z: 344.1 |
Risultati (confermare i risultati premendo il pulsante «add»):
Proprietà osservata: urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature |
Unità di misura: °C |
Descrizione (opzionale): conversione da resistenza a temperatura |
controllo dell’indice di qualità (opzionale): Tra / da -40 a +60 |
Nota
Registra il nuovo sensore (procedura) premendo il pulsante «submit».
Aggiungi nuove osservazioni¶
Per prima cosa creererai un file di testo con i dati del sensore, formattato secondo «text/csv, subtype=istSOS». Il file utilizza un formato CSV (Comma Separated Values). La prima riga contiene informazioni di intestazione, compresi i nomi URI delle proprietà osservate. Le righe seguenti contengono i dati.
Apri un editor di testo selezionando
.Copia e incolla il seguente testo nella finestra dell’editor di testo:
urn:ogc:def:parameter:x-istsos:1.0:time:iso8601,urn:ogc:def:parameter:x-istsos:1.0:meteo:air:temperature 2014-06-03T14:30:00.00Z,22.20 2014-06-03T14:40:00.00Z,22.00 2014-06-03T14:50:00.00Z,21.70 2014-06-03T15:00:00.00Z,21.20 2014-06-03T15:10:00.00Z,20.70 2014-06-03T15:20:00.00Z,20.20 2014-06-03T15:30:00.00Z,19.60 2014-06-03T15:40:00.00Z,19.20 2014-06-03T15:50:00.00Z,18.20 2014-06-03T16:00:00.00Z,18.00 2014-06-03T16:10:00.00Z,17.20
Salva il file come «T_LUGANO_20140603161000000.dat» sul Desktop. La convenzione del nome del file utilizzata è: PROCEDURENAME_YYYYMMDDhhmmssfff.dat
Apri un terminale selezionando
.Nel terminale, digita: «cd /usr/share/istsos/» e premi INVIO.
Scrivi «python scripts/csv2istsos.py -p T_LUGANO -u http://localhost/istsos -s demo -w ~/Desktop» e premi INVIO
Dovresti vedere un messaggio «Inserire l’osservazione con successo: True»
Clicca
.Clicca il pulsante Enter nella pagina di amministrazione
Clicca
.- Seleziona quanto segue:
Service = demo
Offering = temporary
Procedura T_LUGANO
Fare clic sul pulsante Add.
Clicca il pulsante Plot e controlla che i dati siano stati aggiunti (attenzione al tuo fuso orario!)
E ora?¶
Per saperne di più su istSOS, un punto di partenza è la istSOS Documentation e il istSOS Tutorial.