1 votos

Histograma múltiple de una imagen rasterizada en R

Necesito obtener múltiples histogramas de una imagen tif. Tengo los siguientes datos:

Una gran imagen tif de trama:

tif1 <- raster("myRaster.tif")
hist(tif1, breaks= 10) # gives the entire histogram 

Un shapefile de un país. Este shapefile contiene un polígono para cada área administrativa:

shp_np <- readOGR("NPL_adm2.shp")

Se me ocurre una forma de obtener el histograma recortando repetidamente el raster tif utilizando cada polígono del shapefile uno por uno. Pero, no es eficiente.

Ahora, estoy buscando una manera fácil de obtener la información del histograma para cada polígono en el shapefile.

3voto

Jay Bazuzi Puntos 194

Puede utilizar el extract de la función raster para obtener los valores de cada polígono. Esto debería ser más rápido que tratar de usar crop o mask para cada polígono.

Alternativamente, rasterize los polígonos sobre la misma base que su trama. Así obtendrá un ráster con valores desde 1 hasta el número de polígonos. A continuación, puede tratar sus rásteres como vectores R y utilizar tapply para aplicar una función a subconjuntos de la trama.

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