一些关于基于Python的ArcGIS脚本编程的知识点,第一篇是一些零散知识点的简要总结。
目录
1. ArcGIS中的组件—ArcObjects
Esri主要使用C++开发ArcGIS软件,在ArcGIS软件中,所有的组件或者对象被统称为
ArcObjects
。
ArcObjects部分知识点如下:
- ArcObjects库包含了esri公司开发ArcGIS软件用到的所有编程对象,开发人员可以使用ArcObjects构建新的应用程序或扩展ArcGIS应用程序现有功能。
(个人理解:既然如此,我们是可以用这些AO对象搭建一个新的ArcGIS软件如ArcMap、ArcCatalog等的,ArcObjects包含了数以千计的对象,但是需要与系统语言配合使用。)
- 大部分系统工具和整个地理处理框架的构建也是通过ArcObjects完成的;
- Esri对整个ArcObject(AO)进行了结构和组织的分割,按照应用领域可以分为:
- 3D Analysis Extension
- Application Framework
- Arcmap
- ArcCatalog
- Geodatabase
- Geometry等等
2. ArcGIS中的Python语言
Python也是ArcGIS采用的程序语言,但是不像C++一样用于底层开发,仅仅用于相对简单的脚本编程和高级程序设计
。
3. ArcGIS中的工具种类
○ 内置工具
:由ArcObjects以及.Net和C++的编译型程序语言构建;
○ 模型工具
:ModelBuilder;
○ 脚本工具
:由python编写;
○ 特殊工具
:这种工具是由系统开发人员开发的,很少见。我记得是在哪里见过,但是忘了。
4. ArcGIS中设置“覆盖地理处理”
在【Geoprocessing】→】Geoprocessing Options】中具有此选项,默认关闭,若打开,即表明在工具使用时,若输出的数据已经存在,将出现一条警告消息,但是工具仍旧可以运行,只不过会覆盖掉已经存在的数据集。具体如下图:
5. ArcGIS中环境设置的级别理解
-
第一层次:
-
在ArcToolBox窗口空白处,右键选择
Environments
,将会出现环境设置对话框,这里的所有环境设置将会传递给所有通过ArcToolBox使用的工具;
第二层次:
-
即每一个工具你双击打开准备运行时都将在下方出现一个Environment选项,通过它设置的环境变量将仅仅针对于当前运行的工具,它将覆盖掉第一层次的环境设置;
第三层次:
-
即在ModelBuilder中的环境设置,它将覆盖掉第一层次和第二层次的环境设置;
第四层次:
-
即我们在python脚本中具体写了环境的具体设置,即例如使用了脚本语言更改了环境中的临时工作空间,当前工作空间等。
这一级别最高,它可以覆盖掉前面三个层次ide环境设置。
应用程序级的环境设置
工具级环境设置
模型级环境设置
脚本级环境设置
6. ArcGIS工具中的批处理Batch
所有的地理处理工具都可以进行
批处理
(只不过我们平时没有用到而已)
具体步骤为:右键某一工具,选择【Batch】:
此时将会打开盖工具的批处理对话框,如Clip工具的批处理如下:
我们可以通过复制粘贴
或者Fill选项
等来快捷输入参数。同时右下方√
表示对输入参数进行验证,如果输入参数有误,则将报错。
7. 设置定时运行某一脚本
可以在电脑【控制面板】→【管理工具】→【任务计划程序】中新建基本任务,根据向导创建一个定时运行某一个python脚本的程序。具体不再赘述。
8. python窗口选项介绍
从ArcMap中进入Python窗口后右键,将出现一些快捷命令:
其中简单的不说了,提出以下两个:
- Show Default Choices :选中时,将开启代码自动补全,反之则关闭;
- Load:可以将脚本文件中的代码加载到python窗口中。
–原创文章,转载必须注明出处–