基于arcpy开发arcgis工具

  • 1.添加工具
  • 2.使用方法
    • 2.1批量添加坐标系脚本
      • 工具简介
      • 工具源码
    • 2.2批量添加字段脚本
      • 工具简介
      • 工具源码
    • 2.3更新属性表脚本
      • 工具简介
      • 工具源码
    • 2.4批量连接表脚本
      • 工具简介
      • 工具源码
  • 3.工具分享
  • 4.参考

1.添加工具

1、把压缩包解压缩,把里边的文件放到合适的位置。
2、在arcgis“目录”里点击“连接到文件夹”,将脚本工具所在的文件夹连接到目录里。

3、右击“批量添加坐标系”点击“属性”,进行属性修改。

4、点击“源”,找到之前解压的.py文件添加进来,点击“确认”,完成工具添加。

2.使用方法

2.1批量添加坐标系脚本

工具简介

双击工具,显示操作页面,添加需要添加坐标系的要素类,选择所添加的坐标系,点击确定,完成要素类批量添加坐标系。

工具源码

#Script to Import data to a feature class within a geodatabase
import arcpy, os,sys
reload(sys)
sys.setdefaultencoding('utf-8')inputs=arcpy.GetParameterAsText(0)
coor_system=arcpy.GetParameterAsText(1)
inputlist = inputs.split(';')
for input in inputlist:arcpy.DefineProjection_management(input, coor_system)

2.2批量添加字段脚本

工具简介

所用到的字段文本编辑格式为
字段名、字段别名(可选)、字段类型、字段长度(可选)、字段中可储存的数字位数(可选)、字段中储存的小数点位数(可选)。中间用英文逗号隔开,(可选)的在不需要时不用写上。
如:
FCODE,TEXT,50,
FSCALE,LONG,
USOURCE,TEXT,50,
UPDATETIME,TEXT,50,
UPDATESTATUS,TEXT,1,
status,TEXT,1,
字段类型有TEXT(文本)、FLOAT(单精度浮点)、DOUBLE(双精度浮点)、SHORT(短整型)、LONG(长整型)、DATE(日期)、BLOB(影像或多媒体)、RASTER(栅格影像)、GUID(GUID values),根据需要进行选择。

工具源码

#Script to Import data to a feature class within a geodatabase
import arcpy, os,sys
reload(sys)
sys.setdefaultencoding('utf-8')inputs=arcpy.GetParameterAsText(0)
inputlist = inputs.split(';')
for input in inputlist:#arcpy.env.workspace = os.path.split(input)[0]#arcpy.env.workspace = inputf=open(arcpy.GetParameterAsText(1),"r")#lines=f.readlines()line=f.readline()#for line in lines:while line:lineList=line.split(',')#add fieldarcpy.AddField_management(input,field_name=lineList[0],field_alias=lineList[1],field_type=lineList[2],field_length=lineList[3],field_precision=lineList[4],field_scale=lineList[5].replace("\n",""))line=f.readline()#close the txt filef.close()

2.3更新属性表脚本

工具简介

所用到的更新字段文本编辑格式为
更新字段名,更新值,中间用英文逗号隔开。
如:
UPDATESTATUS,B
status,B

工具源码

#Script to Import data to a feature class within a geodatabase
import arcpy, os,sys
reload(sys)
sys.setdefaultencoding('utf-8')inputs=arcpy.GetParameterAsText(0)
f=open(arcpy.GetParameterAsText(1),"r")
lines=f.readlines()
inputlist = inputs.split(';')
for input in inputlist:cursor = arcpy.UpdateCursor(input)for my_row in cursor:for line in lines:lineList=line.split(',')my_row.setValue(lineList[0],lineList[1].replace("\n",""))#####14cursor.updateRow(my_row)     del my_row#close the txt filedel cursor
f.close()

2.4批量连接表脚本

工具简介

其中连接字段为字段名中间用英文分号隔开
如:
省代码;温编码
此脚本使用中可能会遇到“没有OID”的问题,原因是为连接的表中没有OBJECTID这一列,此字段为软件自动生成的,无法认为修改,通过将表格导入到gdb中,得到的表自动带有OBJECTID,此脚本便可正常使用。

工具源码

#Script to Import data to a feature class within a geodatabase
import arcpy, os,sys
reload(sys)
sys.setdefaultencoding('utf-8')inputs=arcpy.GetParameterAsText(0)
joinTable=arcpy.GetParameterAsText(1)
joinFieldA=arcpy.GetParameterAsText(2)
joinFieldB=arcpy.GetParameterAsText(3)
inputfields=arcpy.GetParameterAsText(4)
fieldList = inputfields.split(';')
#fieldList[-1]=fieldList[-1].replace("\n","")
inputlist = inputs.split(';')#13
for input in inputlist:inputsfields=arcpy.JoinField_management (input, joinFieldA, joinTable, joinFieldB, fieldList)

3.工具分享

以上所有工具已上传至基于arcpy开发的arcgis工具,欢迎有兴趣的朋友参考学习。
网盘链接
提取码:c6w8

4.参考

