Старая версия с
Код: Выделить всё
QgsVectorFileWriter.writeAsVectorFormatV3(layer, outGPKG, QgsCoordinateTransformContext(), options)
Таким образом, мне нужно это изменить.
В настоящее время я пытаюсь использовать :
Код: Выделить всё
QgsVectorLayerExporter.exportLayer(...)
Официальный документальный фильм: https://www.qgis.org/pyqgis/master/core ... orter.html# qgis.core.QgsVectorLayerExporter.exportLayer
мне не ясно.
пример: в чем разница между URI и имя файла в качестве второго параметра (от новой к старой функции).
Создание данных (подготовка к ) происходит следующим образом:
Код: Выделить всё
created_layers = {
QgsWkbTypes.PointGeometry: False,
QgsWkbTypes.LineGeometry: False,
QgsWkbTypes.PolygonGeometry: False
}
for layer in QgsProject.instance().mapLayers().values():
if layer.isValid() and isinstance(layer, QgsVectorLayer) and layer.featureCount() > 0:
if layer.name() in ["błędy z kontroli atrybutów","geometrie obiektów pokrycia terenu","lokalizacje", \
"nakładania","dziury ","poziomic"] or "błędy z walidacji" in layer.name():
if "błędy z kontroli atrybutów" in layer.name():
typ_geometrii = layer.geometryType()
if created_layers[typ_geometrii]:
continue
created_layers[typ_geometrii] = True
suffix = ''
if typ_geometrii == QgsWkbTypes.PointGeometry:
suffix = f"_Punkt"
elif typ_geometrii == QgsWkbTypes.LineGeometry:
suffix = f"_Linia"
elif typ_geometrii == QgsWkbTypes.PolygonGeometry:
suffix = f"_Poligon"
else:
suffix = f"_InnyTypGeometrii"
outGPKG = sciezkaGML + f'/RaportBledow_{nazwa_pliku}_{timestr}_błędy z kontroli atrybutów{suffix}.gpkg'
elif "błędy z walidacji" in layer.name():
outGPKG = (sciezkaGML + f'/RaportBledow_{layer.name()}.gpkg').replace('__', f'_{timestr}_')
else:
outGPKG = (sciezkaGML + f'/RaportBledow_{nazwa_pliku}_{timestr}_{layer.name()}.gpkg')
Код: Выделить всё
options = QgsVectorFileWriter.SaveVectorOptions()
options.driverName = 'GPKG'
options.layerName = layer.name()
options.fileEncoding = 'UTF-8'
options.destCRS = QgsCoordinateReferenceSystem(epsg)
Спасибо за любую помощь!
Спасибо за любую помощь!
Не знаю, нужны ли они в новой версии и как ее изменить.
Спасибо за любую помощь!
п>
Подробнее здесь: https://stackoverflow.com/questions/793 ... ckage-file