Obecnie używam następującego kodu do scalenia dwóch warstw wektorowych:
def append_layers(layer1, layer2, output):
from processing.core.Processing import Processing
Processing.initialize()
import processing.tools
processing.tools.general.runalg("qgis:mergevectorlayers", layer1, layer2, output)
append_layers(layer1.shp, layer2.shp, output.shp)
Wydaje się, że działa to dobrze w QGIS 2.14, jednak nie powiedzie się w 2.18.1 z następującym komunikatem:
Error: Wrong number of parameters
ALGORITHM: Merge vector layers
Czy jest coś, co zmieniło się między 2.14 a 2.18? A może po prostu brakuje mi czegoś naprawdę oczywistego?
qgis
pyqgis
qgis-processing
JamieTasker
źródło
źródło
Ponieważ wypróbowanie powyższej odpowiedzi powoduje dla mnie wyjątek (
l1
il2
oba są typuQgsVectorLayer
, konsola Python QGIS 2.18.17)próbowałem
z powodzeniem.
Przekazywanie
<ParameterMultipleInput>
jako lista python jest rozwiązaniem tego problemu.źródło