ArcPy批量化入门篇
ArcGIS Python编程案例-创建自定义地理处理工具
ArcPy批量选择指定属性的要素
ArcGIS使用Python脚本工具
ArcGis Python脚本——批量添加字段
使用arcpy进行批量的空间连接

基于arcpy开发arcgis工具相关推荐

  1. pythonarcgis插件_【直播】基于Python开发ArcGIS插件:Python Add-in丨城市数据派

    原标题:[直播]基于Python开发ArcGIS插件:Python Add-in丨城市数据派 Add-in是什么? Add-in(加载项)是一种自定义项(例如工具栏上的工具集合),Add-in可以插入 ...

  2. python in arcgis_【直播】基于Python开发ArcGIS插件:Python Add-in

    活动时间:2020-09-12 ~ 2020-09-12 Add-in是什么? Add-in(加载项)是一种自定义项(例如工具栏上的工具集合),Add-in可以插入到 ArcGIS Desktop 应 ...

  3. 【基于obs开发推流工具教程】-context 多线程问题

    微软的文档讲wglMakeCurrent时并没有说清楚一些问题:它讲这样用是可以的: A thread用 wglCreateContext建立context: B thread用wglMakeCurr ...

  4. 【基于obs开发推流工具教程】-opengl和Direct 11纹理效果统计

    纹理效果统计 1, area.effect - 面积效果 bicubic scale.effect -双立方刻度 bilinear lowres scale.effect-双线性低分辨率 deinte ...

  5. IDEA基于kotlin开发android程序配置小结

    IDEA功能极其强大,和微软的宇宙第一IDE不相上下.用了很长时间,对它配置的完善性产生了近乎迷信的感情.似乎只要走正常渠道,用它来配置,没有不成功的. IDEA是开发android原生程序的利器,a ...

  6. arcgis中python批处理_基于Python的ArcGIS空间数据格式批处理转换工具开发

    基于 Python 的 ArcGIS 空间数据格式批处理转换工具开 发 焦 洋,邓 鑫,李胜才 [摘 要] 摘 要 ArcGIS 仅提供了单个文件的空间数据格式转换工具.本文首先 研究基于 Pytho ...

  7. 基于Python的ArcGIS二次开发实验实习教程

    基于Python的ArcGIS二次开发实验实习教程. ISBN编号: 9787307221772 原价(定价): 39元, 武汉大学出版社 天猫正版链接: https://detail.tmall.c ...

  8. 使用php开发,基于swoole扩展开发的工具 swoole-crontab

    2019独角兽企业重金招聘Python工程师标准>>> 使用php开发,基于swoole扩展开发的工具 swoole-crontab https://www.oschina.net/ ...

  9. Scriptis安装(基于Linkis开发的数据分析工具)

    Scriptis是基于Linkis开发的数据分析工具,部署Scriptis前需要先将Linkis进行部署,Linkis的部署手册见:Linkis部署手册 1.准备工作 点击release 选择对应的安 ...

最新文章

  1. Python--数据存储:pickle模块的使用讲解
  2. R语言配对图可视化:pivot_longer函数将宽格式的数据重塑为长格式并进行数据全连接和左连接(left join)、配对图可视化(根据分类变量的值为散点图上的数据点添加颜色)
  3. Knockout v3.4.0 中文版教程-9-计算监控-API参考
  4. 二叉树的后序遍历Python解法
  5. 3d展示网页开发_超实用:一篇文章带你了解市面上主流通用的3D模型格式
  6. redis常用命令(基础篇)
  7. eclipse上的.properties文件中文编辑显示问题
  8. C++ Copy Elision
  9. sql server 触发器
  10. 关于 nth-child(n)的几种写法。
  11. [WinError 3] 系统找不到指定的路径。: ‘./flower_data/train‘ 问题解决
  12. 11n/11ac/11ax 速率速查表
  13. AppStore跳转链接
  14. oracle apex 日志,Oracle Apex 实用笔记系列 1 - Oracle Apex 调试技巧
  15. 物联网云平台的角色有哪些?
  16. Anaconda使用感悟
  17. Three.JS游戏开发入门
  18. JAVA计算机毕业设计道路桥梁工程知识文库系统Mybatis+系统+数据库+调试部署
  19. java画股道站图_「游资股道指标库」通达信操盘主图分析公式
  20. 无人便利店风口盛起,谁是最后赢家?

热门文章

  1. 龙光集团布局广州,以龙光·天皓为业主拾起温度
  2. 小时候java大富翁游戏有哪些_成就你的富翁梦!童年经典《大富翁》系列10款游戏玩到爽!...
  3. 如何修改C盘用户目录下的用户名
  4. 破解软件人才“招聘难就业难”
  5. 表格渲染 解决BootStrap3徽章没有背景颜色的问题(BootStrap4有)
  6. 2019年上半年人工智能产业数据概览
  7. Win7系统下搭建NFS服务器
  8. 服务器wifi无线放大器,一回家WiFi信号太弱?教你用两毛钱制作信号放大器
  9. 金仓数据库KingbaseES的表空间
  10. HDOJ 2080 数学