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

Alpine Linux 2024 su IBM A31

Ho provato a far resuscitare un IBM A31 destinato alla discarica. La macchina ha processore P4, 256 Mb di RAM, la batteria CMOS morta ed e&#...