Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from qgis.PyQt.QtCore import *
- def drawLay ( namee, x1, y1 ) :
- lay = QgsVectorLayer('Point?crs=epsg:2039', namee , 'memory')
- pr = lay.dataProvider()
- lay.startEditing()
- fet = QgsFeature()
- fet.setGeometry( QgsGeometry.fromPointXY(QgsPointXY(x1,y1)) )
- pr.addFeatures( [ fet ] )
- lay.commitChanges()
- lay.updateExtents()
- QgsProject.instance().addMapLayer(lay)
- # create two layers
- drawLay ( 'aa', 150000, 400000)
- drawLay ( 'bb', 150100, 400000)
- #write this layers into geoPackage
- GpName = r'c:tempgpk_file.gpkg'
- options = QgsVectorFileWriter.SaveVectorOptions()
- options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteLayer
- options.EditionCapability = QgsVectorFileWriter.CanAddNewLayer
- for layer in iface.mapCanvas().layers() :
- namee =layer.name()
- print (namee)
- options.layerName = namee
- _writer = QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options )
- from qgis.PyQt.QtCore import *
- def drawLay ( namee, x1, y1 ) :
- lay = QgsVectorLayer('Point?crs=epsg:2039', namee , 'memory')
- pr = lay.dataProvider()
- lay.startEditing()
- fet = QgsFeature()
- fet.setGeometry( QgsGeometry.fromPointXY(QgsPointXY(x1,y1)) )
- pr.addFeatures( [ fet ] )
- lay.commitChanges()
- lay.updateExtents()
- QgsProject.instance().addMapLayer(lay)
- # create two layers
- drawLay ( 'aa', 150000, 400000)
- drawLay ( 'bb', 150100, 400000)
- #write this layers into geoPackage
- GpName = r'D:tempgpk_file.gpkg'
- for layer in QgsProject.instance().mapLayers().values() :
- options = QgsVectorFileWriter.SaveVectorOptions()
- options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteLayer #Update mode
- options.EditionCapability = QgsVectorFileWriter.CanAddNewLayer
- options.layerName = layer.name()
- print("Update mode")
- _writer = QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options)
- if _writer:
- print(layer.name(), _writer)
- if _writer[0] == QgsVectorFileWriter.ErrCreateDataSource :
- print("Create mode")
- options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteFile #Create mode
- _writer= QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options)
- if _writer:
- print(layer.name(), _writer)
- GpName = r'c:tempgpk_file.gpkg'
- firstt = True
- options = QgsVectorFileWriter.SaveVectorOptions()
- for layer in QgsProject.instance().mapLayers().values() :
- if firstt :
- firstt = False
- else :
- options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteLayer
- options.EditionCapability = QgsVectorFileWriter.CanAddNewLayer
- options.layerName = layer.name()
- _writer = QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement