Convertissez votre piste GPX en GeoJSON avec QGIS.
Disons que votre GeoJSON ressemble à ceci. Le GeoJSON a un attribut elevation
avec la valeur de l'élévation.
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 ], ] } }
];
Ajoutez votre GeoJSON avec le code suivant à votre carte de brochure. Utilisez une fonction pour styliser votre fichier. L' "color"
élément appelle la fonction get color
et transmet la elevation
valeur de votre fonction comme paramètre.
L.geoJson(yourGeoJSON, {
style: function (feature) {
return {
"color": getColor(feature.properties.elevation),
"opacity": 1,
}}
}).addTo(map);
La fonction getColor
renvoie la couleur en fonction de la valeur d'élévation.
function getColor(x) {
return x < 500 ? '#bd0026':
x < 1000 ? '#f03b20':
x < 1500 ? '#fd8d3c':
x < 2000 ? '#fecc5c':
'#ffffb2' ;
};
J'ai fait un JSFiddle avec l'exemple GeoJSON et les fonctions décrites ci-dessus: http://jsfiddle.net/2VY5z/1/