前言
又到每日分享Python小技巧的时候了,今天给大家分享啥呢?大家要不要猜一猜,今天给大家分享矢量影像批量裁剪以及合并。
听起来有点不懂,看完你就懂了,扩展知识。
矢量批量裁剪的代码
在:chp10\python\矢量批量裁剪.tbx\矢量批量裁剪,可以直接运行,右键编辑查看代码
代码如下:
Python学习交流Q群:906715085###
#---------------------------------------------------------------------------
#1.py# Created on: 星期日 一月 10 2018 11:02:13 上午
#(generated by ArcGIS/ModelBuilder)
#Usage: 矢量图批量切割, by 闫磊 4个参数
#原始数据 是图层,可以多选
#切割工具是是接幅表 或者行政
#字段是输出mdb名称
#输出路径
#---------------------------------------------------------------------------
#Create Geoprocessing Object
import sys, os, string
import arcpyfrom arcpy import env
defaultencoding = 'utf-8'if sys.getdefaultencoding() != defaultencoding:
reload(sys)
sys.setdefaultencoding(defaultencoding)
arcpy.env.overwriteOutput = True
inworkspace = arcpy.GetParameterAsText(0)
arcpy.AddMessage("输入数据="+inworkspace)
clipshp = arcpy.GetParameterAsText(1)
arcpy.AddMessage("裁剪=clipshp"+clipshp)
fieldname= arcpy.GetParameterAsText(2)
arcpy.AddMessage("字段=fieldname"+fieldname)
outworkspace = arcpy.GetParameterAsText(3)
arcpy.AddMessage("输出="+outworkspace)
mdbbool = arcpy.GetParameterAsText(4)
arcpy.AddMessage("是否mdb="+mdbbool)
desc = arcpy.Describe(clipshp)
filepath=desc.CatalogPathp=filepath.find(".mdb")
ftype="String"for field in desc.fields:
if field.Name ==fieldname:
ftype=field.Type
breakarcpy.AddMessage(u"默认地理数据库:"+arcpy.env.scratchWorkspace)jfb_
Select=arcpy.env.scratchWorkspace+"\yl999"#不能c:\要c:\\或者 c:/
rows = arcpy.SearchCursor(clipshp)
#arcpy.AddMessage(u"5=执行到这里")row = rows.next()#arcpy.AddMessage(u"6=执行到这里")while row: #arcpy.AddMessage(u"7=执行到这里") fieldvalue =""+ str(row.getValue(fieldname)) #arcpy.AddMessage(u"值fieldvalue="+fieldvalue) if p>0: #mdb Expression="["+fieldname +"]=" else: Expression="\""+fieldname +"\"=" #arcpy.AddMessage(u"表达式Expression1="+Expression) if ftype=="String":
Expression