0

当我写我的 .gpkg 时,我失去了 CRS。我尝试使用 .set_crs 设置 CRS,或者在编写 .gpkg 时添加 CRS(这会产生错误 - “fiona._env - WARNING - dataset filename.gpkg 不支持图层创建选项 EPSG”

我的代码

for layername in fiona.listlayers(file):                 
    vector = geopandas.read_file(file, layer=layername)
    vector.set_crs(4326)
    vector.to_file(filename + ".gpkg", layer = layername, driver='GPKG')

或者

for layername in fiona.listlayers(file):                 
    vector = geopandas.read_file(file, layer=layername)
    vector.to_file(filename + ".gpkg", layer = layername, driver='GPKG', epsg=4326)

两者都不起作用。

4

1 回答 1

1

vector.set_crs(4326)默认情况下不起作用。您要么需要分配它,要么指定inplace=True.

for layername in fiona.listlayers(file):                 
    vector = geopandas.read_file(file, layer=layername)
    # vector.set_crs(4326, inplace=True)  # one option
    vector = vector.set_crs(4326)  # other option
    vector.to_file(filename + ".gpkg", layer = layername, driver='GPKG')

您的第二次尝试不起作用,因为您to_file没有espg尝试丢失的关键字,并且在传递给 Fiona 和 GDAL 的参数中丢失了(它默默地忽略它)。

于 2022-02-10T20:03:34.060 回答