You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GEOS/geos将MultiLineString转换为LineString?

如何使用GEOS/geos将MultiLineString转换为LineString?

用户通过以下代码创建MultiLineString,但调用geos::geos_unnest无法生成LineString:

multilinestring = geos::geos_unary_union(
    geos::geos_make_collection(c(
      geos::geos_make_linestring(1:3, 1:3),
      geos::geos_make_linestring(11:13, 11:13)
    ))
)
# 无法生成LineString:
geos::geos_unnest(multilinestring)
# 如何转换为LineString?

可以通过{sf}包完成转换,代码如下:

multilinestring_sf = sf::st_as_sf(multilinestring)
sf::st_cast(multilinestring_sf, "LINESTRING")

转换结果:

geometry
1     LINESTRING (1 1, 2 2, 3 3)
2 LINESTRING (11 11, 12 12, 13 13)

内容的提问来源于stack exchange,提问作者RobinLovelace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:17:52