叠加两个 LineString 没有得到预期的结果

问题描述 投票:0回答:0

我有两个地理数据框,gdf1 包含自行车路线的

path
test
包含自行车道的线串:

gdf1 #contains my bike itinerary
>>>  index  length  geometry
     0      1562    LINESTRING (2.33273 48.83389, 2.33267 48.83389...

test
>>>     insee_com   geometry                                            length (meters)
        75114       LINESTRING (2.33666 48.83926, 2.33667 48.83929...   39
        75114       LINESTRING (2.33665 48.83865, 2.33666 48.83926)     68
        75114       LINESTRING (2.33657 48.83969, 2.33658 48.83962)      8

我已经用 plotly express 映射了这两个 gdf,这给了我以下结果。我们可以清楚地看到两条路径的交集:

但我想得到我在地图上看到的数值,即我的两条路径的交点长度。

目前我尝试使用覆盖方法,但它给了我意想不到的结果。首先,它在我期待线串时返回点和多点。

intersection = gpd.overlay(test, gdf1, how = 'intersection', keep_geom_type=False)
intersection.geometry
>>>   0    MULTIPOINT (2.33671 48.83946, 2.33670 48.83940...
      1                             POINT (2.33666 48.83926)
      Name: geometry, dtype: geometry

其次,它显然不在地图上......非常感谢任何帮助!

plotly geopandas intersection
© www.soinside.com 2019 - 2024. All rights reserved.