使用QGIS的指令碼批量進行clip操作

2021-07-03 03:56:59 字數 972 閱讀 3710

在qgis中本身提供了批量執行clip的工具,但是在設定輸出引數的時候需要乙個乙個的輸入,很麻煩,並且容易出錯,特別是在圖層要按地區不停的clip的時候,簡直是無法忍受,還好可以自定義指令碼,指令碼如下:

input=r'/users/a/documents/data/shp/'

output=r'/users/a/documents/data/clip/'

admin=r'/users/a/documents/data/admin.shp'

processing.runalg("qgis:clip", admin,input+'a.shp',output+'a.shp')

processing.runalg("qgis:clip", admin,input+'b.shp',output+'b.shp')

processing.runalg("qgis:clip", admin,input+'c.shp',output+'c.shp')

processing.runalg("qgis:clip", admin,input+'d.shp',output+'d.shp')

processing.runalg("qgis:clip", admin,input+'e.shp',output+'e.shp')

processing.runalg("qgis:clip", admin,input+'f.shp',output+'f.shp')

processing.runalg("qgis:clip", admin,input+'g.shp',output+'g.shp')

processing.runalg("qgis:clip", admin,input+'h.shp',output+'h.shp')

使用該指令碼的時候,只要重新設定一下目錄和clip圖層即可批量完成。

同樣的對於批量投影等操作也可以這麼操作。

使用ogr2ogr工具也可以實現通過python指令碼批量clip,但由於實在是太慢,無法忍受,遂放棄。

Qgis 裡的Python指令碼介紹

執行qgis指令碼,對於桌面應用來講有4種方式 qgis服務端繫結 啟動指令碼可以通過指定環境變數pyqgis startup來指定啟動時執行的指令碼。也可以編輯位於安裝目錄.qgis2 python startup.py 檔案。通過選單 plugins python console 來開啟。如何建...

mybatis使用foreach進行批量儲存

mysql下批量儲存 mysql支援語法 inset into table values 可以使用foreach進行遍歷儲存 第一種方法 insert into employee last name,email,gender values 第二種方法 傳送多條sql 也是使用foreach,每次遍歷...

使用DOM指令碼進行下拉

亞倫 古斯塔夫森 aaron gustafson 整理了一系列有關如何使選定元素樣式化的文章 本質上,他的工作是從dom中刪除選擇並用ul代替它,然後新增指令碼和css使ul像下拉列表一樣工作。這給所有曾經抱怨過選擇不合理的人提供了明顯的好處!該系列才剛剛開始,並且存在一些問題 新元素無法切換,並且...