我正在尝试使用ggplot2从空间要素数据框中标记多边形。我正在尝试在标题“下载一些边界数据:州/县/ HUC”下复制说明here
这是我的代码,试图获取lat和lon值以用于geom_text()中的标签位置:
selected_sites <- arc.open(survey_sites)
ss <- arc.select(selected_sites)
ss_shape <- arc.data2sf(ss)
refcode_list <- ss$refcode
ss_shape <- ss_shape %>%
mutate(lon=map(geometry, ~st_centroid(.x)[[1]]),
lat=map(geometry, ~st_centroid(.x)[[2]]))
我一直收到以下错误:
mutate_impl(.data,点)中的错误:
评估错误:.x
不是向量(关闭)。
答案 0 :(得分:0)
我自己无法重现该错误。可能您没有加载purrr
软件包,因此map
正在使用其他函数。
我要说的是,由于您的目标是在geom_text
中绘制标签,因此简单地使用st_centroid(ss_shape)
是可行的方法。它将质心返回为points
,您可以将其直接传递给geom_text
:
例如)
ss_centroids <- st_centroid(ss_shape)
ggplot()+
geom_text(data=ss_centroids,aes(x=X,y=Y,label=name))