Pages: 1
- Sujet précédent - QGIS Python: comment ajouter des lignes succesivement dans une boucle? - Sujet suivant
#1 Tue 02 August 2016 09:06
- Logispace
- Juste Inscrit !
- Date d'inscription: 18 Jul 2016
- Messages: 4
QGIS Python: comment ajouter des lignes succesivement dans une boucle?
Bonjour,
je souhaite créer un nouveau shapefile de points avec les mêmes attributs qu'un premier shapefile et y ajouter progressivement les lignes qui m’intéressent. Je vous donne l'exemple de mon code actuel à la suite.
Mon problème est que pour l'instant je n'obtiens qu'une seule ligne à mon nouveau shapefile file alors que je souhaite qu'il se complète au fur et à mesure des boucles avec de nouvelles lignes... Comment dois je changer mon script?
writer1= QgsVectorFileWriter(dir + "/Selection1.shp", "CP1250", provider.fields(), provider.geometryType(), provider.crs(), "ESRI Shapefile")
writer2 = QgsVectorFileWriter(dir +"/Selection2b.shp", "CP1250", provider.fields(), provider.geometryType(), provider.crs(), "ESRI Shapefile")
outelem=QgsFeature()
Code:
For value1 in DatesHours:
 [...]
 For value2 in RefValues :
  [...]
  For feature in macouche.getFeatures():
   true=0
   attri1=feature.attributes()
   if attri1[0] == value2 :
    ecart= datetime.datetime.strptime(value1,'%d/%m/%Y %H:%M') - datetime.datetime.strptime(feature['DATE3'],'%d/%m/%Y %H:%M')
    if ecart < zero:
     ecart= datetime.datetime.strptime(feature['DATE3'],'%d/%m/%Y %H:%M') - datetime.datetime.strptime(value1,'%d/%m/%Y %H:%M')
     if ecart_minN > ecart :
      ecart_minN=ecart
      DHp=feature['DATE3']
      true = 1
    else:
     if ecart_minP > ecart :
     ecart_minP=ecart
     DHn=feature['DATE3']
     true = 1
   if true == 1 :
    outelem.setGeometry(feature.geometry())
    outelem.setAttributes(feature.attributes())
    writer1.addFeature(write(outelem,feature))Merci à vous.
Hors ligne
Pages: 1
- Sujet précédent - QGIS Python: comment ajouter des lignes succesivement dans une boucle? - Sujet suivant





