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