QGIS를 사용하여 GPX 트랙을 GeoJSON으로 변환하십시오.
GeoJSON이 다음과 같다고 가정 해 봅시다. GeoJSON에는 elevation
고도 값 이있는 속성 이 있습니다.
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 ], ] } }
];
다음 코드를 사용하여 GeoJSON을 전단지 맵에 추가하십시오. 함수를 사용하여 파일의 스타일을 지정하십시오. "color"
요소는 함수를 호출 get color
하고에 전달 elevation
매개 변수와 같은 기능의 값입니다.
L.geoJson(yourGeoJSON, {
style: function (feature) {
return {
"color": getColor(feature.properties.elevation),
"opacity": 1,
}}
}).addTo(map);
이 함수 getColor
는 고도 값을 기준으로 색상을 반환합니다.
function getColor(x) {
return x < 500 ? '#bd0026':
x < 1000 ? '#f03b20':
x < 1500 ? '#fd8d3c':
x < 2000 ? '#fecc5c':
'#ffffb2' ;
};
내가 샘플 GeoJSON와 JSFiddle을 만들어 기능이 위에서 설명한 : http://jsfiddle.net/2VY5z/1/