<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Olá Ludmila,</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><span>O seu raster é muito peculiar, pois diferentemente dos rasters usados nos exemplos, ele contém apenas NAs e 1s. </span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><span style="background-color: transparent;"><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times,
 serif; background-color: transparent; font-style: normal;"><span style="background-color: transparent;">Eu não diria que é um problema, mas eu suspeitaria que a função clump não está preparada para esse caso específico. No seu lugar, eu enviaria uma pergunta para a lista de geoprocessamento do R (https://stat.ethz.ch/mailman/listinfo/r-sig-geo), da qual os autores do pacote raster participam e provavelmente resolverão o seu problema.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><span style="background-color: transparent;"><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal;"><span style="font-size: 12pt;"><span style="font-size: 12pt;">Espero que seja útil</span>,</span><br></div><div>--<br>Thiago
 V. dos Santos<br>PhD student<br>Land and Atmospheric Science<br>University of Minnesota<br>http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm<br>Phone: (612) 323 9898</div><div><br></div>  <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font size="2" face="Arial"> <b><span style="font-weight:bold;">From:</span></b> Ludmila Rattis <ludmilarattis@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> r-br@listas.c3sl.ufpr.br; Thiago V. dos Santos <thi_veloso@yahoo.com.br> <br> <b><span style="font-weight: bold;">Sent:</span></b> Wednesday, August 21, 2013 9:24 AM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [R-br] get coordinates of patches (clumps) in a raster map<br> </font> </div> <div class="y_msg_container"><br><div
 id="yiv9883250338"><div dir="ltr">Oi Thiago,<div><br></div><div>A função não dá erro. Mas não consigo o que preciso. Tentei um código bem parecido com esse segundo que você postou:</div><div><div><br></div><div>r<-raster("lemure_r")</div>

<div>rc <- clump(r,directions=8,gaps=FALSE)<br></div><div>clump_id <- getValues(rc)    <br></div><div>xy <- xyFromCell(rc,1:ncell(rc))<br></div><div>df <- data.frame(xy, clump_id, is_clump = rc[] %in% freq(rc, useNA = 'no')[,1])<br>

</div><div>df$is_clump<br></div><div>lemure<-df[df$is_clump == T, ]</div><div>lemure$is_clump<br></div></div><div><br></div><div>e realmente dá certo com o raster aleatório, porque ele identifica cada célula como sendo pertencente a um clump. No meu caso ele reconhece os 309 clumps que eu esperava, até aí ok. O problema ocorre na linha</div>

<div><br></div><div>clump_id <- getValues(rc)</div><div><br></div><div>porque ele não atribui números diferentes para as células que estão em clumps diferentes, e eu preciso disso para obter o centroide. Como você verá, o comando</div>

<div><br></div><div>lemure<-df[df$is_clump == T, ]<br></div><div><br></div><div>retorna as coordenadas de TODAS as células que estão em clumps, mas não me diz em qual clump a célula está, por causa do resultado que descrevi acima.</div>

<div><br></div><div>O raster está em anexo.</div><div><br></div><div>[ ]'s</div><div><br></div><div>Ludmila</div></div><div class="yiv9883250338gmail_extra"><br><br><div class="yiv9883250338gmail_quote">2013/8/20 Thiago V. dos Santos <span dir="ltr"><<a rel="nofollow" ymailto="mailto:thi_veloso@yahoo.com.br" target="_blank" href="mailto:thi_veloso@yahoo.com.br">thi_veloso@yahoo.com.br</a>></span><br>

<blockquote class="yiv9883250338gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif;"><div style="font-size:12pt;">

<span>Ludmila,</span></div><div style="font-style:normal;font-size:16px;background-color:transparent;"><span><br></span></div><div style="font-style:normal;font-size:16px;background-color:transparent;">

Por que o seu código não funciona? Aqui no meu computador funcionou com um raster aleatório.</div><div style="font-style:normal;font-size:16px;background-color:transparent;">

<br></div><div style="font-style:normal;font-size:16px;background-color:transparent;">Você tentou usar a função clump? Ela pode ser mais próxima do que você precisa. Veja abaixo:</div>

<div style="font-style:normal;font-size:16px;background-color:transparent;"><br></div><div style="background-color:transparent;">library(raster)</div><div style="background-color:transparent;">

