Fwd: Mover coordenadas em shapefile

-------- Mensagem original -------- Assunto: Mover coordenadas em shapefile Data: Tue, 29 Apr 2014 15:11:34 -0400 De: ASANTOS <alexandresantosbr@yahoo.com.br> Para: r-br@listas.c3sl.ufpr.br Bom tarde Pessoal, Estou tentando mover as coordenadas de um arquivo shapefile sem sucesso, preciso mover as coordenadas do meu polígono (que esta em UTM), 1032m à esquerda e 280m para cima, tentei fazer operações trigonométricas sobre os pontos da extensão *bdf, mas não consegui a visualização em formato *shp, alguém conhece alguma função em algum pacote para fazer isto ou teria alguma sugestão, segue CRM dos dados: #Download do controno da área em shapefile links <- c( "https://www.dropbox.com/s/1oz5lhnk96jih3w/Tamandua288.dbf", "https://www.dropbox.com/s/6b3uygyrjhq1bby/Tamandua288.shp", "https://www.dropbox.com/s/wntluhn8bi7us2f/Tamandua288.shx") tokens <- gsub("^.*/s/","",dirname(links)) fileNames <- basename(links) newLinks <- file.path("http://dl.dropbox.com/s", tokens, fileNames); newLinks for (a in newLinks) { tryCatch(download.file(a, dest=basename(a), mode='wb'), error=function(...) print("Falha no download!"))} ## Abrir e visualizar contorno require(rgdal) plotRGB(landa) contorno_line <- readOGR(dsn="/Documents and Settings/ASANTOS/Desktop/Percevejo GIS", layer="Tamandua288") CRS.new <- CRS("+proj=utm +zone=23 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0") contorno_line.WGS84 <- spTransform(contorno_line, CRS.new) projection(landa) projection(contorno_line.WGS84) lines(contorno_line.WGS84,col="red") Obrigado, -- ====================================================================== Alexandre dos Santos Proteção 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@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ======================================================================

Alexandre, bom dia! Você pode manipular o objeto 'sp', resultante da importação, com a função elide() do pacote {maptools}. Se precisar de um novo shapefile, utilize a função writeOGR() ou similar. ### <code r> setwd("C:/LAB/RGIS/coords/elide") lapply(c('rgdal', 'maptools', 'shapefiles'), require, character.only=TRUE) #Download do controno da área em shapefile links <- c( "http://dl.dropbox.com/s/1oz5lhnk96jih3w/Tamandua288.dbf", "http://dl.dropbox.com/s/6b3uygyrjhq1bby/Tamandua288.shp", "http://dl.dropbox.com/s/wntluhn8bi7us2f/Tamandua288.shx") if (sum(sapply(basename(links), file.exists))>3) { lapply(links, function(a) tryCatch(download.file(a, dest=basename(a), mode='wb'), error=function(...) message("ERRO!")))} else message('OK!') ## Abrir e visualizar contorno CRS.new <- CRS("+proj=utm +zone=23 +south +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0") cont <- readOGR(getwd(), "Tamandua288") cont@bbox proj4string(cont) <- CRS.new plot(cont) cont2 <- elide(cont, shift=c(1032,280)) plot(cont2, col=3, add=T) ogrDrivers() writeOGR(cont2, getwd(), 'cont2', 'ESRI Shapefile') dir(patt='.*shp') ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Corrigindo um pequeno erro na condicional... if (sum(sapply(basename(links), file.exists))<3) { lapply(links, function(a) tryCatch(download.file(a, dest=basename(a), mode='wb'), error=function(...) message("ERRO!")))} else message('OK!') Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Fantástico Éder!!! Essa função elide() resolveu um bocado de problemas meus, Muito obrigado, -- ====================================================================== Alexandre dos Santos Proteção 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@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 ====================================================================== Em 30/04/2014 05:57, Éder Comunello escreveu:
if (sum(sapply(basename(links), file.exists))<3) { lapply(links, function(a) tryCatch(download.file(a, dest=basename(a), mode='wb'), error=function(...) message("ERRO!")))} else message('OK!')

Alexandre, Se interessar, além do deslocamento (shift) tem ainda a possibilidade de aplicar scale, flip, reflect e rotate. Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
participantes (2)
-
ASANTOS
-
Éder Comunello