Jawaban:
Tentu Anda bisa mendapatkan fungsinya dari kotak alat pemrosesan. Berikut cara menggunakannya: Sesuai http://docs.qgis.org/2.8/id/docs/user_manual/processing/console.html
Dari konsol Anda bisa mendapatkan daftar semua algoritma yang tersedia yang berisi kata "klip" dengan mengetik:
import processing
processing.alglist("clip")
Kemudian Anda bisa mengetahui cara menggunakan fungsi apa yang tampaknya paling sesuai dengan:
processing.alghelp("qgis:clip")
Kemudian cukup gunakan algoritma dalam skrip Anda sebagai berikut:
processing.runalg("qgis:clip",inputlayer,overlaylayer,"output_file.shp")
Catatan: Algoritme hanya akan berfungsi pada fitur yang digeser "
Catatan di atas kode tidak valid untuk 3.0+ untuk contoh alglist yang dapat Anda lakukan:
print([a.id() for a in gsApplication.processingRegistry().algorithms() if "clip" in a.id()])
untuk contoh alghelp yang dapat Anda lakukan:
processing.algorithmHelp("qgis:clip")
Untuk QGIS3 lihat pertanyaan ini:
Layer = qgis.utils.iface.activeLayer()
dan InputLayer = qgis.utils.iface.activeLayer()
. Kemudian saya gunakan processing.runandload("qgis:clip",InputLayer,Layer,"output_file.shp")
dan layer baru ditambahkan ke menu Layers dengan nama Terpotong . Tetapi lapisan itu kosong. Jika saya menggunakan dua layer ini dengan fungsi klip di dalam Qgis, layer output memiliki garis-garis dari kliping. Adakah yang salah? Saya tidak mendapatkan kesalahan.
Dengan asumsi bahwa Anda memiliki lapisan yang disebut "overlay" dan yang lain disebut "layer_to_clip" dimuat.
# get the overlay layer in the console
overlay_layer = [x for x in iface.legendInterface().layers() if x.name() == 'overlay'][0]
# get the layer to clip in the console
layer_to_clip = [x for x in iface.legendInterface().layers() if x.name() == 'layer_to_clip'][0]
# run the algorithm and output the results in /tmp/output.shp
processing.runalg("qgis:clip", overlay_layer, layer_to_clip, "/tmp/output.shp")