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


