使用 geopandas 写入 .gpkg 时丢失 crs
Losing the crs when writing to .gpkg with geopandas
当我编写 .gpkg 时,我丢失了 CRS。我尝试使用 .set_crs 设置 CRS,或者在编写 .gpkg 时添加 CRS(这会造成错误 - “fiona._env - 警告 - 数据集 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)
都没有用。
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 的参数中丢失了(它默默地忽略它)。
当我编写 .gpkg 时,我丢失了 CRS。我尝试使用 .set_crs 设置 CRS,或者在编写 .gpkg 时添加 CRS(这会造成错误 - “fiona._env - 警告 - 数据集 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)
都没有用。
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 的参数中丢失了(它默默地忽略它)。