<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Mauro, bom dia!<br><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">A instrução splancs::areapl(...) é uma chamada da função areapl() que pertence ao pacote {splancs}, sem carregá-lo. O erro se dá, provavelmente, por você não ter o pacote instalado. Tente novamente após instalar o pacote com install.packages("splancs", dep=T).<br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="arial, helvetica, sans-serif" style="font-size:small"><div style="font-family:'trebuchet ms',sans-serif;display:inline">​</div></font><font face="arial, helvetica, sans-serif" style="font-size:12.8px"><span style="font-size:small">================================================</span><br>Éder Comunello</font><div style="font-size:12.8px"><span style="font-family:arial,helvetica,sans-serif">Agronomist (UEM), MSc in Environ. Sciences (UEM)</span><font face="arial, helvetica, sans-serif"><br></font></div><div style="font-size:12.8px"><div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">DSc in Agricultural Systems Engineering (USP/Esalq)</span><br></div><div><span style="font-size:small">Brazilian Agricultural Research Corporation (</span><font face="arial, helvetica, sans-serif" style="font-size:small">Embrapa)</font></div><div><div><font face="arial, helvetica, sans-serif" style="font-size:small">Dourados, MS, Brazil </font><font face="arial, helvetica, sans-serif" size="2">|<O>|</font></div><div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">================================================</span><br></div></div></div><div style="font-size:small"><font face="arial, helvetica, sans-serif">GEO, </font>-22.2752, -54.8182, 408m<span style="font-family:arial,helvetica,sans-serif"><br></span></div><div style="font-size:12.8px"><span style="font-size:small;font-family:arial,helvetica,sans-serif">UTC-04:00 / DST: UTC-03:00</span></div><div><div><div><br></div><div><br></div></div><div style="font-size:small"><br></div></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">2016-05-22 21:40 GMT-04:00 <a href="mailto:sznelwar@uol.com.br">sznelwar@uol.com.br</a> <span dir="ltr"><<a href="mailto:sznelwar@uol.com.br" target="_blank">sznelwar@uol.com.br</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span style="color:#0000cd">Tentei rodar vosso código, mas veja o que aconteceu mais abaixo!</span><span class=""><br>
<br>
> da <- data.frame(Tree=rep(c("CB6", "CB7", "MB10"), each=8), ID=rep(1:8, 3),<br></span>
+                 AZ=c(240.7, 276.6, 301.1, 51.9, 110.8, 130, NA, NA, 211.3, 182.1, <br>
+                      178, 111.6, 29.4, 13.8, 307.7, 274.2, 325.5, 228.8, 192.9, 138.9,<br>
+                      92.4, 35.9, 330.8, NA), <br>
+                 DH=c(3.6, 5.6, 3.3, 3.3, 2.5, 6.4, NA, NA, 4.5, 4.3, 3.4, 4.6, 2.4, <br>
+                      4.5, 7.6, 3.2, 6.1, 10, 3.2, 3.9, 6.9, 4.2, 3.4, NA))<span class=""><br>
> <br>
> ### remove NA's e calcula coordenadas x e y<br>
> da <- da[complete.cases(da),]<br>
> da$x = da$DH*cos(da$AZ*pi/180)<br>
> da$y = da$DH*sin(da$AZ*pi/180)<br>
> da<br></span>
   Tree ID    AZ   DH          x          y<br>
1   CB6  1 240.7  3.6 -1.7617768 -3.1394494<br>
2   CB6  2 276.6  5.6  0.6436480 -5.5628875<br>
3   CB6  3 301.1  3.3  1.7045600 -2.8256814<br>
4   CB6  4  51.9  3.3  2.0362184  2.5968856<br>
5   CB6  5 110.8  2.5 -0.8877674  2.3370642<br>
6   CB6  6 130.0  6.4 -4.1138407  4.9026844<br>
9   CB7  1 211.3  4.5 -3.8450647 -2.3378360<br>
10  CB7  2 182.1  4.3 -4.2971121 -0.1575679<br>
11  CB7  3 178.0  3.4 -3.3979288  0.1186583<br>
12  CB7  4 111.6  4.6 -1.6933729  4.2769718<br>
13  CB7  5  29.4  2.4  2.0909131  1.1781690<br>
14  CB7  6  13.8  4.5  4.3701043  1.0734006<br>
15  CB7  7 307.7  7.6  4.6476055 -6.0132989<br>
16  CB7  8 274.2  3.2  0.2343622 -3.1914063<br>
17 MB10  1 325.5  6.1  5.0271698 -3.4550780<br>
18 MB10  2 228.8 10.0 -6.5868946 -7.5241491<br>
19 MB10  3 192.9  3.2 -3.1192358 -0.7144004<br>
20 MB10  4 138.9  3.9 -2.9388972  2.5637635<br>
21 MB10  5  92.4  6.9 -0.2889420  6.8939475<br>
22 MB10  6  35.9  4.2  3.4021749  2.4627639<br>
23 MB10  7 330.8  3.4  2.9679351 -1.6587228<span class=""><br>
> <br>
> ### "fecha" polígonos<br>
> da2 <- NULL<br>
> for (tree in unique(da$Tree)) {<br></span>
+      sel <- da[da$Tree==tree,]<br>
+      sel <- rbind(sel, sel[1,])<br>
+      da2 <- rbind(da2, sel)<br>
+ }<span class=""><br>
> <br>
> ### visualiza formas das copas<br>
> par(mfrow=c(2,2))<br>
> for (tree in unique(da$Tree)) {<br></span>
+      sel <- da[da$Tree==tree,]<br>
+      plot(sel$y~sel$x, type="n", asp=T, xlab=NA, ylab=NA, xlim=c(-10,10), ylim=c(-10,10))<br>
+      polygon(sel$y~sel$x, col="light green", bor=3)<br>
+      area <- paste(round(splancs::areapl(cbind(sel$x, sel$y)),2 ), "m²")<br>
+      text(6,6, area)<br>
+ }<br>
Error in loadNamespace(name) : there is no package called ‘splancs’<div class="HOEnZb"><div class="h5"><br>
> <br>
<p><br>
 </p>

