虽然Arcgis中提供了批处理功能,但是应用场景仍然有限。比如,我们要对100份遥感图片进行栅格计算的Con函数,每一个图像都要输入不同的参数,是否要重复操作100次?又比如,有时需要通过Arcgis处理数据,导出后再通过python中的机器学习模型运行结果。如果需要测试不同参数下模型的运行效果,那是否每次运行都要重复在Arcgis中处理数据再导出到Python运行模型?
Arcpy是Esir官方编写的python扩展包,通过Arcpy可以调用Arcgis中的相关工具箱进行空间处理,通过程序化的思维可以大大提高我们的数据处理效率。
我们可以在python中处理好Arcgis工具要用的参数 通过循环多次调用工具,输入对应的参数,从而能一次处理大量的数据。 总之,通过学习Arcpy可以减少我们大量重复操作的工作时间,为数据处理贡献更大的力量。
AnacondaAnaconda是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。通过Anaconda可以快速创建python环境,一键安装升级对应的包。
安装 Arcpy 与 Anaconda的安装安装Arcgis后就已经集成了Arcpy,无需单独安装 Anaconda在(官方网站)下载安装包安装。 注意要将环境变量加进去。
环境配置1,确认python版本 首先进入Arcgis的安装目录,我这里的是“C:Program FilesArcGISProinPythonenvsarcgispro-py3”。打开python.exe,确认对应的python版本。如下显示要配置的是3.7.10版本的python 2,在Anaconda中创建python3.7.10环境 打开Anaconda Powershell Prompt (Anaconda3); 执行创建环境命令 conda create --name arcpyPro2-8 python=3.7.10 使用 conda env list查询创建的环境 使用 conda activate arcpyPro2-8激活刚刚创建的环境 3,复制Arcgis Pro中的python环境 arcgis中的python环境是无法修改的,也就是无法增加新的包。因此需要使用新建的环境运行。
复制Arcgis中的python环境文件夹,我电脑的路径是“C:Program FilesArcGISProinPythonenvsarcgispro-py3”
粘贴到Anaconda中刚刚新建的环境中,我电脑的路径是“ C:Anaconda3envsarcpyPro2-8”
4,添加路径 在Anaconda中找到ArcGISPro.pth路径文件,C:Anaconda3envsarcpyPro2-8Libsite-packages 打开文本,添加三条路径,指向Python包,Arcpy, Arcgis 和Arctool Box 都在Arcgis的安装文件夹内,我电脑的路径如下: C:Program FilesArcGISProinPythonenvsarcgispro-py3Libsite-packages C:Program FilesArcGISProin C:Program FilesArcGISProResourcesArcPy C:Program FilesArcGISProResourcesArcToolBox 5,安装spyder 使用conda install spyder安装spyder
6,运行spyder 输入下面两条指令即可运行spyder conda activate arcpyPro2-8 spyder
如下图,可以在spyder中调用Arcpy,读取地理数据库中的文件
参考文献: 1. http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference. 2. https://mermaidjs.github.io/. 3. https://mermaidjs.github.io/. 4. http://adrai.github.io/flowchart.js/.
新开通了本人的公众号,欢迎关注:燕南路GISer ,专注GIS干货分享,不定期更新。 主要兴趣:GIS、时空数据挖掘、python、机器学习深度学习 CSDN的部分内容会重写再搬迁到公众号,欢迎关注!