venerdì 21 settembre 2018

Leaflet JS e GeoJSon

Alcune volte mi capita di dover convertire delle tracce GPX per visualizzarle con LeafletJS.
In generale il primo lavoro e' quello di rimuovere il dato di quota tramite la app (opzione flatten)
 
https://wtracks.appspot.com/

per poi semplificare il percorso mediante 

https://github.com/stefanocudini/gpx-simplify-optimizer

a questo punto rimane l.ultimo problema...ovvero che il formato GeoJSon usa il formato [lon,lat] mentre Leaflet usa [lat,lon]

per convertire i dati nel giusto formato e formattarli in un array javascript per poterli incollare nell'oggetto ployline di Leaflet ho scritto questo semplice codice che usa la libreria Python GeoJson (pip install geojson)
-------------------------------------------------------------------------------------------
import geojson
with open('svizzera_flat_1069nodes.geojson') as f:
    data = geojson.load(f)
   
for feature in data['features']:
    #print feature['geometry']['type']
    #print feature['geometry']['coordinates']+'\n'
    coo = feature['geometry']['coordinates']
    for p in coo: print "["+str(p[1]) + "," + str(p[0])+"],"

Nessun commento:

Posta un commento

Frane da drone con rete UNET

Alla ricerca di immagini di training gia' pronte per reti neurali mi sono imbattuto nel CAS Landslide Database (scaricabile da  https://...