<div dir="ltr">
<div class="gmail_default" style="font-family:verdana,sans-serif">Gabriel, bom dia!</div>

<div class="gmail_default" style="font-family:verdana,sans-serif"> </div>

<div class="gmail_default" style="font-family:verdana,sans-serif">Segue uma ideia inicial para seu caso. Considerei que as distâncias que você forneceu são de fato as distâncias horizontais e que os pontos foram tomados a partir de um único ponto de visada. Dê uma olhada no desenho das copas, de fato eu esperava copas mais circulares...</div>

<div class="gmail_default" style="font-family:verdana,sans-serif"> </div>

<div class="gmail_default" style="font-family:verdana,sans-serif"> </div>

<div class="gmail_default">
<div class="gmail_default"><span style="font-family:monospace,monospace">### <code r></span></div>

<div class="gmail_default">
<div class="gmail_default"><font face="monospace, monospace">da <- data.frame(Tree=rep(c("CB6", "CB7", "MB10"), each=8), ID=rep(1:8, 3),</font></div>

<div class="gmail_default"><font face="monospace, monospace">                AZ=c(240.7, 276.6, 301.1, 51.9, 110.8, 130, NA, NA, 211.3, 182.1, </font></div>

<div class="gmail_default"><font face="monospace, monospace">                     178, 111.6, 29.4, 13.8, 307.7, 274.2, 325.5, 228.8, 192.9, 138.9,</font></div>

<div class="gmail_default"><font face="monospace, monospace">                     92.4, 35.9, 330.8, NA), </font></div>

<div class="gmail_default"><font face="monospace, monospace">                DH=c(3.6, 5.6, 3.3, 3.3, 2.5, 6.4, NA, NA, 4.5, 4.3, 3.4, 4.6, 2.4, </font></div>

<div class="gmail_default"><font face="monospace, monospace">                     4.5, 7.6, 3.2, 6.1, 10, 3.2, 3.9, 6.9, 4.2, 3.4, NA))</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">### remove NA's e calcula coordenadas x e y</font></div>

<div class="gmail_default"><font face="monospace, monospace">da <- da[complete.cases(da),]</font></div>

<div class="gmail_default"><font face="monospace, monospace">da$x = da$DH*cos(da$AZ*pi/180)</font></div>

<div class="gmail_default"><font face="monospace, monospace">da$y = da$DH*sin(da$AZ*pi/180)</font></div>

<div class="gmail_default"><font face="monospace, monospace">da</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">### "fecha" polígonos</font></div>

<div class="gmail_default"><font face="monospace, monospace">da2 <- NULL</font></div>

<div class="gmail_default"><font face="monospace, monospace">for (tree in unique(da$Tree)) {</font></div>

<div class="gmail_default"><font face="monospace, monospace">     sel <- da[da$Tree==tree,]</font></div>

<div class="gmail_default"><font face="monospace, monospace">     sel <- rbind(sel, sel[1,])</font></div>

<div class="gmail_default"><font face="monospace, monospace">     da2 <- rbind(da2, sel)</font></div>

<div class="gmail_default"><font face="monospace, monospace">}</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">### visualiza formas das copas</font></div>

<div class="gmail_default"><font face="monospace, monospace">par(mfrow=c(2,2))</font></div>

<div class="gmail_default"><font face="monospace, monospace">for (tree in unique(da$Tree)) {</font></div>

<div class="gmail_default"><font face="monospace, monospace">     sel <- da[da$Tree==tree,]</font></div>

<div class="gmail_default"><font face="monospace, monospace">     plot(sel$y~sel$x, type="n", asp=T, xlab=NA, ylab=NA, xlim=c(-10,10), ylim=c(-10,10))</font></div>

<div class="gmail_default"><font face="monospace, monospace">     polygon(sel$y~sel$x, col="light green", bor=3)</font></div>

<div class="gmail_default"><font face="monospace, monospace">     area <- paste(round(splancs::areapl(cbind(sel$x, sel$y)),2 ), "m²")</font></div>

<div class="gmail_default"><font face="monospace, monospace">     text(6,6, area)</font></div>

<div class="gmail_default"><font face="monospace, monospace">}</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">### Exemplos de operações com um polígono</font></div>

