18 votos

"Mapa de calor" algoritmo para visualizar el punto diversidad

Puede alguien sugerir un algoritmo para generar un mapa de calor para visualizar el punto de la diversidad? Un ejemplo de aplicación sería para el mapeo de áreas de alta diversidad de especies. Para algunas especies, cada una de las plantas ha sido asignada, lo que resulta en un alto conteo de puntos, pero con muy poco sentido en términos de la diversidad de la zona. Otras áreas realmente tienen una alta diversidad.

Considere los siguientes datos de entrada:

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

y el mapa resultante:

grid plot

En el cuadrante superior izquierdo, hay una alta diversidad de revisión, mientras que en el cuadrante inferior derecho, hay una zona con alto punto de concentración, pero de baja diversidad. Dos maneras de visualizar la diversidad podría ser la utilización de un tradicional "mapa de calor", o contar el número de categorías representadas en cada polígono. Como las imágenes siguientes muestran, estos enfoques tienen un uso limitado, ya que el mapa de calor muestra la mayor intensidad en la parte inferior derecha, mientras que el agrupamiento enfoque sería exactamente el mismo si sólo hubiera una categoría (esto podría ser dirigida por el incremento en el tamaño del polígono de las bandejas, pero luego el resultado se vuelve innecesariamente granular).

heatmapenter image description here

Un enfoque pensé en hacer este sería el primer tradicionales de un "mapa de calor" algoritmo por el número de puntos de diferentes categorías dentro de un radio definido, y, a continuación, utilizando los que cuentan, como el peso para el punto a la hora de generar el mapa de calor. Sin embargo, creo que esto podría ser propenso a los artefactos no deseados, como el refuerzo mutuo que conduce a muy fuerte de los resultados. También, estrechamente asignan puntos de un mismo tipo se siguen mostrando como altas concentraciones, sólo que no en la misma medida.

Otro enfoque (probablemente mejor, pero más costosas computacionalmente) sería:

  1. Calcular el número total de categorías en el conjunto de datos
  2. Para cada píxel de la imagen de salida:
    • Para cada categoría:
      • calcular la distancia más cercana a la representante de punto (r) [probablemente la limitación de algunos de radio más allá de que la influencia es despreciable]
      • añadir una ponderación proporcional a 1/r2

Ya están allí los algoritmos que yo no soy consciente de ello, o de otras maneras de visualizar la diversidad?

Editar

Siguiente Tomislav Muic la sugerencia, he calculado los mapas de calor para cada categoría, y la normalización de ellas, utilizando la siguiente fórmula (QGIS raster calculator):

((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)

con el siguiente resultado (los comentarios en su respuesta): normalised sum

13voto

Wonko Puntos 1248

Trate de hacer un mapa de calor para cada categoría por separado.

Luego suma los mapas de calor y normalizar ellos utilizando el número de categorías.

Esto podría ser vale la pena explorar.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X