¿Cómo hacer la estimación de la densidad del núcleo con una barrera / límite físico en QGIS?


18

¿Alguien sabe de un programa que permita kernellling que tenga en cuenta un límite en su cálculo en lugar de simplemente enmascarar áreas que son imposibles?

Hasta ahora he encontrado: complemento GME para Arc10 (Hawthorne Beyer): obtengo un error cada vez que especifico un archivo de forma de límite. He probado muchos tipos diferentes de archivos de formas y complejidades de límites, etc. Funciona bien cuando no especifico un límite.

Paquete AdehabitatHR en R (Calange 2011): esto funciona bien, pero el límite que especifique debe ser muy simple: segmentos de línea de 3x de ancho de banda del núcleo de longitud y no demasiado tortuosos. Para mis datos, esta es una gran simplificación excesiva.

Así que me pregunto si algún otro software puede hacerlo, GRASS o QGIS, por ejemplo.

Gracias


3
Documento reciente con código R de interés potencial, sesgo de frontera y núcleos ponderados . Todo el código es solo una forma de ponderar las observaciones para corregir el sesgo del borde (si puede calcular los pesos, puede usar cualquier programa para estimar el kde siempre que lo haga, excepto los pesos).
Andy W

1
Precisamente, ¿cómo quiere que "tenga en cuenta" un límite? Hay muchas formas posibles, que van desde enmascarar hasta bloquear la propagación y corregir los efectos de límite.
whuber

1
Gracias @AndyW y whuber por las respuestas. Quiero dar cuenta del límite evitando que el núcleo se extienda por él. Los datos son ubicaciones de tortugas marinas, así que sé que la distribución de la utilización no debería extenderse a la tierra, pero muchas de las ubicaciones están muy cerca de la costa, por lo que no quiero sesgar estas ubicaciones simplemente enmascarando las partes del núcleo que extenderse a la tierra. Gracias por el enlace al documento. Esto se ve muy bien. Intentaré usar un código similar para mis datos.
KimS

Respuestas:


2

En el núcleo de la estimación de la densidad del núcleo está la noción de distancia. La mejor solución que conozco es utilizar una mejor métrica de distancia que tenga en cuenta los límites y los costos variables de viaje. Es mejor elegir una métrica de distancia que se ajuste al problema que está tratando de resolver. La fricción sobre el terreno es ideal para practicar senderismo, pero no para la dispersión de aerosoles. Las corrientes de viento son esenciales para el rastreo de veleros, pero irrelevantes para las direcciones de manejo.
Ahora que la noción de métricas de distancia apropiadas está suficientemente motivada, puedo recomendar superficies de costo como una buena métrica de distancia de propósito general. Están disponibles en todo, desde ArcGIS, R, JavaScript y son bastante fáciles de construir. En qGIS, por ejemplo, puede construir una superficie de fricción ráster y usarla para calcular rutas. Personalice la superficie de fricción para tener en cuenta sus límites, y verá que la masa de los granos alrededor de sus puntos se extiende cuidadosamente alrededor de los obstáculos.


+1 Este es potencialmente un gran enfoque. Después de haberlo aplicado en muchos problemas, he descubierto que la dificultad principal es una que no se menciona aquí: ¿exactamente cómo propone distribuir los núcleos de acuerdo con esta métrica? Las soluciones listas para usar no pueden hacer esto.
whuber

@whuber Cierto, los sistemas listos para usar generalmente no tienen la capacidad de tener en cuenta las superficies de costos y la densidad del kernel al mismo tiempo. Mi sugerencia sería usar la superficie de fricción para calcular la distancia punto a punto, luego aplicar directamente una función de kernel para el peso. En qGIS o ArcGIS puede escribir usando la función de distribución normal en python, y en R está la dnorm()función.
JasonRDalton

He hecho exactamente eso en algunos casos, pero pensar sobre el proceso e inspeccionar los resultados revela algunos problemas inherentes. Lo más difícil parece ser cómo garantizar que se conserve la masa: no se puede simplemente distribuir valores según, digamos, una función gaussiana fija, porque la masa total resultante de un punto extendido no será igual a la masa original. No hay una forma eficiente de realizar este cálculo.
whuber


0

De hecho, estoy ayudando con el complemento AniMove para QGIS, cuyo objetivo es deshacerse de la dependencia de R para la estimación de la densidad del kernel. Echa un vistazo aquí .

EDITAR: El complemento está realmente disponible como experimental en el repositorio oficial del complemento QGIS

Y no dude en preguntar en la lista , si tiene alguna sugerencia


-2

Lo hice con éxito utilizando Geostatistical Analyst, que es una extensión de ESRI ArcGIS. Puede cargar el conjunto de datos de características de línea como barreras y los resultados son bastante decentes. Realizo pruebas al cambiar los parámetros de las funciones para tener una idea clara de cómo calibrar la herramienta. Para validar los resultados, lo que recomiendo es que si tiene un conjunto de datos lo suficientemente grande es eliminar una muestra de puntos, generar la superficie de densidad sin esos puntos, luego comparar la diferencia entre los valores de los puntos eliminados con los valores de la superficie en el ubicación de los puntos eliminados.


2
¿Podría amplificar un poco esta respuesta para explicar cómo GA, que implementa métodos de interpolación , es capaz de calcular una estimación de densidad del núcleo ? Como una doble verificación de la corrección de su solución, ¿verificó que la integral de la cuadrícula GA era aproximadamente igual a la suma de todos los datos de entrada?
whuber

1
En 10.1 es posible realizar la interpolación del núcleo con barreras, pero esto no da como resultado una estimación de densidad. Aunque, dados los métodos que hace referencia la publicación original, me pregunto si no están interesados ​​en una estimación del núcleo gaussiano y no en una estimación de densidad.
Jeffrey Evans
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.