{"id":1053,"date":"2015-11-06T15:15:55","date_gmt":"2015-11-06T14:15:55","guid":{"rendered":"http:\/\/www.3dgis.it\/it\/?p=1053"},"modified":"2015-11-06T15:15:55","modified_gmt":"2015-11-06T14:15:55","slug":"analisi-geospaziale-avanzata-tramite-javascript-con-turf-js","status":"publish","type":"post","link":"https:\/\/www.3dgis.it\/it\/analisi-geospaziale-avanzata-tramite-javascript-con-turf-js\/","title":{"rendered":"Analisi geospaziale avanzata tramite javascript con Turf.js"},"content":{"rendered":"<p>L&#8217;analisi spaziale \u00e8 il processo con cui \u00e8 possibile <strong>ricavare evidenze e interpretare al meglio i dati geografici<\/strong> in possesso.<\/p>\n<p>Attraverso l&#8217;analisi spaziale \u00e8 possibile mettere in relazione fenomeni altrimenti non visibili ma anche risolvere problemi della vita quotidiana: trovare il negozio di scarpe pi\u00f9 vicino, calcolare il percorso migliore per raggiungere una destinazione e calcolare statistiche sulle forniture idriche della propria citt\u00e0.\u00a0Possiamo quindi affermare che gran parte delle funzionalit\u00e0\u00a0di un sistema informativo territoriale \u00e8 legato all&#8217;analisi dei dati geografici.<\/p>\n<h3>Analisi spaziale integrata con Turf.js<\/h3>\n<p>Turf.js \u00e8 una <strong>libreria javascript per l&#8217;analisi spaziale<\/strong>, quindi funzionante in un browser web o in un server node.js, che implementa funzionalit\u00e0 di analisi spaziale dei dati.\u00a0Sia input e output sono in formato <strong>GeoJSON<\/strong> e quindi si integra perfettamente a librerie di mapping opensource come <strong>OpenLayers<\/strong>, <strong>Leaflet<\/strong> e <strong>MapBox<\/strong>.<\/p>\n<p>Utilizzarla \u00e8 molto semplice. Creare ad esempio un <strong>buffer<\/strong>, cio\u00e8 una zona di rispetto attorno a un punto o a una linea \u00e8 molto semplice: basta utilizzare la funzione\u00a0<strong>turf.buffer<\/strong>.<\/p>\n<p>Si parte ovviamente dal punto in formato GeoJSON:<\/p>\n<pre>var punto = {\r\n 'type': 'Feature',\r\n 'geometry': {\r\n   'type': 'Point',\r\n   'coordinates': [11.7818622, 45.055347]\r\n },\r\n 'properties': {\r\n   'name': '3DGIS'\r\n }\r\n}<\/pre>\n<p>A questo punto fare il buffer \u00e8 davvero un gioco da ragazzi: basta passare la geometria, la distanza e l&#8217;unit\u00e0 di misura.<\/p>\n<pre>var bufferAttorno3DGIS = turf.buffer(punto, 250, 'meters');<\/pre>\n<p>Facile vero?<\/p>\n<h3>Altre funzionalit\u00e0 di analisi<\/h3>\n<p>Turf.js non si ferma ovviamente a queste semplici funzionalit\u00e0 ma include:<\/p>\n<ul>\n<li>funzioni di aggregazione e clustering<\/li>\n<li>funzioni di misura di aree, perimetri e distanze<\/li>\n<li>funzioni di trasformazione e di interrogazione spaziale<\/li>\n<li>filtri per i dati<\/li>\n<li>funzioni di interpolazione per effettuare stime e completare dati<\/li>\n<li>funzioni di join spaziali tra le feature<\/li>\n<li>metodi di classificazione<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><strong>Turf.js \u00e8 opensource<\/strong> ed \u00e8 rilasciato secondo la <strong>licenza MIT<\/strong>.<\/p>\n<p>Potete scaricarlo da Github o passando per il sito ufficiale\u00a0<a href=\"http:\/\/turfjs.org\/\">http:\/\/turfjs.org\/<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Turf.js \u00e8 una libreria Javascript per l&#8217;analisi spaziale. Grazie a questa potrete analizzare, elaborare, aggregare e trasformare i vostri dati geografici direttamente nel browser creando potenti ed evoluti Web GIS.<\/p>\n","protected":false},"author":3,"featured_media":1055,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[226,275],"class_list":["post-1053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sviluppatori-gis","tag-opensource","tag-turf"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts\/1053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/comments?post=1053"}],"version-history":[{"count":5,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts\/1053\/revisions"}],"predecessor-version":[{"id":1060,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/posts\/1053\/revisions\/1060"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/media\/1055"}],"wp:attachment":[{"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/media?parent=1053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/categories?post=1053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.3dgis.it\/it\/wp-json\/wp\/v2\/tags?post=1053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}