Как решить, что растр строится по-разному, в зависимости от порядка, в котором различные растры объединяются на одном графике с add = TRUE - PullRequest
0 голосов
/ 22 мая 2019

Я хочу визуализировать изменение земного покрова в конкретном регионе.Основываясь на разных картах, я использовал RStudio для создания перекрестных таблиц, которые можно использовать для визуализации пикселей, которые прошли от земного покрова x до земного покрова y, и это для разных категорий (всего у меня есть девять категорий, которые должны быть нанесены на графикта же карта).Каждый раз, когда я рисую категорию на карте, она идеально подходит для двух категорий, но третья отображается вне карты.Когда я сначала пытаюсь построить другие категории, для двух категорий все идет хорошо, а третья снова отображается вне карты.Например, если я сначала строю оранжевую категорию, пиксели располагаются на карте, но когда я строю ту же категорию только позже, она будет отображаться за пределами карты.

* категория оранжевого цвета внутри карты: url = https://postimg.cc/1fTv55N6 * категория оранжевого цвета вне карты: url = https://postimg.cc/Vd578b5m

Я использовал одну из карт растительного покровав качестве фона для построения пикселей против.Для каждой категории я создал растр с разным цветом.Я знаю, что все мои растры имеют одинаковое разрешение и расширяются, потому что все они основаны на одной и той же исходной карте (и я проверил это).Чтобы убедиться, что все они построены вместе, я добавил «add = TRUE», и чтобы убедиться, что они были нанесены на правильные координаты, я добавил «axes = TRUE». Когда я пытаюсь построить категории отдельно на карте,все они находятся в одном и том же месте ... все идет не так с того момента, как я пытаюсь построить третью категорию на одной и той же карте.

library(raster)
library(sp)
library(rgdal) 

r87<-raster("mapbiomas-cerrado-goias-planaltina-1987.tif")
r96<- raster("mapbiomas-cerrado-goias-planaltina-1996.tif")
r2006<- raster("mapbiomas-cerrado-goias-planaltina-2006.tif")
r2017<- raster("mapbiomas-cerrado-goias-planaltina-2017.tif")

r87 <- ratify(r87)
r96 <- ratify(r96)
r2006 <- ratify(r2006)
r2017 <- ratify(r2017)

#background map 
breakpoints <-c(0,1,40)
colors <-c("white", "black")
plot(r87, breaks=breakpoints, col=colors)

ct1 <- crosstab(r87, r96, long = TRUE)
ct2 <- crosstab(r96, r2006, long = TRUE)
ct3 <- crosstab(r2006, r2017, long = TRUE)

#Forest to other land cover types 
ForestLossAreas1FtoC <- (r87%in% c(3)) & (r96 %in% c(18))
values(ForestLossAreas1FtoC)[values(ForestLossAreas1FtoC)<1]=NA
values(ForestLossAreas1FtoC)[values(ForestLossAreas1FtoC)>1]=NA
plot(ForestLossAreas1FtoC, col="dark blue", axes=TRUE, add=TRUE)
ForestLossAreas1FtoP <- (r87%in% c(3)) & (r96 %in% c(15))
values(ForestLossAreas1FtoP)[values(ForestLossAreas1FtoP)<1]=NA
values(ForestLossAreas1FtoP)[values(ForestLossAreas1FtoP)>1]=NA
plot(ForestLossAreas1FtoP, axes=TRUE, col="dark green", add=TRUE)
ForestLossAreas1FtoCP <- (r87%in% c(3)) & (r96 %in% c(21))
values(ForestLossAreas1FtoCP)[values(ForestLossAreas1FtoCP)<1]=NA
values(ForestLossAreas1FtoCP)[values(ForestLossAreas1FtoCP)>1]=NA
plot(ForestLossAreas1FtoCP, axes=TRUE, col="red", add=TRUE)

#Savanna to other land cover types 
ForestLossAreas1StoC <- (r87%in% c(4)) & (r96 %in% c(18))
values(ForestLossAreas1StoC)[values(ForestLossAreas1StoC)<1]=NA
values(ForestLossAreas1StoC)[values(ForestLossAreas1StoC)>1]=NA
plot(ForestLossAreas1StoC, axes=TRUE, col="light blue", add=TRUE)
ForestLossAreas1StoP <- (r87%in% c(4)) & (r96 %in% c(15))
values(ForestLossAreas1StoP)[values(ForestLossAreas1StoP)<1]=NA
values(ForestLossAreas1StoP)[values(ForestLossAreas1StoP)>1]=NA
plot(ForestLossAreas1StoP, axes=TRUE, col="orange", add=TRUE)
ForestLossAreas1StoCP <- (r87%in% c(4)) & (r96 %in% c(21))
values(ForestLossAreas1StoCP)[values(ForestLossAreas1StoCP)<1]=NA
values(ForestLossAreas1StoCP)[values(ForestLossAreas1StoCP)>1]=NA
plot(ForestLossAreas1StoCP, axes=TRUE, col="purple", add=TRUE)

#natural grasses to other land cover types 
ForestLossAreas1NGtoC <- (r87%in% c(12)) & (r96 %in% c(18))
values(ForestLossAreas1NGtoC)[values(ForestLossAreas1NGtoC)<1]=NA
values(ForestLossAreas1NGtoC)[values(ForestLossAreas1NGtoC)>1]=NA
plot(ForestLossAreas1NGtoC, axes=TRUE, col= "light green", add=TRUE)
ForestLossAreas1NGtoP <- (r87%in% c(12)) & (r96 %in% c(15))
values(ForestLossAreas1NGtoP)[values(ForestLossAreas1NGtoP)<1]=NA
values(ForestLossAreas1NGtoP)[values(ForestLossAreas1NGtoP)>1]=NA
plot(ForestLossAreas1NGtoP, axes=TRUE, col="brown", add=TRUE)
ForestLossAreas1NGtoCP <- (r87%in% c(12)) & (r96 %in% c(21))
values(ForestLossAreas1NGtoCP)[values(ForestLossAreas1NGtoCP)<1]=NA
values(ForestLossAreas1NGtoCP)[values(ForestLossAreas1NGtoCP)>1]=NA
plot(ForestLossAreas1NGtoCP, col="grey", axes=TRUE, add=TRUE)

Я ожидал, что результатом будет карта региона, в результате чеговсе добавленные растры будут обозначать некоторые пиксели внутри карты разными цветами, но теперь я получаю две категории, которые отображаются правильно, в то время как другие отображаются неправильно. Я действительно не знаю, что делать ... Большое спасибо взаранее!

...