포인트 다양성을 시각화하기위한 히트 맵을 생성하는 알고리즘을 제안 할 수 있습니까? 응용 프로그램의 예로는 종 다양성이 높은 영역을 매핑 할 수 있습니다. 일부 종의 경우 모든 단일 식물이 매핑되어 높은 점수를 얻지 만 지역의 다양성 측면에서는 거의 의미가 없습니다. 다른 지역은 진정으로 다양성이 높습니다.
다음 입력 데이터를 고려하십시오.
x y cat
0.8 8.1 B
1.1 8.9 A
1.6 7.7 C
2.2 8.2 D
7.5 0.9 A
7.5 1.2 A
8.1 1.5 A
8.7 0.3 A
1.9 2.1 B
4.5 7.0 C
3.8 4.0 D
6.6 4.8 A
6.2 2.4 B
2.2 9.1 B
1.7 4.7 C
7.5 7.3 D
9.2 1.2 A
결과지도 :
왼쪽 위 사분면에는 매우 다양한 패치가 있고 오른쪽 아래 사분면에는 높은 점 농도가 있지만 다양성이 낮은 영역이 있습니다. 다양성을 시각화하는 두 가지 방법은 기존 히트 맵을 사용하거나 각 다각형에 표시된 범주의 수를 세는 것입니다. 다음 이미지에서 알 수 있듯이 열지도는 오른쪽 아래에서 가장 큰 강도를 나타 내기 때문에 이러한 접근 방식은 사용이 제한적이며 범주가 하나만 있으면 비닝 접근 방식이 정확히 동일하게 나타납니다 (이 크기는 다각형 저장소를 사용하지만 결과는 불필요하게 세분화됩니다.
내가 생각한 한 가지 접근법은 정의 된 반경 내에서 다른 범주의 포인트 수로 전통적인 히트 맵 알고리즘을 준비한 다음 히트 맵을 생성 할 때 해당 카운트를 포인트의 가중치로 사용하는 것입니다. 그러나 나는 이것이 매우 날카로운 결과를 초래하는 상호 강화와 같은 원치 않는 인공물이 발생하기 쉽다고 생각합니다. 또한, 같은 유형의 밀접하게 매핑 된 점은 같은 정도로가 아니라 계속해서 높은 농도로 나타납니다.
또 다른 접근법 (아마도 더 우수하지만 계산 비용이 많이 드는)은 다음과 같습니다.
- 데이터 세트의 총 범주 수 계산
- 출력 이미지의 각 픽셀에 대해 :
- 각 카테고리마다 :
- 가장 가까운 대표 지점까지의 거리를 계산합니다 (r) [영향을 무시할 수있는 반경을 약간 초과했을 가능성이 있음]
- 1 / r 2에 비례하는 가중치를 추가
- 각 카테고리마다 :
내가 알지 못하는 알고리즘이나 다양성을 시각화하는 다른 방법이 이미 있습니까?
편집하다
Tomislav Muic의 제안에 따라 각 범주에 대한 히트 맵을 계산하고 다음 공식 (QGIS 래스터 계산기)을 사용하여 정규화했습니다.
((heatmap_A@1 >= 1) + (heatmap_A@1 < 1) * heatmap_A@1) +
((heatmap_B@1 >= 1) + (heatmap_B@1 < 1) * heatmap_B@1) +
((heatmap_C@1 >= 1) + (heatmap_C@1 < 1) * heatmap_C@1) +
((heatmap_D@1 >= 1) + (heatmap_D@1 < 1) * heatmap_D@1)
다음과 같은 결과 (그의 답변 아래 의견) :