On Wed, Jun 24, 2020 at 2:57 PM Julien Cabieces
<julien.cabie...@oslandia.com> wrote:
>
>
> Hi alls,
>
> I was looking to create an empty GPKG layer and try the solution Even 
> provide, but
> it creates an invalid file.
>
> fields=QgsFields()
> fields.append(QgsField("note", QVariant.Double))
> QgsVectorFileWriter.create("/tmp/test.gpkg", fields, 
> QgsWkbTypes.MultiLineString, QgsProject.instance().crs(), 
> QgsCoordinateTransformContext(), QgsVectorFileWriter.SaveVectorOptions())
>
> I try also:
> lyr = "mylayer"
> QgsVectorFileWriter.create("/tmp/again.gpkg", fields, 
> QgsWkbTypes.MultiLineString, QgsProject.instance().crs(), 
> QgsCoordinateTransformContext(), QgsVectorFileWriter.SaveVectorOptions(), 
> QgsFeatureSink.SinkFlags(), None, lyr)
>
> It looks like there is no layer in the produced GPKG. Is it an issue, or am I 
> misunderstanding the use of QgsVectorFileWriter?

Hi Julien,

I believe you need to add at least one feature to trigger the layer
creation (through QgsVectorFileWriter/GDAL).

You may try QgsAbstractDatabaseProviderConnection::createVectorTable
or QgsProviderRegistry::createEmptyLayer (they both use the same
provider's code)..

Hope it helps.

-- 
Alessandro Pasotti
QCooperative:  www.qcooperative.net
ItOpen:   www.itopen.it
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to