Guest User

Untitled

a guest
Dec 18th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. ##shpgen = name
  3. ##Fichier_CSV = file
  4. ##Chemin_de_sortie = folder
  5. ##nomodeler
  6. import sys
  7. import re
  8. import csv
  9. from PyQt4.QtCore import *
  10. from PyQt4.QtGui import *
  11. import os.path
  12.  
  13. reload(sys)
  14. sys.setdefaultencoding('utf8')
  15. final_list = []
  16.  
  17. with open(Fichier_CSV, "rU") as s:
  18. reader_tables = csv.DictReader(s,delimiter=';')
  19. liste_tables = list(reader_tables)
  20. l_tables = [i['table'] for i in liste_tables]
  21. l_tables = set(l_tables)
  22. for table in l_tables:
  23. l1 = [line for line in liste_tables if line['table'] == table]
  24. geometry = l1[1]['geometry']
  25. layer_mem = QgsVectorLayer(geometry+"?crs=epsg:2154",table,"memory")
  26. QgsVectorFileWriter.writeAsVectorFormat(layer_mem,os.path.joint(Chemin_de_sortie+"{}".format(table)),"utf-8",None,"ESRI Shapefile",False)
  27. layer_path = os.path.join(Chemin_de_sortie,table+".shp")
  28. shp = QgsVectorLayer(layer_path,table,'ogr')
  29. pr = shp.dataProvider()
  30. shp.startEditing()
  31. for field in l1:
  32. if field['type'] != 'Double':
  33. pr.addAttributes([QgsField(field['field'],getattr(QVariant,field['type']),field['typeName'],int(field['len']))])
  34. else:
  35. pr.addAttributes([QgsField(field['field'],getattr(QVariant,field['type']),field['typeName'],int(field['len']),int(field['precision']))])
  36. shp.updateFields()
  37. shp.commitChanges()
  38. del layer_mem,shp,pr
  39.  
  40. name 'Fichier_CSV' is not defined See log for more details
Add Comment
Please, Sign In to add comment