[R-br] Criando uma mascara com shapefile sobre raster

ASANTOS alexandresantosbr em yahoo.com.br
Sábado Abril 6 15:17:15 BRT 2013


Thiago

  Segue dbf e shx, prj não foi projetado ainda não,

https://www.dropbox.com/s/p0idcxmh7td8hgi/Catas_Altas.dbf   ## Dbf

https://www.dropbox.com/s/mssh8lq6cy61ncd/Catas_Altas.shx ## Shx,


Muito obrigado,


Alexandre


Em 06/04/2013 14:05, Thiago V. dos Santos escreveu:
> Alexandre,
>
> O .shp é só uma parte do dado, a geometria. Para reproduzir o seu 
> problema, vou precisar também do .dbf e do .shx, além do .prj se ele 
> já estiver projetado.
>
> Saudações,
> --
> Thiago V. dos Santos
> PhD student
> Land and Atmospheric Science
> University of Minnesota
> http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
> Phone: (612) 323 9898
> ------------------------------------------------------------------------
> *From:* ASANTOS <alexandresantosbr em yahoo.com.br>
> *To:* r-br em listas.c3sl.ufpr.br
> *Sent:* Saturday, April 6, 2013 11:32 AM
> *Subject:* Re: [R-br] Criando uma mascara com shapefile sobre raster
>
> Obrigado pela atenção Thiago,
>
>    Tentei fazer um CRM, mas com raster estava difícil, coloquei no 
> dropbox mesmo, segue a ultima tentativa que fiz com suas dicas:
>
> #
> require(raster)
>
> #Dados
> https://www.dropbox.com/s/lzj71k9vt6dbou1/LANDSAT_5_TM_20100506_217_074_L2_BAND7.tif#Raster 
> in tiff
> https://www.dropbox.com/s/bfcwpbw36gdlwjq/Catas_Altas.shp#contorno em 
> shapefile
> #
> land.img<- stack(c("LANDSAT_5_TM_20100506_217_074_L2_BAND7.tif")) ## 
> Imagem Landsat 5
> plotRGB(land.img,1) #Plota a banda 7 da imagem
>
> #Poligono de interesse em shapefile comm coordenadas em UTM
> contorno<- readShapeLines("Catas_Altas.shp", 
> proj4string=CRS("+proj=utm +zone=23 +south +datum=WGS84 +units=m 
> +no_defs"))
> #
> #Quero selecionar os pixels da imagem que estão contidos no interior 
> do polígono contorno
> A.crop <- crop(land.img, extent(contorno), snap='out')
> contorno.na<-setValues(A.crop, NA)
> contorno.r<-rasterize(contorno, contorno.na)
> C <- mask(x=A.crop, mask=contorno.r)
> #
>
>
> Em 05/04/2013 09:18, Thiago V. dos Santos escreveu:
>> Mas você recebe algum erro ou o resultado é diferente do esperado?
>>
>> O melhor mesmo seria fornecer seus dados para tentarmos reproduzir o 
>> problema. Não dá pra colocar no dropbox? 50Mb não é nada tão grande 
>> assim...
>> Saudações,
>> --
>> Thiago V. dos Santos
>> PhD student
>> Land and Atmospheric Science
>> University of Minnesota
>> http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
>> Phone: (612) 323 9898
>> ------------------------------------------------------------------------
>> *From:* ASANTOS <alexandresantosbr em yahoo.com.br> 
>> <mailto:alexandresantosbr em yahoo.com.br>
>> *To:* r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br>; 
>> Thiago V. dos Santos <thi_veloso em yahoo.com.br> 
>> <mailto:thi_veloso em yahoo.com.br>
>> *Sent:* Thursday, April 4, 2013 9:23 PM
>> *Subject:* Re: [R-br] Criando uma mascara com shapefile sobre raster
>>
>> Thiago,
>>
>>       Explicando melhor teoricamente, pois um CRM implicaria em uma
>> imagem de 50MB, tenho:
>>
>> 1) Uma imagem do landsat 5 com um quadrante de interesse;
>> 2)Um contorno em shapefile de uma área de 200 hectares.
>>
>>     Quero utilizar apenas os pixels da imagem contidos no interior da
>> área de 200 hectares, para tanto extend() não resolve pois utiliza
>> apenas utiliza coordenadas max e min e não considera a forma (contorno)
>> do meu polígono para seleção dos pixels contidos nele.
>>
>>     Não consegui realizar o que desejo com a rotina sugerida. Mascara,
>> usei como um termo que implica em área útil da imagem, não quero o
>> quadrante todo oferecido pela imagem, mas aquilo que esta contido no meu
>> shapefile.
>>
>> Obrigado pela atenção,
>>
>> Alexandre
>>
>>
>>
>> Em 04/04/2013 21:03, Thiago V. dos Santos escreveu:
>> > Alexandre,
>> >
>> > O que a área do raster tem a ver com o tipo de função usada para 
>> carregar o shapefile?
>> >
>> > Você não consegui recortar o raster com o shapefile usando os 
>> comandos que eu eu sugeri? O que exatamente você quis dizer com criar 
>> uma máscara na pergunta inicial?
>> >
>> > Saudações,
>> > --
>> > Thiago V. dos Santos
>> > PhD student
>> > Land and Atmospheric Science
>> > University of Minnesota
>> > 
>> http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
>> > Phone: (612) 323 9898
>> >
>> >
>> > ----- Original Message -----
>> > From: ASANTOS <alexandresantosbr em yahoo.com.br 
>> <mailto:alexandresantosbr em yahoo.com.br>>
>> > To: r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br>
>> > Cc:
>> > Sent: Thursday, April 4, 2013 5:14 PM
>> > Subject: Re: [R-br] Criando uma mascara com shapefile sobre raster
>> >
>> > Thiago,
>> >
>> >            Não deu certo não, transformei em
>> > SpatialPolygons(list(Polygons(list(Polygon(contorno2)),"contorno2"))),
>> > prefiro continuar tentando com readShapeLines("Catas_Altas.shp",
>> > proj4string=CRS("+proj=utm +zone=23 +south +datum=WGS84 +units=m
>> > +no_defs")), porque consigo visualizar a área sobre o raster, achei
>> > alguns posts mais usando o GRASS, mas gostaria de fazer tudo só no R.
>> >
>> > Obrigado,
>> >
>> > Alexandre
>> >
>> >
>> > Em 04/04/2013 12:18, Thiago V. dos Santos escreveu:
>> >> Alexandre,
>> >>
>> >> a) Tente ler o seu shapefile com a funcao readShapePoly.
>> >>
>> >> b) Se nao der certo, sugiro uma combinacao das funcoes crop e 
>> raster. Nesse caso, experimente rodar o seu codigo com as seguintes 
>> mudancas:
>> >>
>> >> require("raster")
>> >> A <- stack("LANDSAT_5_TM_20100506_217_074_L2_BAND7.tif")
>> >> contorno<- readShapePoly("Catas_Altas.shp")
>> >>
>> >> A.crop <- crop(A, extent(contorno), snap='out')
>> >>
>> >> contorno.na<-setValues(A.crop, NA)
>> >> contorno.r<-rasterize(contorno, contorno.na) ### isso pode 
>> demorar, dependendo do seu shapefile
>> >> C <- mask(x=A.crop, mask=contorno.r)
>> >>
>> >>
>> >> Saudações,
>> >>
>> >> --
>> >> Thiago V. dos Santos
>> >> PhD student
>> >> Land and Atmospheric Science
>> >> University of Minnesota
>> >> 
>> http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm
>> >> Phone: (612) 323 9898
>> >>
>> >>
>> >> ----- Original Message -----
>> >> From: ASANTOS<alexandresantosbr em yahoo.com.br 
>> <mailto:alexandresantosbr em yahoo.com.br>>
>> >> To:r-br em listas.c3sl.ufpr.br <mailto:r-br em listas.c3sl.ufpr.br>
>> >> Cc:
>> >> Sent: Thursday, April 4, 2013 10:31 AM
>> >> Subject: [R-br] Criando uma mascara com shapefile sobre raster
>> >>
>> >> Boa tarde pessoal,
>> >>
>> >>            Estou com um problema e não consigo criar uma mascara 
>> com um arquivo no formato shapefile sobre raster usando a função 
>> crop() do pacote raster, por algum motivo meu objeto contorno que é 
>> um SpatialLinesDataFrame não esta servido para oferecer o polígono 
>> limítrofe da área, alguém poderia me dar um help, segue CRM:
>> >>
>> >> require("raster")
>> >> A <- stack(c("LANDSAT_5_TM_20100506_217_074_L2_BAND7.tif"))## Imagem
>> >> plotRGB(A) ## Plota a imagem
>> >> contorno<- readShapeLines("Catas_Altas.shp")  ## Contorno da área
>> >> lines(contorno, col="red")Plota o contorno
>> >> C <- crop(A,contorno) ## Recorta o que esta contido no contorno na 
>> imagem
>> >> Erro em .local(x, y, ...) :
>> >>      nenhum slot de nome "legend" para esse objeto de classe 
>> "RasterStack"
>> >>
>> >>
>> >> -- 
>> ======================================================================
>> >> Alexandre dos Santos
>> >> Proteção Florestal
>> >> Coordenador do curso Técnico em Florestas
>> >> Vice Coordenador do curso de Engenharia Florestal
>> >> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato 
>> Grosso
>> >> Campus Cáceres
>> >> Caixa Postal 244
>> >> Avenida dos Ramires, s/n
>> >> Bairro: Distrito Industrial
>> >> Cáceres - MT                      CEP: 78.200-000
>> >> Fone: (+55) 65 8132-8112 (TIM)  (+55) 65 9686-6970 (VIVO)
>> >> e-mails:alexandresantosbr em yahoo.com.br 
>> <mailto:alexandresantosbr em yahoo.com.br>
>> >> alexandre.santos em cas.ifmt.edu.br 
>> <mailto:alexandre.santos em cas.ifmt.edu.br>
>> >> ======================================================================
>> >>
>> >> _______________________________________________
>> >> R-br mailing list
>> >> R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
>> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e 
>> forneça código mínimo reproduzível.
>> >>
>> >>
>>
>> -- 
>> ======================================================================
>> Alexandre dos Santos
>> Proteção Florestal
>> Coordenador do curso Técnico em Florestas
>> Vice Coordenador do curso de Engenharia Florestal
>> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
>> Campus Cáceres
>> Caixa Postal 244
>> Avenida dos Ramires, s/n
>> Bairro: Distrito Industrial
>> Cáceres - MT                      CEP: 78.200-000
>> Fone: (+55) 65 8132-8112 (TIM)  (+55) 65 9686-6970 (VIVO)
>> e-mails:alexandresantosbr em yahoo.com.br 
>> <mailto:alexandresantosbr em yahoo.com.br>
>> alexandre.santos em cas.ifmt.edu.br 
>> <mailto:alexandre.santos em cas.ifmt.edu.br>
>> ======================================================================
>>
>>
>>
>
> -- 
> ======================================================================
> Alexandre dos Santos
> Proteção Florestal
> Coordenador do curso Técnico em Florestas
> Vice Coordenador do curso de Engenharia Florestal
> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
> Campus Cáceres
> Caixa Postal 244
> Avenida dos Ramires, s/n
> Bairro: Distrito Industrial
> Cáceres - MT                      CEP: 78.200-000
> Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
> e-mails:alexandresantosbr em yahoo.com.br  <mailto:e-mails:alexandresantosbr em yahoo.com.br>  
>          alexandre.santos em cas.ifmt.edu.br  <mailto:alexandre.santos em cas.ifmt.edu.br>                     
> ======================================================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça 
> código mínimo reproduzível.
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

-- 
======================================================================
Alexandre dos Santos
Proteção Florestal
Coordenador do curso Técnico em Florestas
Vice Coordenador do curso de Engenharia Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
         alexandre.santos em cas.ifmt.edu.br
======================================================================

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20130406/91227372/attachment.html>


Mais detalhes sobre a lista de discussão R-br