不确定如何执行此操作:
我有一个像这样存储的东西(在a
中):
[
"MULTIPOLYGON (((-95.0000000372529 40.999989970587194, -94.5000000372529 40.999989970587194, -94.5000000372529 40.499989970587194, -95.0000000372529 40.499989970587194)))"
]
typeof(a) # prints "character"
class(a) # prints "json"
我想把它转换成一个看起来像这样的data.frame(不需要对数字进行舍入,只是更容易输入)
X1 X2
1 -95 40
2 -94 40
3 -94 40
4 -95 40
我试过
a.df<-as.data.frame(as.matrix(a))
但打印
V1
1 [\n "MULTIPOLYGON (((-95.0000000372529 40.999989970587194, -94.5000000372529 40.999989970587194, -94.5000000372529 40.499989970587194, -95.0000000372529 40.499989970587194)))"\n]\n
答案 0 :(得分:1)
library(sf)
library(jsonlite)
library(tidyverse)
x <- fromJSON('[
"MULTIPOLYGON (((-95.0000000372529 40.999989970587194, -94.5000000372529 40.999989970587194, -94.5000000372529 40.499989970587194, -95.0000000372529 40.499989970587194)))"
]')
map(x, st_as_sfc) %>%
map(~as.data.frame(.[[1]][[1]]))
## [[1]]
## X1 X2
## 1 -95.0 40.99999
## 2 -94.5 40.99999
## 3 -94.5 40.49999
## 4 -95.0 40.49999
现在:
wkt2geojson('[
"MULTIPOLYGON (((-95.0000000372529 40.999989970587194, -94.5000000372529 40.999989970587194, -94.5000000372529 40.499989970587194, -95.0000000372529 40.499989970587194)))"
]')
也有点工作,但会发出警告。
了解在这样的配置中创建此WKT的实际来源将是有帮助的