我有两个地理数据框,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