¿Cómo se usa el v.kernel de GRASS?

12

Estoy desconcertado sobre cómo usar el v.kernel de GRASS.

Tengo una capa vectorial de alrededor de 2.5 millones de puntos. Quiero hacer un mapa de calor usando v.kernel para mostrar las concentraciones, ya que tengo instancias variables con puntos superpuestos, a veces grandes superposiciones.

Ya obtuve esta capa vectorial en GRASS, y se muestra muy bien.

Intenté usar el comando v.kernel de GRASS basado en lo que he visto aquí y en otros foros, y no puedo hacer que haga nada más que generar un ráster que es solo un cuadrado rosa.

Aquí está el comando que estoy usando:

v.kernel --verbose input=master_grass7 output=master_grass7a_heatmap stddeviation=.0001

He variado la desviación estándar a todo tipo de valores de 1000000 a .000001, y no tuvo ningún efecto.

He leído la documentación de v.kernel repetidamente y realmente no entiendo a qué se refiere . Al menos, las instrucciones son sobre conceptos esotéricos, nada práctico. También he comprobado el código fuente , y tampoco lo entiendo realmente. Sí, puedo leer C. El problema es que depende de muchas cosas definidas en otra parte de GRASS GIS.

También he realizado muchas búsquedas en Google, y no puedo encontrar una guía completa. Todo lo que obtengo son copias dispersas de la página v.kernel doc / man o personas que aparentemente lo hicieron funcionar sin problemas.

También he verificado el concepto de estimación de densidad del kernel (KDE), e incluso entonces no veo cómo usar el comando v.kernel. Ese comando parece ser una interpretación específica de KDE; sus interruptores no parecen corresponder bien a los conceptos genéricos de KDE.

Volvamos a la pregunta principal aquí: ¿cómo puede alguien que no es íntimo con el desarrollo de productos GRASS usar el comando v.kernel? ¿Existe una traducción en lenguaje sencillo disponible?

Aren Cambre
fuente

Respuestas:

9

El v.kernelalgoritmo calcula la densidad de puntos vectoriales para cada celda de un mapa ráster. Si hasta ahora solo ha estado usando objetos vectoriales, es probable que no haya configurado su region(que no solo define las extensiones, sino también la resolución de la trama) de manera adecuada: probablemente tenga su regionconjunto en solo una fila y una columna, que significa que el v.kernelalgoritmo solo calculará la densidad del núcleo como un valor único en todo el mapa. Una configuración de región como esta está bien si no utiliza ningún mapa ráster, porque los mapas vectoriales no se preocupan por la configuración de resolución. Compruebe la configuración de región utilizando g.region -p, y si rowsy colsse establece en 1, se aumenta la resolución mediante el uso de

g.region rows=<number of rows> cols=<number of columns>

o

g.region res=<length>

donde <length>es la longitud de una celda de resolución en unidades de mapa.

Jake
fuente