Converti la tua traccia GPX in un GeoJSON con QGIS.
Supponiamo che il tuo GeoJSON assomigli a questo. GeoJSON ha un attributo elevationcon 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 colore passa il elevationvalore della funzione come parametro.
L.geoJson(yourGeoJSON, {
style: function (feature) {
return {
"color": getColor(feature.properties.elevation),
"opacity": 1,
}}
}).addTo(map);
La funzione getColorrestituisce 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/