即使数据共享相同的 CRS,也不能附加或连接两个 GeoDataFrame

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

基本上我正在学习这个教程,我们从 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)

和其他多行但无法找出问题。

pandas data-science gis geopandas analysis
1个回答
0
投票

似乎其中一个数据框没有 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
© www.soinside.com 2019 - 2024. All rights reserved.