Buongiorno Corrado, grazie di esserti fatto vivo qui. Il giorno 15 novembre 2017 09:57, Zironi Corrado <corrado.zir...@gmail.com> ha scritto:
> Buongiorno , mi presento: Sono Corrado e mi occupo di cartografia e SIt per > il Comune di Soliera > ho un problema da sottoporvi... > Devo calcolare la distanza di 500 metri da un punto ben definito , > utilizzando uno shape file "linea" (stradario). Essendo una strada, ho > diverse possibilità di percorso > è possibile tracciare i vari percorsi (nessuno escluso)? > Sì ad esempio con le librerie di pg_routing direttamente in postgis, ad esempio per calcolare tutti i percorsi da un punto A a un insieme N di punti puoi usare la funzione pgr-bdastar per il calcolo del percorso più breve http://docs.pgrouting.org/latest/en/pgr_bdAstar.html#pgr-bdastar-one-to-many Dovresti importare i tuoi dati in postgis (con DB manager) e assegnare ad ogni tratto lineare un costo che sarà la lunghezza in metri. Poi individuare i punti per i quali calcolare il percorso. Vedo ch anche spatialite ha delel funzioni di routing https://www.gaia-gis.it/spatialite-2.3.0/spatialite-network-2.3.0.html In alternativa è posisbile usare i plugin LRS in QGIS che però lavora solo in EPSG:4326 https://plugins.qgis.org/plugins/lrs/ In tutti i casi il grafo strade deve essere calibrato come network, trovi un po' di documentazione nei link che ho messo... > Questa elaborazione mi serve per calcolare la distanza da vari accessi di > edifici "sensibili" rispetto alle SLOT o VLT (Legge Regionale Emilia > Romagna 5/2013 modificata con la 18/2016 DLR n. 831 del 12/06/2017) > > A livello di metodo è necessario individuare degli insiemi di punti dei quali calcolare la distanza per cui se con un buffer di 500 metri sugli obbiettivi sensibili selezioni tutte le sale slot che "potrebbero" interferire con l'obbiettivo puoi associare ("unisci attributi per posizione" in QGIS) con quell'obbiettivo e utilizzare su queste coppie punto-valori la funzione di routing. Questo dovrebbe essere sufficiente per la previsione di legge, se invece vuoi estrarre tutti i possibili percorsi di 500 metri da ogni obbiettivo sensibile è più complicato, direi che si potrebbe partire dai punti di intersezione tra il buffer di 500 mt e le strade e fare uno script che riduce il Un altra strada potrebbe essere l'utilizzo di un servizio di routing ad esempio la api di openrouteservice consente di creare delle isocrone/isometriche: è possibile utilizzarl anche da QGIS con il plugin OSM tools https://plugins.qgis.org/plugins/OSMtools/ dopo aver ottenuto una api_key su https://go.openrouteservice.org Ma il risultato è un po' impreciso (allegato) e occorre rifare la query usando sia il profilo auto che quello pedonale... Una soluzione "quick&dirty" che mi sento di consigliarti è quella di estrapolare le coppie di punti obiettivo/sensibile - sala slot con il metodo del buffer e poi in un foglio elettronico generare delle stringhe di chiamata ad un servizio di routing basato su osm [0], ad esempio per OSMR questa chiamata http://router.project-osrm.org/route/v1/foot/10.93635,44.73518;10.93152,44.73856?overview=false Restituisce in Json il percorso tra due punti con un attributo "distance", sostiduendo le coordinate puoi generare varie stringhe e incollarle tutte insieme in una shell di linux con wget e l'opzione -o con il nome file Facci sapere quale approccio scegli e se hai bisogno di ulteriore aiuto, mi rimetto anchea a Luca e Rocco che hanno lavorato su questo tema con Libera Piemonte per realizzare una piattaforma GIS [1] Amefad [0] http://wiki.openstreetmap.org/wiki/Routing/online_routers [1] http://liberapiemonte.it/wp-content/uploads/2017/10/locandina.pdf _______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 801 iscritti al 19/07/2017