我使用reticulate包在R代码中集成了一个python函数,python中的原始输出是MultiLineString。Rstudio中的输出类为:
> class(result)
[1] "centerline.geometry.Centerline" "shapely.geometry.multilinestring.MultiLineString"
[3] "shapely.geometry.base.BaseMultipartGeometry" "shapely.geometry.base.BaseGeometry"
[5] "python.builtin.object"
> typeof(result)
[1] "environment"Rstudio中的输出:
> result
MULTILINESTRING ((188.84310143 -25.44115933212567, 189.0883871453183 -25.39224242194983),
(189.34310143 -25.40412148482432, 189.0883871453183 -25.39224242194983))我是python的新手,有没有办法将输出转换成python或R,这样我就可以用它来创建Spatiallines或SF对象了?
发布于 2020-08-21 00:03:56
#output of python function in R
> class(result)
[1] "centerline.geometry.Centerline" "shapely.geometry.multilinestring.MultiLineString"
[3] "shapely.geometry.base.BaseMultipartGeometry" "shapely.geometry.base.BaseGeometry"
[5] "python.builtin.object"
> typeof(result)
[1] "environment"
#Convert from Python to R object
processed <- reticulate::py_to_r(result)
#change type from environment to character
result_2<-type.convert(processed,as.is = TRUE)
#read WKT and construct SpatialLines
x<-readWKT(result_2)
> x
class : SpatialLines
features : 1
extent : 187.6103, 191.6382, -25.8519, -24.55464 (xmin, xmax, ymin, ymax)
crs : NA https://stackoverflow.com/questions/63505983
复制相似问题