簡體   English   中英

如何將 SF 對象轉換為空間點數據框?

[英]How can I transform a SF object into a Spatial Points Data Frame?

我目前正在嘗試將北卡羅來納州的所有郵政編碼映射到傳單地圖上。 最終,我想用來自另一個數據集的值對這些進行顏色編碼。

雖然我已經設法用這些值將標記放在地圖上,但以帶有郵政編碼的彩色方式這樣做確實會為我的項目增加價值。

我在 R 中下載了 USAboundaries 庫,所以我認為我有足夠的數據來創建傳單中的多邊形,但數據不是 SpatialPointsDataFrame 格式。

USAboundaries 數據集的示例輸出如下所示:

USAboundaries::us_zipcodes()

Simple feature collection with 33144 features and 6 fields
geometry type:  POINT
dimension: XY
bbox:  
 xmin: -176.6316 
 ymin: -14.22075 
 xmax: 145.7536 
 ymax: 71.2738

epsg (SRID):    4326

proj4string:    +proj=longlat +datum=WGS84 +no_defs

First 10 features:
  zipcode zcta5ce10     affgeoid10 geoid10   aland10 awater10                   geometry
    21914     21914 8600000US21914   21914   1924479   477175 POINT (-75.98187 39.57303)
    01001     01001 8600000US01001   01001  29731610  2118827 POINT (-72.62585 42.06258)
    34736     34736 8600000US34736   34736 322808220 78588518 POINT (-81.89624 28.55458)
    46151     46151 8600000US46151   46151 530632048  9804480  POINT (-86.4305 39.44806)
    48039     48039 8600000US48039   48039  59592687  4845242 POINT (-82.55054 42.69666)

在我看來,這應該足以轉換為 SpatialPointsDataFrame,但我不知道如何在 R 中做到這一點! 任何提示將非常感謝!

Leaflet 支持sf對象,因此您不應該嘗試任何問題。 不過,您可以使用as(YourObject, "Spatial")sf對象轉換為sp (例如空間點數據框as(YourObject, "Spatial") 要從 sp 更改為 sf,請使用as_as_sf

library(sf)
library(sp)
data(meuse)
coordinates(meuse) = ~x+y
m.sf = st_as_sf(meuse) 
x = st_sfc(st_point(c(5,5)), st_point(c(6,9)), crs = 4326)
as(x, "Spatial")

看到 這個

暫無
暫無

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

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