Converti la tua traccia GPX in un GeoJSON con QGIS.
Supponiamo che il tuo GeoJSON assomigli a questo. GeoJSON ha un attributo elevation
con il valore dell'elevazione.
var yourGeoJSON = [
{ "type": "Feature", "properties": { "id": 2, "elevation": 50 }, "geometry": { "type": "LineString", "coordinates": [ [ 11.836395263671875, 47.75317468890147 ], [ 11.865234375, 47.73193447949174 ] ] } },
{ "type": "Feature", "properties": { "id": 1, "elevation": 750 }, "geometry": { "type": "LineString", "coordinates": [ [ 11.865234375,47.73193447949174 ], [ 11.881027221679688, 47.700520033704954 ] ] } },
{ "type": "Feature", "properties": { "id": 0, "elevation": 1700 }, "geometry": { "type": "LineString", "coordinates": [ [ 11.881027221679688, 47.700520033704954 ], [ 11.923599243164062, 47.706527200903395 ] ] } },
{ "type": "Feature", "properties": { "id": 0, "elevation": 3000 }, "geometry": { "type": "LineString", "coordinates": [ [ 11.923599243164062, 47.706527200903395 ], [ 11.881027221679688, 47.700520033704954 ], ] } }
];
Aggiungi il tuo GeoJSON con il seguente codice alla mappa del tuo volantino. Usa una funzione per dare uno stile al tuo file. L' "color"
elemento chiama la funzione get color
e passa il elevation
valore della funzione come parametro.
L.geoJson(yourGeoJSON, {
style: function (feature) {
return {
"color": getColor(feature.properties.elevation),
"opacity": 1,
}}
}).addTo(map);
La funzione getColor
restituisce il colore in base al valore di elevazione.
function getColor(x) {
return x < 500 ? '#bd0026':
x < 1000 ? '#f03b20':
x < 1500 ? '#fd8d3c':
x < 2000 ? '#fecc5c':
'#ffffb2' ;
};
Ho realizzato un JSFiddle con l'esempio GeoJSON e le funzioni sopra descritte: http://jsfiddle.net/2VY5z/1/