Ich schreibe ein generisches Skript, bei dem Shapefiles in ein Verzeichnis geschrieben werden, die dann zusammengeführt werden. Nachdem ich die Dateien in den Ausgabeordner geschrieben habe, versuche ich, den Algorithmus saga: mergeshapeslayers zu erhalten, um alle Dateien im Ausgabeordner zusammenzuführen . Ich habe den Model Builder verwendet und obwohl er bis zu einem gewissen Grad hilfreich ist, stelle ich fest, dass er für bestimmte Zwecke verwendet wird, während ich versuche, ein Skript für allgemeine Zwecke zu erstellen.
Code:
##Test=name
##Select_folder=folder
##Result=output vector
import os
import glob
path_1 = Select_folder
path = path_1
os.chdir(path)
def function():
output = glob.glob(path_1 + './*.shp')
x = 0
while output[x]:
for fname in glob.glob("*.shp"):
outputs_1 = processing.runandload("qgis:fieldcalculator", output[x], 'Number', 1, 10, 0, True, 1 , "C:\Users\Me\Desktop\Output\\" + fname)
multiple_0 = glob.glob("*.shp")
x = x + 1
if x + 1 > len(output):
processing.runalg("saga:mergeshapeslayers", output[0], ";".join(multiple_0) , Result)
break
else:
continue
if path_1:
function()
else:
pass
glob.glob(path_1 + './*.shp')
definiert wird, wo sich die .shp-Dateien befinden. und glob.glob("*.shp")
ruft die Dateinamen der .shp-Dateien ab. Bitte korrigieren Sie mich, wenn ich mich irre.
Z
? Was macht derfunction(Z)
Aufschlag, wenn er nichts zurückgibt? Was ist der Unterschied zwischenglob.glob(Z + './*.shp')
undglob.glob("*.shp")
?