![](/img/trans.png)
[英]How can I animate points on a spatial map with gganimate, sf, and ggplot2?
[英]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.