[R-br] Classificação de pontos em cada polígono em um shapefile

Éder Comunello comunello.eder em gmail.com
Quinta Janeiro 14 17:37:54 BRST 2016


Olá, boa tarde!

Alexandre, não sei se entendi bem sua necessidade, mas deixo uma sugestão
baseado no que você e o Elias já fizeram...

#Pacotes
require(shapefiles)
require(rgdal)
require(maptools)
require(spatstat)

#-------------------------------------------------------------------------------
#Criação de 4 polígonos

sr <- SpatialPolygons(list(
Polygons(list(Polygon(cbind(c(180114, 180553, 181127, 181477, 181294,
181007, 180409,
  180162, 180114), c(332349, 332057, 332342, 333250, 333558, 333676,
  332618, 332413, 332349)))),'1'),
Polygons(list(Polygon(cbind(c(180042, 180545, 180553, 180314, 179955,
179142, 179437,
  179524, 179979, 180042), c(332373, 332026, 331426, 330889, 330683,
  331133, 331623, 332152, 332357, 332373)))),'2'),
Polygons(list(Polygon(cbind(c(179110, 179907, 180433, 180712, 180752,
180329, 179875,
  179668, 179572, 179269, 178879, 178600, 178544, 179046, 179110),
  c(331086, 330620, 330494, 330265, 330075, 330233, 330336, 330004,
  329783, 329665, 329720, 329933, 330478, 331062, 331086)))),'3'),
Polygons(list(Polygon(cbind(c(180304, 180403,179632,179420,180304),
  c(332791, 333204, 333635, 333058, 332791)))),'4')))
plot(sr)

#Converte em polígonos espaciais
srdf=SpatialPolygonsDataFrame(sr, data.frame(row.names=c('1','2','3','4'),
PIDS=1:4))
srdf em data

#Seleção de pontos
set.seed(222)
pts <- rpoispp(lambda=0.000012, win=srdf)
pts2 <- SpatialPoints(data.frame(pts$x, pts$y),
proj4string=CRS(as.character(NA)))
points(pts2)

#Classificação dos pontos em cada área
pts$PIDS <- over(pts2, srdf)$PIDS
pontos <- data.frame(x=pts$x, y=pts$y, PID=pts$PIDS)

head(pontos)
#          x        y PID
# 1 179576.1 330096.8   3
# 2 180224.7 332009.1   2
# 3 178968.3 330136.9   3
# 4 180495.7 332731.4   1
# 5 178880.9 329897.9   3
# 6 181047.9 333129.5   1

table(pontos$PID)
#  1  2  3  4
# 17 18 16  6

plot(sr); points(pontos, col=pontos$PID)
#-------------------------------------------------------------------------------




​
================================================
Éder Comunello
PhD Student in Agricultural Systems Engineering (USP/Esalq)
Brazilian Agricultural Research Corporation (Embrapa)
Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]




2016-01-14 13:27 GMT-03:00 Elias Teixeira Krainski <
eliaskrainski em yahoo.com.br>:

> conte o numero de pontos em cada area, basta usar nrow() em cada elemento,
> e crie um indice com rep()
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea cdigo
> mnimo reproduzvel.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160114/a8a1a4da/attachment.html>


Mais detalhes sobre a lista de discussão R-br