<div class="gmail_default"><font face="monospace, monospace">p1 <- as.matrix(da2[1:7, 5:6])</font></div>

<div class="gmail_default"><font face="monospace, monospace">splancs::areapl(p1) # [1] 31.77187 m²</font></div>

<div class="gmail_default"><font face="monospace, monospace">p1.d <- as.matrix(dist(p1))</font></div>

<div class="gmail_default"><font face="monospace, monospace">p1.l <- sapply(1:(nrow(p1.d)-1), function(x) p1.d[x, x+1])</font></div>

<div class="gmail_default"><font face="monospace, monospace">sum(p1.l) # perimeter - 27.21928 m</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">require(sp) </font></div>

<div class="gmail_default"><font face="monospace, monospace">p1.sp <- SpatialPolygons(list(Polygons(list(Polygon(p1)), "pol1")))</font></div>

<div class="gmail_default"><font face="monospace, monospace">rgeos::gArea(p1.sp) # [1] 31.77187 m²</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">require(geosphere)</font></div>

<div class="gmail_default"><font face="monospace, monospace">areaPolygon(p1.sp) # 390888183993 ??? </font></div>

<div class="gmail_default"><font face="monospace, monospace">perimeter(p1.sp)   # 3014297 ???</font></div>

<div class="gmail_default"><font face="monospace, monospace">### geosphere considera que seriam coordenadas em graus</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">### é possível calcular um fator de conversão</font></div>

<div class="gmail_default"><font face="monospace, monospace">conv <- sqrt(areaPolygon(p1.sp)/rgeos::gArea(p1.sp)); conv # ~ 110919m</font></div>

<div class="gmail_default"><font face="monospace, monospace">areaPolygon(p1.sp)/conv^2 # 31.77187 m²</font></div>

<div class="gmail_default"><font face="monospace, monospace">perimeter(p1.sp)/conv     # 27.17573 m</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">### Cálculo para os três polígonos</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">for (tree in unique(da2$Tree)) {</font></div>

<div class="gmail_default"><font face="monospace, monospace">     sel <- da2[da2$Tree==tree, 5:6]</font></div>

<div class="gmail_default"><font face="monospace, monospace">     sel.sp <- SpatialPolygons(list(Polygons(list(Polygon(sel)), "pol1")))</font></div>

<div class="gmail_default"><font face="monospace, monospace">     conv <- sqrt(areaPolygon(sel.sp)/rgeos::gArea(sel.sp))</font></div>

<div class="gmail_default"><font face="monospace, monospace">     print(paste(tree, round(areaPolygon(sel.sp)/conv^2, 1), </font></div>

<div class="gmail_default"><font face="monospace, monospace">                 round(perimeter(sel.sp)/conv, 1)))</font></div>

<div class="gmail_default"><font face="monospace, monospace">}</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace"># Área e perímetros</font></div>

<div class="gmail_default"><font face="monospace, monospace"># [1] "CB6 31.8 27.2"</font></div>

<div class="gmail_default"><font face="monospace, monospace"># [1] "CB7 48.1 31.3"</font></div>

<div class="gmail_default"><font face="monospace, monospace"># [1] "MB10 74 40.8"</font></div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace">### </code></font></div>
</div>

<div class="gmail_default"> </div>

<div class="gmail_default"> </div>

<div class="gmail_default"><font face="monospace, monospace"><img alt="Imagem inline 1" height="414" width="503"></font></div>

<div class="gmail_default"> </div>
</div>
</div>

<div class="gmail_extra"> 
<div>
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div style="font-family:'trebuchet ms',sans-serif;display:inline"><font style="font-size:small" face="arial, helvetica, sans-serif">​</font></div>
<font style="font-size:12.8px" face="arial, helvetica, sans-serif"><span style="font-size:small">================================================</span><br>
Éder Comunello</font>

<div style="font-size:12.8px"><span style="font-family:arial,helvetica,sans-serif">Agronomist (UEM), MSc in Environ. Sciences (UEM)</span></div>

<div style="font-size:12.8px">
<div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">DSc in Agricultural Systems Engineering (USP/Esalq)</span></div>

<div><span style="font-size:small">Brazilian Agricultural Research Corporation (</span><font style="font-size:small" face="arial, helvetica, sans-serif">Embrapa)</font></div>

<div>
<div><font style="font-size:small" face="arial, helvetica, sans-serif">Dourados, MS, Brazil </font><font face="arial, helvetica, sans-serif" size="2">|<O>|</font></div>

<div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">================================================</span></div>
</div>
</div>

<div style="font-size:small"><font face="arial, helvetica, sans-serif">GEO, </font>-22.2752, -54.8182, 408m</div>

<div style="font-size:12.8px"><span style="font-size:small;font-family:arial,helvetica,sans-serif">UTC-04:00 / DST: UTC-03:00</span></div>

<div>
<div>
<div> </div>

<div> </div>
</div>

<div style="font-size:small"> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div></blockquote></div><br></div>