普通视图
美股大型科技股盘前多数下跌,奈飞涨超7%
海泰发展:因公司涉嫌信息披露违法违规,证监会决定对公司立案
比音勒芬:控股股东之一致行动人拟1亿元—2亿元增持公司股份
小米汽车:将筹建安全顾问委员会及公众安全沟通机制
ArcPy,一个基于 Python 的 GIS 开发库简介
^ 关注我,带你一起学GIS ^
ArcPy是什么?下面这是来自ESRI中文官网的原话。
❝
ArcPy 是 Python 站点包,用于以有用且实用的方式使用 Python 执行地理数据分析、数据转换、数据管理以及制图自动化。
ArcPy 主要用于核心 GIS 应用程序。 它是一个 Python 软件包,提供了一种方法来执行与地理数据分析、数据转换、数据管理和地图自动化相关的各种任务,并可使用 Python 访问大约 2,000 个地理处理工具。它需要 ArcGIS 产品才能使用,如 ArcGIS Pro、ArcGIS Server 或 ArcGIS Notebooks。可通过 ArcPy 自动执行重复性任务,创建自定义地理处理工作流并扩展 ArcGIS Pro 的功能。 包括访问行业领先的空间分析和空间机器学习算法。它用于处理本地计算机上的数据、执行分析以及使用 ArcGIS Pro 自动执行任务。
我的理解为ArcPy是ESRI公司开发的基于Python的GIS数据处理、转换、分析的脚本。
AcyPy源于ArcGIS 9.2中所采用的arcgisscripting模块,并且集成在ArcGIS 10中。此后,AcyPy一直集成在ArcGIS 10.x中,并跟随ArcGIS一起发布,笔者最早接触的版本为最经典的版本ArcGIS 10.2,这个版本估计现在仍然有许多的使用者。直到后来ArcGIS Pro问世,AcyPy便集成在ArcGIS Pro中。
ArcPy 提供了一种用于开发Python脚本的功能丰富的动态环境,同时提供每个函数、模块和类的代码实现和集成文档。
下面将以ArcGIS Pro中集成的ArcPy进行讲解。在ArcPy中,主要包含以下十大模块。
- Charts (arcpy.charts)
- Data Access (arcpy.da)
- Geocoding (arcpy.geocoding)
- Image Analysis (arcpy.ia)
- Mapping (arcpy.mp)
- Metadata (arcpy.metadata)
- Network Analyst (arcpy.nax and arcpy.na)
- Sharing (arcpy.sharing)
- Spatial Analyst (arcpy.sa)
- Utility Network (arcpy.un)
这十大模块包含了GIS数据处理、转换、分析的各方面,在学习中,可针对各模块进行专项练习。![]()
既然ArcPy基于Python解释器,那么想要运行ArcPy脚本,就需要安装Python环境,而这已经集成ArcGIS产品中了,在ArcGIS10.x中集成的是Python2,ArcGIS Pro中集成了Python3。
1. 导入ArcPy
ArcPy模块的导入非常简单,可直接通过import arcpy导入。
# Import arcpy
import arcpy
# Set the workspace environment and run Clip
arcpy.env.workspace = 'E://data//arcpy'
arcpy.analysis.Clip("polygon.shp", "clip_feat.shp", "E://data//arcpy//standby_clip")
2. 运行ArcPy
在Python窗口中写入以下代码。打开ArcGIS Pro软件,选择菜单栏视图View,点击Python window。借助Python窗口交互式控制台,可以通过Python解释程序直接在ArcGIS Pro中运行Python代码,而无需脚本文件。 可在该窗口中运行的Python代码包括单行代码,也包括复杂的多行代码块。
在窗口中输入以下代码,按回车运行。
# Import system modules
import arcpy
# Set workspace
arcpy.env.workspace = "E://data//arcpy"
# Set local variables
in_features = "polygon.shp"
clip_features = "clip_feat.shp"
out_feature_class = "E://data//arcpy//standby_clip"
# Run Clip
# arcpy.analysis.Clip("polygon.shp", "clip_feat.shp", "E://data//arcpy//standby_clip", 1.25)
arcpy.analysis.Clip(in_features, clip_features, out_feature_class)
也可以使用编辑器写入以上代码,在命令行窗口中运行脚本。![]()
3. 查看帮助
Python提供文档字符串功能。ArcPy中的函数和类在包文档中使用该方法。读取这些消息以及获取帮助的方法之一是运行Python提供的help命令。使用参数运行该命令会显示对象的调用签名和文档字符串。
import arcpy
help(arcpy)
![]()
4. ArcPy 基本词汇
主要介绍了要理解ArcPy帮助需要掌握的一些词汇,具有模块、类、函数等。![]()
5. ArcGIS API for Python
还有一个需要区分一下ArcPy和ArcGIS API for Python
ArcGIS API for Python 是为WebGIS而设计的。 它是一个为执行GIS可视化和分析、空间数据管理和GIS系统管理任务提供广泛功能的Python库。
既可以交互使用,也可以通过脚本使用,使其成为GIS专业人员的通用工具。ArcGIS API for Python随附于ArcGIS Pro,但也可以与ArcGIS Online或ArcGIS Enterprise配合使用。借助ArcGIS API for Python,您可以创建和操作GIS数据、执行空间分析、将地图和图层发布到Web等。 您可以使用托管在ArcGIS Online 或ArcGIS Enterprise上的GIS数据和服务,并使用Python创建Web应用程序。它用于管理和分析WebGIS数据、自动化管理任务以及创建Web地图和应用程序。
参考资料
https://desktop.arcgis.com/zh-cn/arcmap/latest/analyze/python/importing-arcpy.htm#ESRI_SECTION1_5E64CCAB40C24B0DB1ED80EF96176F73https://pro.arcgis.com/zh-cn/pro-app/latest/arcpy/get-started/python-window.htm
![]()
❝
GIS之路-开发示例数据下载,请在公众号后台回复:vector
全国信息化工程师-GIS 应用水平考试资料,请在公众号后台回复:GIS考试
❝
GIS之路 公众号已经接入了智能 助手,可以在对话框进行提问,也可以直接搜索历史文章进行查看。
都看到这了,不要忘记点赞、收藏 + 关注 哦 !
本号不定时更新有关 GIS开发 相关内容,欢迎关注 ![]()
![]()
![]()
关于 PyQT5 和 GDAL 导入顺序引发程序崩溃的解决记录