资源预览内容
第1页 / 共58页
第2页 / 共58页
第3页 / 共58页
第4页 / 共58页
第5页 / 共58页
第6页 / 共58页
第7页 / 共58页
第8页 / 共58页
第9页 / 共58页
第10页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ArcPython,地理处理大杀器Esri(中国)信息技术有限公司西安分公司 严瑞、范 秦光大家好,我是Esri西安办严瑞,很荣幸能够在2016年第一堂公开课 和大家见面,在这里给大家拜一个晚年,祝各位新的一年身体健康、万事如意!需要跟大家说一声抱歉,由于我嗓子发炎,声音嘶哑,本堂课我将会用旁边文字替代音频的形式来完成,小伙伴们另:本堂课是以实战练习为主的课,所以更多的内容是以实际操作为主,大家只要看明白我的练习操作就可以,课后会将所有源码和数据提供给大家,是全部哦!希望各位小伙伴们能够理解!顺便可以体验一下Esri中国史上第一堂”无声公开课“哦!1ArcPython在ArcGIS中的用法2与ArcGISDesktop实战篇3与ArcGISServer实战篇4总 结注:本讲座针对有一定python和arcpy基础的朋友第三部分内容我 邀请了我的同事 范秦光同学为大 家讲解,他在 server与python的 结合应用中具有 丰富的经验,这 一部分内容大概 有十五分钟的时 间,在这里感谢 范范!从未了解过ArcGIS中Python的朋友请先看.优酷搜索关键词“ArcGIS Python”1.现有工具实现不了,可以用python2.流程化需要时,可以使用python3.没有AE等二次开发环境4.其他特殊场景什么情况下使用ArcPython?优点:便捷 、轻量级ArcPythonArcPython在在ArcGISArcGIS中的用法中的用法ArcGIS中python的几种用法1.字段计算器2.制作成gp工具3.Python windowArcGIS中python的几种用法4.Python Add-in5.在ArcGISServer中使用python与与DesktopDesktop实战篇实战篇为大家重磅打造典型应用 案例22个1.自增计算 (字段计算器)total = 0 def accumulate(increment): global total if total: total += increment else: total = increment return total为ID字段值设置自增2.记录地块权属人变更的要素(字段计算器)判断土地权属人是否变化,不变则Mark 值为1,否则为02.记录地块权属人变更的要素(字段计算器)权属人没有变更权属人变更将存储在字段值中类似379.826的数据处理成K379+8263.桩号数据处理(字段计算器)第一步:!桩号! .replace(“.“,“+“) 第二步:“K“+ !桩号! 交通行业通常需要将道路 的里程数据存储成 K389+34的形式。1.自增计算2.记录地块权属人变更的要素3.桩号数据处理操作演示:import arcpyfrom arcpy import envenv.workspace=rC:UsersyanruiDocumentsArcGISDefault.gdbfcs = arcpy.ListFeatureClasses()for fc in fcs:arcpy.Delete_management(fc)4.删除Default.gdb中的所有要素类、表、栅格批量删除要素类:rasters=arcpy.ListRasters()for raster in rasters:arcpy.Delete_management(raster)批量删除栅格:批量删除表: tables = arcpy.ListTables()for table in tables:arcpy.Delete_management(table)ArcGIS Desktop安装好后 环境变量中默认输出路 径是在C盘的 Default.gdb中,我们通 常需要清理这个文件 夹。但Toolbox没有批量 清理,这里可以使用 python5.空间随机抽取若干数这个案例是帮助一个客 户从一个要素类中随机 抽取若干个数据。然后 再输出。6.地震目录自动空间化第一步:Eclipse下载PyDev插件 第二步:下载cx_Oracle.pyd包 第三步:代码实现 第四步:Windows设置计划任务本练习在eclipse环境中完成(Eclipse环境中)将存储在oracle中的地震 数据(包含x,y,时间, 地点)动态的插入到矢量 数据中。这个脚本是在 eclipse环境中完成,为小 伙伴们提供了文档操作说 明文档。!type! +%d % !ID!7.相同字段值排序对同一类种植地数据进行排序,原始字段 是type,更新后是code字段。8.插入点(制作成GP工具、发布服务、js页面调用)使用arcpy结合python,给一个点图层插 入数据,制作成gp工具。8.插入点(制作成GP工具、发布服务、js页面调用)详细详细 操作步骤骤 请请参见见操作 手册:工具发布成服务,以及js页面调用过程都 在操作文档中,文档会提供给小伙伴们。4.删除Default.gdb中的所有要素类、表、栅格5.空间随机抽取若干数6.地震目录自动空间化7.相同字段值排序8.插入点操作演示:9.字段拆分9.字段拆分10.读取Excell数据生成多边形11.读取txt生成多边形12.图层批量合并9.字段拆分10.读取Excell数据生成多边形11.读取txt生成多边形12.图层批量合并操作演示:13.shp数据至mdb14.打印线段折点坐标import arcpymxd = arcpy.mapping.MapDocument(r“C:ProjectProject.mxd“) mxd.findAndReplaceWorkspacePaths(r“C:ProjectData“, r“C:ProjectData2“)mxd.saveACopy(r“C:ProjectProject2.mxd“) del mxd15.修复数据链接数据源批量替换:打印数据连接损坏的图层:import arcpymapdoc = arcpy.mapping.MapDocument(“CURRENT“)brokenlist=arcpy.mapping.ListBrokenDataSources(mapdoc)for lyr in brokenlist:print lyr.namedel mapdoc16.修改栅格数据分辨率ApplyEnvironment函数: 仅仅限于Cell size, Current Workspace, Extent, Mask, Output Coordinate System, Scratch Workspace, 和Snap Raster等操作17.批量出图18.坡度分级提取并计算面积13.Shp数据至mdb14.打印折线节点15.略16.修改栅格数据分辨率17.批量出图18.坡度分级提取计算面积操作演示:下载Python Add-In Wizard:http:/www.arcgis.com/home/item.html?id=5f3aefe77f6b4f61ad3e 4c62f30bff3b19.缩放至选中的features(Python Add-In)详细详细 操作步骤骤 请请参见见操作 手册:python add-in插件支持的最小版本是10.1,默认也是10.1,我机器上安装的是ArcGIS Desktop10.3,所以需要修改config.xml里面的版本号,否则在安装插件时会报“No GUI components found in this Add-in.Add-In version does not match”:注意:20.栅格数据批量拷贝至对应文件夹21.获取多边形顶点http:/ianbroad.com/ Download free GIS geoproccessing tools, learn about ESRIs ArcGIS and ArcPy, get field calculator tips, and more22.制图脚本样例19.缩放至选中的features20.栅格数据批量拷贝至对应文件夹21.获取多边形顶点20.制图脚本样例操作演示:下面的内容,有请范秦下面的内容,有请范秦光范范同学光范范同学为大家讲解为大家讲解与与ServerServer实战篇实战篇http:/server.arcgis.com/zh-cn/server/latest/administer/linux/scripting-arcgis-server-administration.htmn ArcGIS Server 命令行实用程序n 使用 ArcGIS REST API 编写Python脚本n 利用ArcPy 编写Python脚本实现服务的发布 位于ArcGIS for Server安装目录tools/admin目录下 提供一套管理ArcGIS Server的脚本命令行工具1、ArcGIS Server 命令行实用程序1、ArcGIS Server 命令行实用程序可以进行下列操作n 启动和停止服务n 从集群添加和移除计算机n 从服务定义 (.sd) 文件发布服务n 备份或还原站点配置n 定义新地图缓存n 构建和删除地图缓存n 在松散和紧凑格式之间转换地图缓存实战演练:通过Terminal终端调用使用1、ArcGIS Server 命令行实用程序实战案例: 使用Python调用ArcGIS Admin API修改ArcGIS Server参数客户需求介绍:在客户的业务中,对ArcGIS for Server的安装全部是通过脚本自动一键执行,因为客户使用的GP服务以及地图服务数量多高并发并且要求7X24小时运行,因此通过Python调用ArcGIS Admin API构造可执行脚本,ArcGIS Server安装完成后,调用该脚本,调整ArcGIS for Server的默认配置。2、使用 ArcGIS REST API 编写Python脚本实战案例: 使用Python调用ArcGIS Admin API修改ArcGIS Server参数通过Python构筑HTTP requests,将App server maximum heap size和SOC maximum heap size的值分别修改为512和128。2、使用 ArcGIS REST API 编写Python脚本实战案例: 使用Python调用ArcGIS Admin API修改ArcGIS Server参数l步骤1运行脚本时需要有管理员权限,必须提供一个具有管理员权限的用户名和密码:l 步骤2在脚本中获取和使用令牌l步骤3配置参数,构筑请求2、使用 ArcGIS REST API 编写Python脚本案例1、使用Python发布构筑GP服务客户需求介绍:大量的图片(.tif .jpg)并且带有记录坐标信息的文件(.tfw .jpgw),需要将这些文件导入到SDE数据库中,作为背景底图使用。3、利用ArcPy 编写Python脚本实现服务的发布Python、ArcPy APIArcCatalogArcToolboxArcMap(Share As Service)或 ArcPy发布SD设计和制作脚本制作脚本工具调试运行、发布服务设计和制作脚本l步骤1定义参数l 步骤2将图片作为栅格数据集导入到临时工作空间中、并定义空 间参考l步骤3配进行投影变换,输出路径设置为SDE数据库3、利用ArcPy 编写Python脚本实现服务的发布制作脚本工具3、利用ArcPy 编写Python脚本实现服务的发布调试运行、发布服务3、利用ArcPy 编写Python脚本实现服务的发布案例2、使用Python发布地图服务客户需求介绍:在客户的业务中,预先定义好地图文档(.mxd),根据业务数据变化动态替换其中的图层数据,然后将其发布成地图服务。准备地图文档构思设计
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号