将强化的data.frame转换回sf对象

时间:2018-03-28 04:39:18

标签: r ggplot2 sf

fivestater package提供了一张美国地图,下面以夏威夷和阿拉斯加为插图。对象fifty_states已经加强了与ggplot2一起使用。但是,我想使用geom_sf将其绘制为sf对象。

作为一个更普遍的问题,将强化data.frame转换为sf多边形的最佳方法是什么?

library(fiftystater)
fifty_states <– fifty_states

> head(fifty_states)
       long      lat order  hole piece      id     group
1 -85.07007 31.98070     1 FALSE     1 alabama Alabama.1
2 -85.11515 31.90742     2 FALSE     1 alabama Alabama.1
3 -85.13557 31.85488     3 FALSE     1 alabama Alabama.1
4 -85.13156 31.78381     4 FALSE     1 alabama Alabama.1
5 -85.13017 31.77885     5 FALSE     1 alabama Alabama.1
6 -85.11529 31.73157     6 FALSE     1 alabama Alabama.1

请注意,这个问题polygons from coordinates有点类似,但并不能完全满足我的需求。

1 个答案:

答案 0 :(得分:3)

这样可行:您首先使用 function fncValidateMemberID(e) { if (e.keyCode == 13) { //My AJAX logic here but I cannot get the text value I inputted on my textbox return false; } return true; } 转换为点sf数据集,然后从每个州/片段的点创建多边形。

st_as_sf

(另见https://github.com/r-spatial/sf/issues/321