簡體   English   中英

如何根據 dataframe 中的列將列名稱添加到空間多邊形?

[英]How to add columns names to a spatialpolygon based on column from a dataframe?

虛擬空間多邊形:

x_coord <- c(16.48438,  17.49512,  24.74609, 22.59277, 16.48438)
y_coord <- c(59.736328125, 55.1220703125, 55.0341796875, 61.142578125, 59.736328125)
xym <- cbind(x_coord, y_coord)

library(sp)
p = Polygon(xym)
ps = Polygons(list(p),1)
sps = SpatialPolygons(list(ps))
plot(sps)

虛擬 dataframe:

df <- data.frame (date= c("2021", "2015", "2018"),
                  value= c(100, 147, 25))

基本問題,但如何將 dataframe 的列名添加到空間多邊形? (我不需要添加一些值,我只希望我的空間多邊形具有字段“日期”和“值”)

您可以使用 addAttrToGeom 擴展您的addAttrToGeom (在這種情況下為空間多邊形)

library(sp)
spsCRS <- CRS(SRS_string = "EPSG:4326")
p = Polygon(xym)
ps = Polygons(list(p),1)
sps = SpatialPolygons(list(ps))
proj4string(sps) <- spsCRS
plot(sps)

df <- data.frame("ID" = 1, "Name" = "MyNewPolygon", "URL" = "http://example.org")
spsDf <- addAttrToGeom(sps, df, match.ID = "ID")

這將創建一個新的 object:

An object of class "SpatialPolygonsDataFrame"
Slot "data":
  ID         Name                URL
1  1 MyNewPolygon http://example.org

Slot "polygons":
[[1]]
[...]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM