
Alexandre e colegas, bom dia! Meu script está um pouco diferente, mas o que vai valer mesmo é o último bloco (reprojetar RasteLayer). Espero que ajude. Além disso, tenho um bookmark pra indicar: Spatial data in R: using R as a GIS (old version) < https://sites.google.com/site/rodriguezsanchezf/news/usingrasagis> Vi que saiu uma nova versão em < https://sites.google.com/site/rodriguezsanchezf/resources/rgis> Outro dia, alguém perguntava pela geração de mapas temáticos no R! Esses links podem ajudar bastante! At.te, ### <BEGIN> ### require(sp); require(rgdal); require(raster) ### Região de interesse pc <- cbind(X1=773759.1,Y1=7841546) dx <- 1500*c(-1, 1, 1,-1,-1); dx dy <- 1500*c( 1, 1,-1,-1, 1); dy reg <- NULL; reg <- rbind(cbind(pc[,1]+dx,pc[,2]+dy)); reg plot(reg, asp=1); points(pc, col=2) ### CRS UTM SP.utm <- SpatialPolygons(list(Polygons(list(Polygon(reg)), "1"))) proj4string(SP.utm) = CRS("+proj=utm +zone=23 +south +datum=WGS84 +units=m +no_defs") SP.utm@bbox; SP.utm@proj4string plot(SP.utm, col=3, axes=T) ### CRS GEO (GeoTiff) SP.geo<- spTransform(SP.utm, CRS("+proj=longlat +datum=WGS84")) SP.geo@bbox; SP.geo@proj4string plot(SP.geo, col=5, axes=T) ### TOPODATA #getwd() #url=("http://www.dsr.inpe.br/topodata/data/geotiff/19S435SN.zip") #download.file(url, destfile = "19S435SN.zip") #unzip("19S435SN.zip") dem <- raster('19S435SN.tif') ### Abre o slope TOPODATA ### Recorte TOPODATA dem.crop <- crop(dem, extent(SP.geo), snap='out') image(dem.crop, asp=1) # Reprojetar RasterLayer (S4) projection(dem.crop) <- CRS("+proj=longlat +datum=WGS84") alt.utm <- projectRaster(dem.crop, crs="+proj=utm +zone=23 +south +datum=WGS84 +units=m +no_defs") image(alt.utm, asp=1) ### <END> ### Em 25 de julho de 2013 22:32, ASANTOS <alexandresantosbr@yahoo.com.br>escreveu:
Boa noite Pessoal,
Consegui resolver um problema e consegui outro, transformei as coordenadas latlong de um geotiff do Topodata em utm usando spTransform(). Como não consegui transformar diretamente um SpatialPixelsDataFrame do topodata apenas colocando o novo CRS e em vários posts não vi nenhuma solução para isso, tentei fazer da seguinte maneira, transformei apenas o @coords do topodata de geo para utm e depois tentei inserir com replace() os novos valores em utm dentro do SpatialPixelsDataFrame e ocorreu o seguinte erro:
Erro em replace(dem.sp@coords[1:10026, 1:2], dem.sp@coords, Utm@coords[1:10026, : valores negativos não são permitidos na subscrição de matriz