Soy nuevo en R y estoy usando el paquete raster. Tengo un problema para extraer polígonos de un archivo ráster existente. Si yo uso
extract(raster, poly_shape)
La función en el ráster siempre crea una lista con los datos. Lo que realmente quiero es extraer otro archivo ráster que pueda cargar con ArcGIS nuevamente. Después de leer un poco más, creo que la función de recorte es lo que realmente necesito. Pero cuando trato de usar esta función
crop(raster, poly_shape)
Me sale este error:
Error in .local(x, y, ...) : extents do not overlap
In addition: Warning message:
In intersect(extent(x), extent(y)) : Objects do not overlap
Los archivos ráster y poly_shape son los mismos para ambas funciones. ¿Puedes decirme qué podría estar mal aquí? ¿Es correcto que la función de recorte cree otro ráster y no una lista?
EDITAR : La función de extensión () no funciona para mí. Todavía recibo el mismo error. ¡Pero estoy seguro de que los 2 conjuntos de datos se superponen! Con el
extract(raster, poly_shape)
Obtengo los datos correctos. Solo como una lista y no como una trama como quiero tenerla. Acabo de cargar los conjuntos de datos en ArcGIS antes y se ajustan muy bien, así que no verifiqué la proyección. Ahora lo intenté
projection(raster) # "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs"
projection(poly_shape) # "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"
y puedes ver que las proyecciones no encajan. La función de extracción parece ser capaz de transformar automáticamente los archivos de la manera correcta. Lo sé porque hice lo siguiente:
- Corté la parte exacta del polígono que extraje en R también en ArcGIS
- Calculé la suma de todos los valores del polígono R extraído (lista)
- Calculé la suma de todas las celdas ráster que corté en ArcGIS
Los 2 tienen exactamente el mismo resultado, así que supongo que la conclusión debería ser que la función de extracción funcionó correctamente. Ahora tengo 2 opciones, supongo:
- Necesito una forma de volver a sacar un Ráster de la lista extraída o
- Los 2 conjuntos de datos (raster + poly_shape) deben usar la misma proyección y la función de recorte debería funcionar
¿Qué sugerirías hacer aquí?