首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在同一列中获取多对坐标?(R)

在同一列中获取多对坐标?(R)
EN

Stack Overflow用户
提问于 2019-01-31 02:34:59
回答 2查看 68关注 0票数 1

我在玩弄concaveman包。

我正在使用这个示例代码在一些测试点周围创建一个凹面外壳的多边形:

代码语言:javascript
复制
library(concaveman)
data(points)
polygons <- concaveman(points)
plot(points)
plot(polygons, add = TRUE)

但是,多边形df将所有坐标都塞到一行中,如下所示:

代码语言:javascript
复制
polygons
1
list(c(-122.0809, -122.0813, -122.0812, -122.082, -122.0819, -1...

我尝试使用unlist,但这只是将df两端的x/y坐标对彼此分开:

代码语言:javascript
复制
fixpolygon <- data.frame(unlist(polygons))

输出:

代码语言:javascript
复制
polygons1  -122.0809
polygons2  -122.0813
polygons3  -122.0812
...
polygons210 37.3736
polygons211 37.3764
polygons22  37.3767

如何才能使输出结果如下所示:

代码语言:javascript
复制
c(-122.0809, 37.3736)
c(-122.0813, 37.3764)
...

等等,等等?

EN

回答 2

Stack Overflow用户

发布于 2019-01-31 02:39:35

通过检查

代码语言:javascript
复制
str(polygons)

我们可以看到,您想要的东西已经在

代码语言:javascript
复制
polygons$polygons[[1]][[1]]
#               V1      V2
#   [1,] -122.0809 37.3736
#   [2,] -122.0813 37.3764
#   [3,] -122.0812 37.3767
#   [4,] -122.0820 37.3772
#   [5,] -122.0819 37.3792
#   [6,] -122.0822 37.3792
#   ...
票数 0
EN

Stack Overflow用户

发布于 2019-01-31 02:39:43

尝试使用sf包:

代码语言:javascript
复制
library(sf)
st_coordinates(st_as_sf(polygons))
代码语言:javascript
复制
             X       Y L1 L2
[1,] -122.0809 37.3736  1  1
[2,] -122.0813 37.3764  1  1
[3,] -122.0812 37.3767  1  1
[4,] -122.0820 37.3772  1  1
[5,] -122.0819 37.3792  1  1
[6,] -122.0822 37.3792  1  1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54447325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档