基本上我正在学习这个教程,我们从 OSM 导入数据并修改数据,基本上有一个命令将缺失的高速公路速度限制添加到未分类的道路。
tutorial
,同时使用此命令通过组合两个帧来重新创建 GeoDataFrame 数据集。
edges = edges_with_maxspeed.append(edges_without_maxspeed)
edges["maxspeed"].unique()
我明白了:
ValueError: Cannot determine common CRS for concatenation inputs, got ['WGS 84']. Use `to_crs()` to transform geometries to the same CRS before merging.
正如我上面提到的,知道两个数据集共享相同的 CRS。
我试过这个:
edges_with_maxspeed = edges_with_maxspeed.reset_index(drop=True)
edges_without_maxspeed = edges_without_maxspeed.reset_index(drop=True)
edges = edges.reset_index(drop=True)
edges = gpd.GeoDataFrame(pd.concat([edges_without_maxspeed, edges_with_maxspeed], ignore_index=True), crs=edges.crs)
和其他多行但无法找出问题。
似乎其中一个数据框没有 crs。我首先检查哪些数据帧没有 crs,方法是:
print(edges_without_maxspeed.crs)
print(edges_with_maxspeed.crs)
然后,根据哪个没有crs,你可以将一个的crs设置为另一个:
edges_without_maxspeed.crs = edges_with_maxspeed.crs
或...
edges_with_maxspeed.crs = edges_without_maxspeed.crs