Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. from qgis.PyQt.QtCore import *
  2.  
  3. def drawLay ( namee, x1, y1 ) :
  4. lay = QgsVectorLayer('Point?crs=epsg:2039', namee , 'memory')
  5. pr = lay.dataProvider()
  6. lay.startEditing()
  7. fet = QgsFeature()
  8. fet.setGeometry( QgsGeometry.fromPointXY(QgsPointXY(x1,y1)) )
  9. pr.addFeatures( [ fet ] )
  10. lay.commitChanges()
  11. lay.updateExtents()
  12. QgsProject.instance().addMapLayer(lay)
  13.  
  14. # create two layers
  15. drawLay ( 'aa', 150000, 400000)
  16. drawLay ( 'bb', 150100, 400000)
  17.  
  18. #write this layers into geoPackage
  19. GpName = r'c:tempgpk_file.gpkg'
  20. options = QgsVectorFileWriter.SaveVectorOptions()
  21. options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteLayer
  22. options.EditionCapability = QgsVectorFileWriter.CanAddNewLayer
  23. for layer in iface.mapCanvas().layers() :
  24. namee =layer.name()
  25. print (namee)
  26. options.layerName = namee
  27. _writer = QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options )
  28.  
  29. from qgis.PyQt.QtCore import *
  30.  
  31. def drawLay ( namee, x1, y1 ) :
  32. lay = QgsVectorLayer('Point?crs=epsg:2039', namee , 'memory')
  33. pr = lay.dataProvider()
  34. lay.startEditing()
  35. fet = QgsFeature()
  36. fet.setGeometry( QgsGeometry.fromPointXY(QgsPointXY(x1,y1)) )
  37. pr.addFeatures( [ fet ] )
  38. lay.commitChanges()
  39. lay.updateExtents()
  40. QgsProject.instance().addMapLayer(lay)
  41.  
  42. # create two layers
  43. drawLay ( 'aa', 150000, 400000)
  44. drawLay ( 'bb', 150100, 400000)
  45.  
  46. #write this layers into geoPackage
  47. GpName = r'D:tempgpk_file.gpkg'
  48. for layer in QgsProject.instance().mapLayers().values() :
  49. options = QgsVectorFileWriter.SaveVectorOptions()
  50. options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteLayer #Update mode
  51. options.EditionCapability = QgsVectorFileWriter.CanAddNewLayer
  52. options.layerName = layer.name()
  53. print("Update mode")
  54. _writer = QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options)
  55. if _writer:
  56. print(layer.name(), _writer)
  57. if _writer[0] == QgsVectorFileWriter.ErrCreateDataSource :
  58. print("Create mode")
  59. options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteFile #Create mode
  60. _writer= QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options)
  61. if _writer:
  62. print(layer.name(), _writer)
  63.  
  64. GpName = r'c:tempgpk_file.gpkg'
  65. firstt = True
  66. options = QgsVectorFileWriter.SaveVectorOptions()
  67. for layer in QgsProject.instance().mapLayers().values() :
  68. if firstt :
  69. firstt = False
  70. else :
  71. options.actionOnExistingFile = QgsVectorFileWriter.CreateOrOverwriteLayer
  72. options.EditionCapability = QgsVectorFileWriter.CanAddNewLayer
  73. options.layerName = layer.name()
  74. _writer = QgsVectorFileWriter.writeAsVectorFormat(layer, GpName, options )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement