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中,主要包含以下十大模块。

这十大模块包含了GIS数据处理、转换、分析的各方面,在学习中,可针对各模块进行专项练习。

既然ArcPy基于Python解释器,那么想要运行ArcPy脚本,就需要安装Python环境,而这已经集成ArcGIS产品中了,在ArcGIS10.x中集成的是Python2,ArcGIS Pro中集成了Python3。

1. 导入ArcPy

ArcPy模块的导入非常简单,可直接通过import arcpy导入。

python 复制代码
# 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代码包括单行代码,也包括复杂的多行代码块。在窗口中输入以下代码,按回车运行。

ini 复制代码
# 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命令。使用参数运行该命令会显示对象的调用签名和文档字符串。

java 复制代码
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_5E64CCAB40C24B0DB1ED80EF96176F73
  • https://pro.arcgis.com/zh-cn/pro-app/latest/arcpy/get-started/python-window.htm

❝

GIS之路 -开发示例数据下载,请在公众号后台回复:vector

全国信息化工程师-GIS 应用水平考试资料,请在公众号后台回复:GIS考试
❝

GIS之路 公众号已经接入了智能 助手,可以在对话框进行提问,也可以直接搜索历史文章进行查看。

都看到这了,不要忘记点赞、收藏 + 关注 哦 !

本号不定时更新有关 GIS开发 相关内容,欢迎关注


GeoTools 开发合集(全)

OpenLayers 开发合集

GDAL 开发合集(全)

GIS之路公众号2025年度报告

GDAL 遥感影像数据读取-plus

地图海报生成项目定位方式修改

关于 PyQT5 和 GDAL 导入顺序引发程序崩溃的解决记录

关于浏览器无法进入断点的解决记录

小小声说一下GDAL的官方API接口

ArcGIS Pro 添加底图的方式

为什么每次打开 ArcGIS Pro 页面加载都如此缓慢?

GDAL 实现矢量数据转换处理(全)

国产版的Google Earth,吉林一号卫星App"共生地球"来了

日本欲打造"本土版"星链系统

相关推荐
小poop5 小时前
CSS 基础与实战:从入门到精通网页美化
前端
Csvn7 小时前
运行时性能
前端
Never_every997 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck8 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖8 小时前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
欣欣之王来了10 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒10 小时前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师10 小时前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端
特立独行的猫A10 小时前
10 MB 的桌面 AI 客户端:用仓颉 + 系统 WebView 替代 Electron
前端·harmonyos
修炼的dance11 小时前
白底图存JPG,sharp开mozjpeg背景杂点少近三成
前端