
Olá, boa tarde! Sugiro tabalhar com a biblioteca {rgdal} (e {sp}), pois ela já interpreta o cabeçalho geotiff, lendo seus dados na escala apropriada. Segue uma rotina que usei pra ler dados de altitude tomados do projeto TOPODATA (INPE). Acredito que possa ser facilmente adaptada ao teu caso. Preciso dar uma melhorada, mas acho que dá pra pegar a ideia. ### <begin> ### #install.packages(c("geoR", "maptools","sp", "rgdal"), dep=TRUE) #require(geoR); require(maptools); require(sp); require(rgdal) ### Download do exemplo (399 Kb) para a pasta definida em getwd() download.file('https://dl.dropbox.com/u/117618178/dourados/DDOS.tif', file.path(getwd(),'DDOS.tif'), mode='wb') alt = readGDAL("DDOS.tif"); gridded(alt) ### 'importa' o geotiff image(alt) ### visualiza na forma de imagem image(alt, col=terrain.colors(21)) ## outra opção de visualização slotNames(alt) ### nome dos slots (S4) proj4string(alt) ### para conferir a projeção (definida no geotiff) head(alt@data) ### observe os valores dos dados (neste caso, altitudes) ### se quiser todos os valores, alojando em um objeto DF alt.sp <- SpatialPoints(alt); slotNames(alt.sp) alt.df <- data.frame(x=alt.sp@coords[,1],y=alt.sp@coords[,2],alt=alt@data) head(alt.df); length(alt.df$x) ### extrair as altitudes em alguns pontos aleatórios (ou não! ;D) ### exemplo com 14 pontos pts <- structure(list(x = c(712930.163349833, 715345.025457117, 718363.603091221, 720636.414486312, 724152.169613092, 723903.580866754, 721701.79482776, 719215.90736438, 716126.304374179, 713391.828164461, 713924.518335185, 717582.324174159, 720352.313061925, 723086.789271644), y = c(7548164.89958582, 7548306.95029801, 7548271.43761996, 7548271.43761996, 7548129.38690777, 7546105.16425902, 7546105.16425902, 7546069.65158097, 7546211.70229316, 7546034.13890292, 7543441.71340539, 7543583.76411759, 7543654.78947368, 7543832.35286393)), .Names = c("x", "y")) ### Coloca tudo na classe Spatial pra poder manipular com funções do {sp} pts.sp <- SpatialPoints(pts) ### transforma os pontos para SpatialPoints pts.sp@proj4string;alt@proj4string ### observe as projeções definidas pts.sp@proj4string <- alt@proj4string ### atribui projeção dos pontos usando do grid over(pts.sp, alt) ### extrai valor em cada par de coordenadas ### extrair as altitudes usando uma grade regular ### neste caso vou ler a cada 300m alt@bbox ### limites da imagem/grade de altitude grd <- expand.grid(seq(711985,725005,300), seq(7541995,7549015,300)) ### modo 1 grd <- expand.grid(seq(alt@bbox[1,1],alt@bbox[1,2],300), seq(alt@bbox [2,1],alt@bbox[2,2],300)) ### modo 2 grd.sp <- SpatialPoints(grd) grd.sp@proj4string;alt@proj4string ### observe as projeções definidas grd.sp@proj4string <- alt@proj4string ### atribui projeção dos pontos usando do grid over(grd.sp, alt) ### xtrai valor em cada par de coordenadas ### <end> ### ================================================ Éder Comunello Ph.D. Student in Agricultural Systems Engineering (USP/ESALQ) Piracicaba, SP, Brazil [22 42.7'S, 47 37.8'W] Researcher at Embrapa Western Region Agriculture Dourados, MS, Brazil [22 16.5'S, 54 49.0'W] ================================================ UTC-03:00