第一节:何为arcpy
什么是arcpy
1. ArcPy 是一个 Python 站点包
包:package:是Python的一种代码组织结构,本质上来说,也是一种模块。(在Python里面,大部分情况下,包和模块的书语及概念经常相互通用)
- 包通常多个彼此密切相关(并且可能相互依赖)的模块
站点包:site package:是一种特殊包,在Python的安装目录下面,有个专门的文件夹就叫做site-package,用于安装各种Python工具包,所以把这些直接安装在site-package里面的工具包,就叫做站点包。
- 站点包是本地安装的包,可供该计算机的所有用户使用。“站点”是本地计算机。使软件包成为站点软件包的原因与它的安装方式有关,而不是其实际内容。
- 因为术语“站点包”与包在本地计算机上的安装方式而不是其内容有关,所以从编写代码的实际角度来看,包和站点包之间的区别并不重要。
2. ArcPy可提供如下能力:
- 以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化。
- 快速调用ArcGIS/GeoScene提供的地理处理工具以及其他函数、类和模块、并且可以创建更加灵活可控的工作流。
- 访问ArcGIS/GeoScene软件生成的工程内容、资源、配置,以及进行操作处理。
- 利用第三方Python工具包,与GIS软件进行互补。
- 封装自定义的脚本为工具包,发布给其他人使用。
3. ArcPy涉及的专用模块如下:
此处是Pro的ArcPy 与ArcMap不同
- 数据访问模块 (arcpy.da)
- 制图模块 (arcpy.mp)
- 元数据模块 (arcpy.metadata)
- 共享模块 (arcpy.sharing)
- Image Analyst模块 (arcpy.ia)
- Spatial Analyst 模块 (arcpy.sa)
- Network Analyst 模块(arcpy.nax 和 arcpy.na)
- Workflow Manager 模块 (arcpy.wmx)
4. Q & A
- 是否可以不安装ArcGIS/GeoScene,只独立安装ArcPy?
- 答:不可以。ArcPy仅能依赖于ArcGIS/GeoScene平台存在,因为ArcPy的大部分功能接口,只是通过Python调度ArcGIS/GeoScene底层的核心接口,所以不能脱离ArcGIS/GeoScene平台存在。
- 哪些ArcGIS/GeoScene产品,具有ArcPy能力?
- 答:如下产品具有ArcPy能力
- ArcGIS /GeoScene Pro
- ArcGIS Desktop (ArcMap)
- ArcGIS Engine
- ArcGIS/GeoScene Runtime(需要有local Server)
- ArcGIS/GeoScene Enterprise(原Server)
- ArcGIS/GeoScene Notebook Server
- ArcPy是否可以在Linux、MacOS等其他非Windows平台上使用?
- 答:
- 非Windows平台上可以通过runtime和Enterprise两个产品实现ArcPy功能。
- 另外可以通过云平台技术(ArcGIS/GeoScene Notebook Server)来实现ArcPy功能。
- ArcPy有没有开源版本?
- 答:没有,ArcPy是ArcGIS/GeoScene产品的核心组件之一,并非独立的产品。但是里面很多功能,有一些第三方包替代。
- 例如空间数据处理有geopandas、GDLA等工具包;空间统计有PySAL、PyGeoDa等包。
- 为什么我的Jupyter Notebook 环境里面无法导入ArcPy
- 答:需要使用ArcGIS/GeoScene的Python环境。
- 利用ArcGIS/GeoScene Python Command Prompt
-
- 使用ArcGIS/GeoScene一并安装的Jupyter Notebook
-
代码如下:
具体仓库地址: