Archivio

Archive for the ‘GIS Database’ Category

OpenDistributoriCarburantiBot: risparmiare sul pieno di carburante con Telegram

28 febbraio 2016 15 commenti

In questi ultimi tempi, su più fronti si sente parlare molto spesso di Telegram, non solo e non tanto come app di messaggistica (per certi versi in alternativa o in opposizione / concorrenza a WhatsApp), quanto per la possibilità offerta di poter realizzare delle chat automatiche (denominati “bot”), il cui scopo è quello di rispondere alle nostre domande, alle nostre richieste, e facilitare in generale operazioni varie.

Si và da esempi molto semplici, piccoli giochi, sino a cose più serie ed articolate. Riporto ad esempio:

  • @webcamstravelbot che fornisce l’elenco delle webcam intorno ad un punto di interesse
  • @escilaricettaBot che permette di ricercare ricette dato un certo ingrediente di interesse
  • @emergenzeprato_bot per le segnalazioni meteo a di rischio dell’area del comune di Prato
  • @divinacommediabot che permette di ricercare versi della Divina Commedia di Dante
  • @gttorari_bot con cui la compagnia dei trasporti pubblici di Torino informa i propri utenti dei passaggi degli autobus

…. sino ad arrivare, notizia proprio degli ultimi giorni, al canale @pgpompei attraverso il quale Papa Francesco fà arrivare giornalmente il Vangelo del giorno!!! Quindi davvero dal “sacro” al “profano” …..

Non mi dilungo qui a spiegare più nel dettaglio: su internet si trovano abbondanti informazioni sia sulla piattaforma sia su cosa sono questi bot, per cui rimando a queste fonti tutti coloro che fossero interessati ad approfondire.

Più che lo strumento di messagistica in sè, con le sue dichiarate caratteristiche peculiari di maggior sicurezza e rispetto della privacy (nel bene e nel male ….), rispetto ai suoi concorrenti, mi ha incuriosito la possibilità di realizzare queste chat automatiche e quindi, volendone approfondire l’argomento, ho deciso a provare a realizzarne una.

Mi mancava un caso d’uso che non fosse un classico “Hello World!” e che, ovviamente, avesse anche una sua componente “spaziale”.

Dopo qualche riflessione ed ipotesi mi sono ricordato di un bel lavoro fatto tempo fà da Stefano Sabatini (@__sabas) sui distributori di carburanti in Italia che mi sembrava fosse adatto allo scopo: dati “reali”, dati open, liberamente utilizzabili (licenza iodl 2.0), aggiornati giornalmente, con coordinate e quindi facilmente trasformabili in un dato spaziale per poi essere utilizzabili anche con funzionalità spaziali.

E’ così che è nata l’ipotesi, pian piano concretizzatasi, di OpenDistributoriCarburantiBot.

Questo bot permette di sapere, dato un comune italiano, quali sono i distributori di carburante che vi ricadono o, data una posizione georiferita, quali sono i distributori di carburante che ricadono nel suo intorno per una certa distanza (scelta tra 500, 1000, 2000 e 3000 metri).

I dati sono aggiornati giornalmente a partire dalle 08.30 attingendo direttamente dagli open del Ministero dello Sviluppo Economico (MISE).

E’ possibile selezionare il carburante di proprio interesse ed i risultati sono ordinati sulla base del prezzo: è quindi possibile individuare quelli più convenienti per le nostre esigenze.

A seconda del tipo di ricerca effettuata, e se si è fornita o meno la posizione georiferita, è possibile:

  • visualizzare su mappa OpenStreetMap la localizzazione del distributore
  • visualizzare la descrizione del percorso per raggiungere il distributore dalla posizione corrente
  • visualizzare, su mappa 2D, il percorso per raggiungere il distributore dalla posizione corrente
  • visualizzare, su mappa 3D, il percorso per raggiungere il distributore dalla posizione corrente. Per questa ultima funzionalità è necessario disporre di un web browser di ultima generazione che supporti webGL (le ultime versioni di Mozilla Firefox e Chrome sono già abilitate)

Il suo utilizzo è molto semplice: nel seguito vi illustro una sequenza di passi per il suo utilizzo e anche una breve sessione utente registrata in video.

Occorre ovviamente avere installato Telegram sul proprio smartphone, tablet o desktop (nota: la versione desktop è un pò limitata per le funzonalità supportate, ad esempio non è possibile fornire la propria posizione, o almeno io non ci sono riuscito): fatto questo è sufficiente ricercare “OpenDistributoriCarburantiBot” come illustrato

01

All’avvio viene visualizzato un messaggio di benvenuto con una una breve sintesi sulle sue caratteristiche.

02

Occorre avviare il bot se si intende utilizzarlo

04

In qualunque momento questo messaggio è nuovamente visualizzabile scrivendo il comando /start.

Sono disponibili anche altri due comandi, rispettivamente /info (per avere informazioni di dettagli tecnico)…

05

…. e /credits (per i doverosi e necessari ringraziamenti) ….

