Ich möchte eine räumliche Verknüpfung mit SpatialPolygonsDataFrame und SpatialPointsDataFrame herstellen.
Erhalten Sie nur Einpunktdaten innerhalb mehrerer Polygone unter dem Code.
sp::over(meuse, srdf)
Einige Punktdaten in mehrere Polygone. Ich möchte Punktedaten erhalten, alle Polygondaten behalten.
Zum Beispiel: Punkt A innerhalb des Polygons a und b.
jetzt kann bekommen:
| point | polygon |
-------------------
| A | a |
Ich werde so:
| point | polygon |
-------------------
| A | a |
| A | b |
Daten verwenden:
coordinates(meuse) = ~x+y
sr1=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')
sr2=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')
sr3=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')
sr4=Polygons(list(Polygon(cbind(c(180304, 180403,179632,179420,180304),
c(332791, 333204, 333635, 333058, 332791)))),'4')
sr5=Polygons(list(Polygon(cbind(c(179500, 180000, 180000, 179500),
c(331000, 331000, 331500, 331500)))), '5')
sr=SpatialPolygons(list(sr1,sr2,sr3,sr4, sr5))
srdf=SpatialPolygonsDataFrame(sr, data.frame(row.names=c('1','2','3','4', '5'), PIDS=1:5, y=runif(5)))
st_join
ist jetzt in der veröffentlichten CRAN-VersionVerwenden
over(meuse, srdf, returnList=TRUE)
Der erste Punkt überlagert ein Polygon, der 135. Punkt überlagert zwei:
Hinweis: Wenn Sie nur die überlagerten Polygonindizes und nicht alle Attribute möchten, konvertieren Sie einfach die Polygone in SpatialPolygons und Sie erhalten eine Liste mit Indexnummern anstelle von Datenrahmen mit allen Attributen in:
quelle
Ich kann data.frame unter dem Code erhalten:
Es ist eine automatisch hinzugefügte
.id
Spalte.Wenn Sie gefilterte oder bearbeitete Maissdaten erhalten, gehen Sie unter dem Code vor.
quelle