分享

[ArcPy百科]第一节:什么是ArcPy

 godxiasad 2023-04-21 发布于北京

准备用比较长的一个时间,把有关ArcPy的相关知识都整理一遍,所以从今天开始,开一个新的系列,即“ArcPy百科”,在这里面会逐步整理和撰写有ArcPy有关的所有知识。

面向对象:ArcGIS/GeoScene软件使用的码农们,且具备一定的Python开发经验和能力。

全文用markdown语法编写,源码和文章全部都在gitee上同步


第一节:何为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

  1. 是否可以不安装ArcGIS/GeoScene,只独立安装ArcPy?

  • 答:不可以。ArcPy仅能依赖于ArcGIS/GeoScene平台存在,因为ArcPy的大部分功能接口,只是通过Python调度ArcGIS/GeoScene底层的核心接口,所以不能脱离ArcGIS/GeoScene平台存在。

  1. 哪些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

  1. ArcPy是否可以在Linux、MacOS等其他非Windows平台上使用?

  • 答:

    • 非Windows平台上可以通过runtime和Enterprise两个产品实现ArcPy功能。

    • 另外可以通过云平台技术(ArcGIS/GeoScene Notebook Server)来实现ArcPy功能。

  1. ArcPy有没有开源版本?

  • 答:没有,ArcPy是ArcGIS/GeoScene产品的核心组件之一,并非独立的产品。但是里面很多功能,有一些第三方包替代。

    • 例如空间数据处理有geopandas、GDLA等工具包;空间统计有PySAL、PyGeoDa等包。

  1. 为什么我的Jupyter Notebook 环境里面无法导入ArcPy

  • 答:需要使用ArcGIS/GeoScene的Python环境。

    • 利用ArcGIS/GeoScene Python Command Prompt

    • 使用ArcGIS/GeoScene一并安装的Jupyter Notebook

代码如下:

具体仓库地址:

https:///godxia/arcpy-encyclopedia

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章