Tengo dos capas. Una capa de forma poligonal con muchos azulejos y una capa de trama que contiene Cobertura terrestre de CORINE 2006 con muchas categorías en un mapa de colores. Quiero obtener para cada polígono del shapelayer una suma de cada categoría de cobertura del suelo del raster-layer.
Por ejemplo hay un polígono con id '2' y quiero Atributos como este para este polígono (en porcentaje o metros cuadrados):
- Tierras cultivables: 15 %.
- Bosque: 11 %
- Calles:2 % (... y así sucesivamente)
Intenté hacerlo en grass, qgis (sin función), saga (sólo suma cada uno a un valor total) r(suma total), pero aún no encontré solución. La mayoría de los plugins (estadísticas zonales en qgis) sólo soportan 0-1 capas raster. v.rast.stats tampoco ayudó. Estoy abierto a cualquier solución buena e inteligente. Tal vez he utilizado un enfoque equivocado o cometido errores.
En Arcgis esta tarea es bastante fácil, si no recuerdo mal, pero sigo echando en falta una buena solución para el usuario cotidiano de linux.
Estoy usando un sistema linux debian y por eso solo puedo usar programas para este sistema operativo.
EDITAR: Debido a que esta pregunta todavía tiene muchos puntos de vista y los visitantes: Escribí un QGIS-plugin, que también es capaz de calcular la landcover de la capa raster. No he codificado una superposición de polígono todavía, pero definitivamente planeado. Encuentra el plugin aquí e instalar la biblioteca Scipy primero.
0 votos
Definitivamente se puede hacer en R, sólo es cuestión de averiguar qué funciones. Es necesario superponer cada polígono con el raster, y luego usar table() para obtener un resumen de los píxeles "cortados por la galleta". Los paquetes raster, rgdal y rgeos pueden ser útiles. Lea la "R Spatial Task View" (google lo encontrará)
0 votos
Claro, pero cómo puedo conseguir ese resumen. Se puede superponer fácilmente una capa de polígono con una capa de trama con !is.na(overlay(Poly, Raster)), pero con comandos como extract sólo puedo calcular el área total en el píxel de la galleta y no diferentes categorías de un mapa de colores. No conocía rgeos, pero busqué en la api y no encontré ninguna función para hacer esto.
0 votos
Comprobar r.univar en GRASS, como ver grasswiki.osgeo.org/wiki/Estadística_Zonal
0 votos
Gracias por hacer un plugin para QGIS. Sólo quería mencionar, que el plugin se bloquea (>13000 polígonos). Sería estupendo que se dividiera la tarea para que no se cuelgue. Y sería maravilloso tener una opción para añadir todas las clases a la vez (por ejemplo, para que la tabla de atributos obtenga 2 nuevos campos LandcoverID y Landcover% donde ambos contengan una lista CSV con los valores) :)
0 votos
@Joran : Si crees que esto es un error, levanta un informe de error en lugar de escribir esto en un comentario ( github.com/Martin-Jung/LecoS/issues ). Además 1) no es el trabajo de los plugins para serializar o procesar por lotes sus tareas. Entonces, ejecútelo en subconjuntos más pequeños. 2) Claro, habría muchas cosas maravillosas que añadir. El código es abierto, siéntase libre de codificarlo :)