코딩 강좌/웹 지도 만들기
leaflet - #10 통계지도 만들기 2편
요긴소프트
2022. 2. 2. 04:35
728x90
반응형
지난 글에서는 통계용 서울시 행정경계 데이터를 로딩하는 방법을 설명했습니다.
이번에는 이 행정경계에 0에서 100사이의 무작위 값(value)을 부여하고, 값의 범위에 따라 색상을 지정하는 방법을 설명드리겠습니다. 결과는 아래와 같습니다.
주요 코드를 설명 드리면,
for (var i in data.features) {
var start = 0;
var end = 100;
var feature = data.features[i];
if (!feature.properties) continue;
feature.properties.value = Math.floor((Math.random() * (end - start + 1)) + start);
}
geojson = L.geoJson(data, {
style: function (feature) {
var v = feature.properties.value;
var fColor = v > 100 ? '#800026' :
v > 80 ? '#BD0026' :
v > 60 ? '#E31A1C' :
v > 40 ? '#FC4E2A' :
v > 20 ? '#FD8D3C' :
v > 0 ? '#FEB24C' :
'#FED976';
return {
"fillColor": fColor,
"weight": 2,
"opacity": 1,
"color": 'white',
"dashArray": '3',
"fillOpacity": 0.7
}
}
}).addTo(map);
1~6: 서울시 구별 feature의 속성에 value를 추가하고 0에서 100사이 무작위 값 설정
11~18: value 값이 0에서 20씩 증가할때마다 다른 색 지정
19~25: 채움색(fillColor), 외곽선굵기(weight), 외곽선 투명도(opacity), 외곽선 색상(color), 외곽선 점선 스타일 길이(dashArray), 채움색 투명도(fillOpacity) 지정
이번 예제에서는 value값을 랜덤하게 지정했지만, 이 값을 통계지표로 대체하면 통계값에 따른 단계구분을 표현할 수 있게 됩니다.
다음 글에서는 지도 범례와 통계값을 창에 표시해 보겠습니다.
728x90
반응형