您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > ArcGIS中Python工具的制作-羽化效果
学号1421050102GIS软件应用实践报告ArcGIS中Python工具的制作学生姓名班级14地理1成绩指导教师2017年3月9日实习四、ArcGIS中Python工具的制作目的与要求:通过案例的学习,了解ArcGIS中可以通过两种方式来创建python工具,掌握标准工具箱下创建脚本工具的方法流程。了解工具的功能,分解工具实现需要的arcgis工具实验所需数据:InterestArea.shpInterestAreaWingFeaturing.lyr(由手动编辑而导出的)4.1准备Python脚本文件此自动羽化脚本小工具是在多环缓冲区工具的基础上进行的制作,和它的区别在于进行缓冲后的多环随距离的增大而颜色渐变淡。因此可参照【多环缓冲区】工具的脚本改制。【多环缓冲区】右击【编辑】打开脚本文件【MultiRingBuffer.py】将其拷贝到【IDLE】下编辑,要了解其中详细语法还需参考《面向ArcGis的Python脚本编程》一书。将其保存以备制作脚本工具【脚本文件】的输入。MultiRingBuffer.py代码:importarcgisscriptingimportarcpyimportosgp=arcgisscripting.create(9.3)InputFeature=gp.GetParameterAsText(0)OutputFeature=gp.GetParameterAsText(1)SingleRingWidth=gp.GetParameterAsText(2)distances=[]level=9bufferUnit='meters'NewField='Percent'foriinrange(level):distances.append(int(SingleRingWidth)*(i+1))i=i+1arcpy.AddMessage(Step1DistanceListComplete!)printStep1DistanceListComplete!ifarcpy.Exists(OutputFeature):arcpy.Delete_management(OutputFeature)arcpy.MultipleRingBuffer_analysis(InputFeature,OutputFeature,distances,bufferUnit,,ALL,OUTSIDE_ONLY)arcpy.AddMessage('Step2SuccesstoexecuteMuitiRingBuffer!')print'Step2SuccesstoexecuteMuitiRingBuffer!'arcpy.AddField_management(OutputFeature,NewField,double)arcpy.AddMessage(Step3SuccesstoAddTransparencyPercentField!)printStep3SuccesstoAddTransparencyPercentField!arcpy.CalculateField_management(OutputFeature,NewField,!FID!*10,PYTHON,)InputFeatureCount=int(arcpy.GetCount_management(OutputFeature).getOutput(0))ifInputFeatureCount==0:arcpy.AddWarning({0}hasnofeatur..format(OutoutFeature))print{0}hasnofeature..format(OutputFeature)else:arcpy.AddMessage(Step4SuccesstoCalculateTransparencyField.)printStep4SuccesstoCalculateTransparencyField.4.2脚本工具参数配置导出输出要素类的符号系统文件InterestAreaWingFeaturing.Lyr:在脚本文件【MultiRingBuffer.py】中将输入、输出和缓冲距设置特定的文件和值,在【IDLE】中运行,找到输出的.shp文件在ArcMap中打开,在【图层属性】【符号系统】中设置【多环缓冲】图层的填充颜色,设置轮廓颜色为【无颜色】,【高级】选【透明度】选择字段【Percent】。【多环缓冲】图层右击【另存为图层文件】将其保存【InterestAreaWingFeaturing.lyr】以备设置脚本工具输出要素的【符号系统】时使用。制作脚本工具:【我的工具箱】右击【新建】【工具箱(x)】在此工具箱下右击【添加】【脚本(s)】更改名称【下一步】【脚本文件】选择4.1中制作的脚本文件【MultiRingBuffer.py】【下一步】,设置参数,此顺序须和脚本文件中由对话框获取的值顺序对应。输出【OutputFeature】要素类,符号系统选择上步骤导出的【InterestAreaWingFeaturing.lyr】文件,若不填将不会自动羽化。4.3添加消息在脚本文件【MultiRingBuffer.py】中加入某步骤完成的提醒消息:printStep1DistanceListComplete!print'Step2SuccesstoexecuteMuitiRingBuffer!'printStep3SuccesstoAddTransparencyPercentField!printStep4SuccesstoCalculateTransparencyField.4.4显示运行结果4.5添加文档制作成的脚本工具【面外边界羽化】上右击【项目描述】选择【编辑】进行编辑。实验应用模块及功能制作脚本工具,根据用户需求制作ArcGis中不包含的工具。实验心得熟悉一下脚本工具的制作过程更加了解Python和ArcGis的关系,对Python和ArcGis的学习都有促进作用,为以后开发更加复杂的脚本工具奠定基础。
本文标题:ArcGIS中Python工具的制作-羽化效果
链接地址:https://www.777doc.com/doc-4359426 .html