library(igraph)</div><div style="background-color:transparent;"><br></div><div style="background-color:transparent;"># Create random raster</div><div style="background-color:transparent;">r <- raster(ncols=12, nrows=12)</div>

<div style="background-color:transparent;">set.seed(0)</div><div style="background-color:transparent;">r[] <- round(runif(ncell(r))*0.7 )</div><div style="background-color:transparent;"><br></div><div style="background-color:transparent;">

# Detect clumps and plot result</div><div style="background-color:transparent;">rc <- clump(r)</div><div style="background-color:transparent;">plot(rc)</div><div style="background-color:transparent;"><br></div><div style="background-color:transparent;">

# Extract coordinates</div><div style="background-color:transparent;">xy <- coordinates(rc)</div><div style="background-color:transparent;">lon <- xFromCol(r,1:ncol(r))</div><div style="background-color:transparent;">
lat <- yFromRow(r,1:nrow(r))</div>
<div style="font-size:12pt;"><br></div><div style="font-size:12pt;">Se o código acima não funcionar no seu computador, por favor retorne a mensagem de erro E o raster que você está usando para que a lista possa ajudar.</div>

<div style="font-size:12pt;"><span style="font-size:12pt;"> </span><br></div><div style="font-size:12pt;">

Saudações,<br>--<br>Thiago V. dos Santos<br>PhD student<br>Land and Atmospheric Science<br>University of Minnesota<br><a rel="nofollow" target="_blank" href="http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm">http://www.laas.umn.edu/CurrentStudents/MeettheStudents/ThiagodosSantos/index.htm</a><br>

Phone: <a rel="nofollow" href="">(612) 323 9898</a></div><div style="font-size:12pt;"><br></div>  <div style="font-size:12pt;">

 <div style="font-size:12pt;"> <div dir="ltr"> <hr size="1">  <font face="Arial"> <b><span style="font-weight:bold;">From:</span></b> Ludmila Rattis <<a rel="nofollow" ymailto="mailto:ludmilarattis@gmail.com" target="_blank" href="mailto:ludmilarattis@gmail.com">ludmilarattis@gmail.com</a>><br>

 <b><span style="font-weight:bold;">To:</span></b> <a rel="nofollow" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a> <br> <b><span style="font-weight:bold;">Sent:</span></b> Tuesday, August 20, 2013 1:54 PM<br>


 <b><span style="font-weight:bold;">Subject:</span></b> [R-br] get coordinates of patches (clumps) in a raster map<br> </font> </div> <div><div><div class="yiv9883250338h5"><br><div><div dir="ltr">Prezados,<div><br></div><div>Preciso extrair as coordenadas dos centroides de diferentes clumps de um raster. Para isso, usei o seguinte código: </div>

<div><br></div><div><div>p <- data.frame(rasterToPoints(meu_raster))</div>

<div>a<- p[p$layer > 0,]<br></div><div>c<-sapply(split(p[, c("x", "y")], p$layer), colMeans)<br></div><div><br></div><div>Contudo, esse código não está funcionando.</div><div><br></div><div>Alguém saberia me dizer como posso obter tais coordenadas?</div>



<div><br></div><div>[]'s</div><div><br></div><div><b>Ludmila Rattis</b><br></div>Programa de Pós-graduação em Ecologia/UNICAMP<br>
Conservation Biogeography Lab<br>
<a rel="nofollow" target="_blank" href="http://www.wix.com/rdloyola/lab">http://www.wix.com/rdloyola/lab</a><a rel="nofollow" target="_blank" href="http://sites.ffclrp.usp.br/ficus"></a>
</div></div></div><br></div></div>_______________________________________________<br>R-br mailing list<br><a rel="nofollow" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br><a rel="nofollow" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>

Leia o guia de postagem (<a rel="nofollow" target="_blank" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br><br></div> </div> </div>  </div></div><br>_______________________________________________<br>


R-br mailing list<br>
<a rel="nofollow" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a rel="nofollow" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a rel="nofollow" target="_blank" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>

<b>Me. Ludmila Rattis</b><br>Programa de Pós-graduação em Ecologia/UNICAMP<br>
Conservation Biogeography Lab<br>
<a rel="nofollow" target="_blank" href="http://www.wix.com/rdloyola/lab">http://www.wix.com/rdloyola/lab</a><a rel="nofollow" target="_blank" href="http://sites.ffclrp.usp.br/ficus"></a>
</div></div><br><br></div> </div> </div>  </div></body></html>