06

E possibile scrivere il nome di un comune italiano: il nome può essere scritto minuscolo o maiuscolo in modo indifferente. Sono trattati anche nomi di comuni con spazi ed apostrofi.

07

Per i comuni il cui nome contiene lettere accentate è necessario utilizzare gli apici

08

A questo punto occorre selezionare, dal menù visualizzato, il tipo di carburante e attendere il risultato della ricerca

09

Se la ricerca produce risultati questi sono ordinati per prezzo crescente e, per ogni risultato, è possibile visualizzare su una mappa OpenStreetMap la localizzazione del relativo distributore

10

11

L’indicazione del comune non è l’unica modalità di ricerca: è infatti possibile indicare le propria posizione corrente o di interesse cliccando sull’icona della graffetta che in queste videate compare in basso a destra e poi selezionare l’opzione ‘Posizione

12

13

A questo punto è necessario selezionare, dal menù visualizzato, il raggio di ricerca

14

A questo punto occorre selezionare, dal menù visualizzato, il tipo di carburante

15

In questo caso, se la ricerca produce risultati questi sono ordinati per prezzo crescente e, per ogni risultato, è possibile:

  • visualizzare su una mappa OpenStreetMap la localizzazione del relativo distributore
  • visualizzare la descrizione del percorso per raggiungere il distributore di interesse a partire dal punto di ricerca
  • visualizzare il percorso per raggiungere il distributore di interesse a partire dal punto di ricerca su una mappa OpenStreetMap bidimensionale
  • visualizzare il percorso per raggiungere il distributore di interesse a partire dal punto di ricerca su una mappa OpenStreetMap tridimensionale (OSM Buildings)

16

17

18

19

20

Ed ecco ora in video come avviene dal vivo una sessione utente immaginandone la fruizione durante una gita nel territorio Albese:

Come detto in precedenza i dati sono giornalmente tratti direttamente dal Ministero dello Sviluppo Economico (MISE) a cui è demandato il livello di completezza e aggiornamento rispetto alle diverse realtà locali: devo dire che ho notato, almeno nelle zone che conosco, che, da quando ho iniziato a fare questo piccolo esperimento, aggiornamento e completezza sono in crescita.

Per concludere devo ringraziare tutti coloro da cui ho tratto spunti ed ispirazione, nonchè supporto diretto in varie forme, e quindi, sperando di non dimenticare nessuno direi:

  • Stefano Sabatini (@__sabas), per il suo lavoro iniziale da cui ho tratto spunto per l’idea
  • Matteo Tempestini (@il_tempe), Francesco “Piersoft” Paolicelli (@Piersoft) e Gabriele Grillo da cui ho tratto il codice inziale e per il loro supporto via mail
  • Alessandro Furieri, per il suo grandissimo lavoro su Spatialite, data base open source che ho usato come tool per memorizzare i dati georiferiti, e per il suo paziente supporto online
    Fabrizio Massara per la pazienza ed il suo supporto a 360° nonchè, per la condivisione del server su cui stà girando il codice del bot in produzione
  • mia moglie, per il tempo che le ho rubato per fare tutto ciò

Un ringraziamento particolare, perchè si è dimostrato un vero “signore” (merce rara …), lo devo a @Piersoft per la sua disponibilità a rinunciare a pubblicare un lavoro analogo in buona parte realizzato, pur di non “bruciarmi” la news ….. grazie mille!!!!

Per chi fosse interessato a maggiori dettagli tecnici per sapere “come è fatto dentro” rimando ad un altro post

A questo punto non resta quindi che iniziare a provare ad usare di OpenDistributoriCarburantiBot e vedere di iniziare a risparmiare facendo il pieno nei distributori più convenienti!

POSTGIS: un workshop online per imparare ad usarlo


Un workshop online per imparare ad usare POSTGIS passo passo.

Il   workshop usa OpenGeo Suite ed è corredato da un bundle di dati.

E’ licenziato come Creative Commons share alike with attribution, ed è liberamente ridistribuibile rispettando i temini di tale licenza.

Ottima iniziativa per chi ci vuole avvicinare a POSTGIS.

SpatiaLite su Android: disponibile!


Dopo averlo anticipato a Torino nel corso del GFOSS 2012, da oggi è disponibile SpatiaLite per Android !!

Questa distribuzione binaria si basa su SpatiaLite  3.0.1 (include anche PROJ 4.7.0 e GEOS 3.2.2), ed è rilasciata con licenza LGPLv3.

A questo punto esiste quindi una possibilità concreta di avere un vero e proprio RDBMS con estensione spaziale a disposizione per gli sviluppi su mobile. E questa possibilità è completamente open source.

Considerando questa notizia nel contesto in cui lo stesso SpatiaLite è stato individuato come soluzione per l’implementazione del nuovo standard OGC GeoPackage (GPKG) (il nuovo standard dovrebbe uscire nella sua versione definitiva a fine 2012 / inizio 2013 …. ), le prospettive sono quanto mai interessanti e rappresenta quindi una grande opportunità.

Fonte: GFOSS.it

MySQL 5.6 introduce il supporto alle relazioni spaziali


Sembra che tra le caratteristiche di MySQL 5,6 ci siano anche delle interessanti novità in merito alle potenzialità dello strumento per trattare le informazioni georiferite e precisamente la capacità di supportare le relazioni spaziali tra geometrie come per altro indicato dagli standard OGC.

MySQL implementava già queste funzionalità nelle versioni precedenti ma solo a livello di bounding box delle singole features mentre ora è garantito un comportamento più preciso, corretto e standard.

Tutte le funzionalità già presenti che operano sui buonding box sono state mantenute e le omologhe nuove funzionalità che operano sulle geometrie sono presenti con il prefisso “ST_”.

Ad esempio Contains() usa gli oggetti buonding rectangle, mentre  ST_Contains() usa le features geometriche.

Fonte: BostonGIS Blog

Categorie:GIS Database, Open Source Tag:

GeoServer & GeoWebCache: indicazioni utili per configurazione sistema di grosse dimensioni


Sul blog di GeoSolutions è apparso un interessante post che illustra il settaggio l’architettura di un progetto reale di grosse dimensioni (2 TB di dati raster e 60 GB di dati vettoriali), che utilizza server side GeoServer e GeoWebCache.

I requisiti inziali del progetto erano di supportare 100 richieste al secondo con dei tempi medi di risposta di 3 secondi e un masismo di 10 secondi suddividendo il carico al 40% su GeoServer e il 60% su GeoWebCache.

Il settaggio iniziale del sistema era il seguente:

in cui le due istanze previste di PostGRES erano impostate in cluster in modalità attiva – attiva mentre le due istanze di GeoWebCache erano in modalità attiva – passiva. Il bilanciamento è stato fatto con Apache HTTPD su una specifica VirtualMachine.

Per maggiori dettagli si rimanda al post originale.

Al lancio del sistema le previsioni/ requisiti inziali si sono dimostrati sottostiati in quanto i carichi reali erano di 7000 richieste al secondo !!

L’architettura è stata così rivista:

Come si può facilmente notare un cambiamento radicale in cui i tre tools utilizzati, PostGIS, GeoServer e GeoWebCache sono stati diposti su ambienti virtuali dedicati rispetto alla configurazione iniziale.

I cambiamenti apportati riguardano:

  • sostituzione del bilanciameneto via Apache HTTPD con HAProxy
  • GeoWebCache su ambienti dedicati
  • PostgresQL su ambienti dedicati
  • Aumento delle istanze di GeoServer sino a 24 istanze

Per maggiori dettagli si rimanda al post originale.

Interessante e da tenere presente per chi dovesse impostare architetture su soluzioni server side basate su strument GIS open source.

Fonte: GeoSolutions Blog

POSTGIS 2.0.0: rilasciato!


Rilasciato POSTGIS 2.0.0 !!!

Fonte: PostGIS

ORACLE Spatial e POSTGIS: un interessante confronto


Sul blog di Paul Ramsey è apparso un interessante post che riporta un confronto tra ORACLE Spatial e POSTGIS effettuato dall’Indian Institute of  Technology.

Il test è stato svolto utilizzando ORACLE su piattaforma Windows e POSTGIS su piattaforma Linux e nessuno dei due database è stato oggetto di tuning, bensì entrambi sono stati installati con le configurazioni di default. Tali scelte possono essere opinabili e vanno tenute presenti nella valutazione dei risultati presentati.

Le prove hanno richiesto al database di effettuare delle operazioni sche coinvolgessero un certo numero di operazioni di join anche spaziali eseguiti sia “a freddo” (quindi senza uso della cache), sia “a caldo” (quindi con utilizzo di cache).

I risultati ottenuti hanno permesso di concludere che POSTGIS si è comportato mediamente meglio di ORACLE 11g sia nelle prove a caldo sia in quelle a freddo !!

Per quanto migliorabile come test, nel senso che a parità di dati coinvolti, forse sarebbe stato meglio far operare i due database su piattaforme analoghe e ottimizzandoli entrambi a livello di configurazione, ma, vista anche la documenazione corposa portata a supporto, i risultati che ha prodotto sono da ritenere una informazione di sicuro interesse.

Fonte: Clever Elephant

 

ESRI File Geodatabase API


Annunciata (più volte ….) e attesa da ben 4 anni ESRI ha finalmente pubblicato le API per il suo File Geodatabase.  Questa notizia è particolarmente interessante perchè potrebbe essere una novità che introduce un nuovo standard “de facto” come lo fu oramai molti anni fa, la nascita del formato ESRI shapefile.  Inzialmente disponibile solo per ambiente Windows, recentemente è stata resa disponibile anche per Linux. Da capire bene le questioni legate alla  licenza d’uso, in particolare per l’utilizzo dei File Geodatabase per l’utilizzo in applicazioni di web mapping o di web gis.

Fonte: ESRI