Analisi geospaziale avanzata tramite javascript con Turf.js

Turf.js è una libreria Javascript per l'analisi spaziale. Grazie a questa potrete analizzare, elaborare, aggregare e trasformare i vostri dati geografici direttamente nel browser creando potenti ed evoluti Web GIS.

L’analisi spaziale è il processo con cui è possibile ricavare evidenze e interpretare al meglio i dati geografici in possesso.

Attraverso l’analisi spaziale è possibile mettere in relazione fenomeni altrimenti non visibili ma anche risolvere problemi della vita quotidiana: trovare il negozio di scarpe più vicino, calcolare il percorso migliore per raggiungere una destinazione e calcolare statistiche sulle forniture idriche della propria città. Possiamo quindi affermare che gran parte delle funzionalità di un sistema informativo territoriale è legato all’analisi dei dati geografici.

Analisi spaziale integrata con Turf.js

Turf.js è una libreria javascript per l’analisi spaziale, quindi funzionante in un browser web o in un server node.js, che implementa funzionalità di analisi spaziale dei dati. Sia input e output sono in formato GeoJSON e quindi si integra perfettamente a librerie di mapping opensource come OpenLayers, Leaflet e MapBox.

Utilizzarla è molto semplice. Creare ad esempio un buffer, cioè una zona di rispetto attorno a un punto o a una linea è molto semplice: basta utilizzare la funzione turf.buffer.

Si parte ovviamente dal punto in formato GeoJSON:

var punto = {
 'type': 'Feature',
 'geometry': {
   'type': 'Point',
   'coordinates': [11.7818622, 45.055347]
 },
 'properties': {
   'name': '3DGIS'
 }
}

A questo punto fare il buffer è davvero un gioco da ragazzi: basta passare la geometria, la distanza e l’unità di misura.

var bufferAttorno3DGIS = turf.buffer(punto, 250, 'meters');

Facile vero?

Altre funzionalità di analisi

Turf.js non si ferma ovviamente a queste semplici funzionalità ma include:

  • funzioni di aggregazione e clustering
  • funzioni di misura di aree, perimetri e distanze
  • funzioni di trasformazione e di interrogazione spaziale
  • filtri per i dati
  • funzioni di interpolazione per effettuare stime e completare dati
  • funzioni di join spaziali tra le feature
  • metodi di classificazione

 

Turf.js è opensource ed è rilasciato secondo la licenza MIT.

Potete scaricarlo da Github o passando per il sito ufficiale http://turfjs.org/

Pubblicato il 6 novembre 2015 da Eduard Roccatello
Tag: ,