使用QGIS的脚本批量进行clip操作

在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,但由于实在是太慢,无法忍受,遂放弃。

This entry was posted in gis.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">