Advertisement
Guest User

Untitled

a guest
Aug 26th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. ##Add_ETIKT_Field=name
  2. ##myvlayer=vector
  3. ##myvlayer=output vector
  4. outputs_QGISADDFIELDTOATTRIBUTESTABLE_2=processing.runalg('qgis:addfieldtoattributestable', myvlayer,'ETIKT_Y',1,15.0,4.0,None)
  5. outputs_QGISADDFIELDTOATTRIBUTESTABLE_1=processing.runalg('qgis:addfieldtoattributestable', outputs_QGISADDFIELDTOATTRIBUTESTABLE_2['OUTPUT_LAYER'],'ETIKT_X',1,15.0,5.0,myvlayer)
  6.  
  7. if caps & QgsVectorDataProvider.AddAttributes:
  8. res = layer.dataProvider().addAttributes([QgsField("mytext", QVariant.String), QgsField("myint", QVariant.Int)])
  9.  
  10. if caps & QgsVectorDataProvider.DeleteAttributes:
  11. res = layer.dataProvider().deleteAttributes([0])
  12.  
  13. ##Perso=group
  14. ##Add_Labelling_Fields=name
  15.  
  16. ##layer=multiple vector
  17. ##Field_ETIKT_X=string ETIKT_X
  18. ##Field_ETIKT_Y=string ETIKT_Y
  19. ##Field_ETIKT_ROT=string ETIKT_ROTATE
  20.  
  21. from osgeo import ogr
  22.  
  23. layers= layer.split(";")
  24.  
  25. for i in layers:
  26. driver = ogr.GetDriverByName('ESRI Shapefile')
  27. dataSource = driver.Open(i, 1) #1 is read/write
  28.  
  29. #define 3 floating point fields :
  30. fldDef_X = ogr.FieldDefn(str(Field_ETIKT_X), ogr.OFTReal)
  31. fldDef_Y = ogr.FieldDefn(str(Field_ETIKT_Y), ogr.OFTReal)
  32. fldDef_ROT = ogr.FieldDefn(str(Field_ETIKT_ROT), ogr.OFTReal)
  33.  
  34. #get layer and add the 3 fields:
  35. vlayer = dataSource.GetLayer()
  36. vlayer.CreateField(fldDef_X)
  37. vlayer.CreateField(fldDef_Y)
  38. vlayer.CreateField(fldDef_ROT)
  39. progress.setInfo(i+' OK')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement