如何使用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
相关产品推荐
相关产品推荐

