python - 如何将 python 中生成的 MultiLineString 转换为 R 对象?
问题描述
我正在使用 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 对象?
解决方案
#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
推荐阅读
- python - Python 3:函数“带有字符串及其索引的列表”
- javascript - 自定义 Bootstrap 4 全屏轮播错误:控件和标题之间的对应关系错误
- python - numpy - 从数组的每一行中选择多个元素
- spring-security - 有人有 Spring Cloud OAuth2 和 Active Directory 的 UserDetails 服务示例吗?
- python - 将 Pandas 数据框和 numpy 数组写入一个通用 Excel 文件
- ios - xcode 5.5英寸模拟器不工作,只有黑屏
- javascript - reactjs 无法读取 https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.js:37752:65
- javascript - 如何从一堆具有相同属性的元素中获取具有“aria-hidden”的元素?
- php - 读取多部分/表单数据请求 PHP7
- c++ - 解释元组上的循环