# ArcGIS Pro | 关联：13_QGIS.md 30_GIS↔CAD数据转换.md 26_WorkBuddyGIS_AddIn开发.md 38_ArcGIS_Pro_3.7_新功能详解.md | 来源：旧第七篇~第十二篇

> **版本声明**：本文档主体基于 **ArcGIS Pro 3.6**（2025年发布）。3.7 版新增功能请参阅 → **[38_ArcGIS_Pro_3.7_新功能详解.md](./38_ArcGIS_Pro_3.7_新功能详解.md)**。
> 所有版本特定内容均标注 **[v3.6]** / **[v3.7]** 标签。两个版本的信息**共存保留**，使用前请确认目标版本。
> ⚠️ 使用警示：提问者指定版本时，务必只使用对应版本的信息。3.6 与 3.7 在 Python 版本、新增工具、API 等方面存在差异，混用会导致错误。

# 第七篇：ArcGIS Pro 3.6 核心功能体系

> 来源：ArcGIS Pro 3.6 官方中文帮助文档（pro.arcgis.com），2026-05-23

## 7.1 版本概述

- Python 3.13.7、NumPy 2.2.0、EPSG v12.018
- 支持 WKT2 投影标准
- 64位多线程架构，2D/3D一体化
- 以工程(.aprx)组织所有GIS资源

## 7.2 扩展模块体系（25+个）

### 高级分析（6个）
| 模块 | 用途 |
|------|------|
| 3D Analyst | 3D表面分析、LiDAR、可见性、TIN |
| Business Analyst | 市场分析、人口统计、贸易区域 |
| Geostatistical Analyst | 高级统计插值、交叉验证 |
| Image Analyst | 影像分析、立体映射、分类 |
| Network Analyst | 网络分析、路径规划、选址 |
| Spatial Analyst | 栅格分析、适宜性建模、景观分析 |

### 数据与工作流（10个）
| 模块 | 用途 |
|------|------|
| Data Interoperability | 基于FME引擎，支持数百种格式ETL |
| Data Reviewer | 自动化数据质量控制、错误检查 |
| ArcGIS Reality | 3.6起随Pro安装，无人机/航拍制图产品 |
| Workflow Manager | 企业级工作流管理 |
| Indoors | 室内可路由网络、楼层感知地图 |
| Publisher | 移动地图包→Field Maps |
| StreetMap Premium | 街道数据、地理编码、网络分析 |
| Territory Design | 销售区/服务区构建平衡 |
| IPS | 室内蓝点定位、位置共享 |
| Knowledge Graph | 知识图谱创建、实体关系分析 |

### 行业专用（8个）
Aviation Airports、Aviation Charting、Bathymetry、Maritime、Pipeline Referencing、Roads and Highways、Topographic Mapping（3.6新增）、Location Referencing

## 7.3 数据管理工具箱（37个工具集）

### 核心管理
3D对象、要素类、要素、字段、表、工作空间、常规、制图综合

### 地理数据库
地理数据库管理、文件地理数据库、分布式地理数据库、属性域、子类型、属性规则、条件值、关系类、拓扑、版本、存档、附件

### 数据质量
数据比较、数据加载、索引、连接和关联、采样

### 投影与栅格
投影和变换、栅格、LAS数据集

### 输出与缓存
包、报表、图层和表视图、切片缓存、照片、目录数据集、要素图格化、轨迹数据集

## 7.4 转换工具箱（17个工具集）

| 工具集 | 输入→输出 |
|--------|-----------|
| Excel | Excel ↔ 表 |
| 由PDF转出 | PDF → TIFF |
| 自栅格 / 至栅格 | 栅格 ↔ 要素/文件 |
| 由WFS转出 | WFS → 要素类 |
| GPS | GPX ↔ 要素类 |
| 图形 | 图形图层 ↔ 要素类 |
| JSON | JSON/GeoJSON ↔ 要素类 |
| KML | KML → GDB要素 |
| 点云 | LAS格式转换、插值 |
| SAS | 表 ↔ SAS |
| **转为CAD** | GDB要素 → DWG/DXF/DGN |
| 转为Collada | 多面体 → .dae |
| 转为dBASE | 表 → dBASE |
| **转出至地理数据库** | 各类数据 → GDB |
| 转为GeoPackage | 数据集 → GeoPackage |
| 转为Shapefile | 要素 → .shp |

## 7.5 转为 CAD 工具集详解（★核心）

**2个工具：**
- **添加CAD字段**：一步添加 Layer/Color/LineType/Elevation/CADType/DocPath/RefName 等保留字段
- **导出至CAD**：要素导出为 DWG/DXF/DGN（支持14种格式版本，DWG_R14~R2018、DXF_R14~R2018、DGN_V8）

**字段映射规则：**

| 字段 | 控制内容 | CASS应用 |
|------|----------|----------|
| Layer | CAD图层名 | CASS编码分层 |
| CADType/Entity | 实体类型(TEXT/INSERT/POINT等) | 注记→TEXT、符号→INSERT |
| Elevation | Z坐标 | 高程点赋值 |
| Contour | 线Z坐标 | 等高线高程 |
| RefName | 块插入名 | CASS符号块名 |
| DocPath | 输出文件路径 | 分割输出多个DWG |
| LTScale/LineWt | 线宽控制 | 线型显示 |
| Color | 实体颜色 | 图层颜色 |

**种子文件机制：**
- 模板DWG预定义块、图层、线型、符号系统
- 输出继承种子文件的CAD标准
- RefName/Layer字段可按名引用种子文件定义
- 种子文件格式版本覆盖输出类型参数

**输出格式列表：**
DWG_R2018(默认)/R2013/R2010/R2007/R2005/R2004/R2000/R14、DXF_R2018/R2013/R2010/R2007/R2005/R2004/R2000/R14、DGN_V8

## 7.6 转出至地理数据库工具集（11个工具）

| 工具 | 关键用途 |
|------|----------|
| **CAD至地理数据库** | CAD数据集→要素数据集(点/线/面)，支持DWG/DXF/DGN混合输入 |
| BIM文件至地理数据库 | BIM工作空间→要素数据集 |
| 提取BIM楼层平面图 | BIM→2.5D楼层数据 |
| 要素类至地理数据库 | 批量要素类→GDB |
| 表转地理数据库 | 批量表→GDB |
| 导出要素/表 | 单个要素类/表→新要素类/表 |
| 移动GDB到文件GDB | 移动地理数据库迁移 |
| 栅格数据至地理数据库 | 栅格加载到GDB |
| 从文档/文本提取位置 | 文本→点要素 |

### CAD至地理数据库 空间参考优先级：
1. CAD配套.prj文件
2. 目录esri_cad.prj通用投影文件
3. 配套.wld坐标变换文件
4. 目录esri_cad.wld通用坐标文件
5. 手动指定空间参考参数

## 7.7 制图与可视化

### 11种符号系统
| 方法 | 适用几何 | 应用场景 |
|------|----------|----------|
| 单一符号 | 全部 | 基础显示 |
| 唯一值 | 全部 | 分类数据 |
| 分级色彩 | 面 | 人口密度等连续分布 |
| 分级符号 | 点/线 | 城市规模等级 |
| 二元色彩 | 面 | 双变量关系 |
| 未归类颜色 | 面 | 平滑过渡 |
| 比例符号 | 点/线 | 精确比例 |
| 点密度 | 仅面 | 总量分布 |
| 图表 | 全部 | 多指标展示 |
| 热点图 | 仅点 | 聚集程度 |
| 字典渲染器 | 全部 | 行业标准符号 |

### 标注系统
- **Maplex引擎**（默认）：高级放置、缩写字典、键编号
- **标准引擎**：基础放置。Maplex→标准永久丢失高级设置
- 核心功能：参考比例缩放、标注分类、优先级/权重、Arcade标注表达式、暂停/锁定/查看未放置

### 3.6新增布局功能
动态文本标签（页面宽高/单位/大小名称）、日期时间时区标签、MGRS/USNG坐标标签、报表多列、邮寄标注模板、导出/打印警报、图例快捷添加、比例尺数值频率、颜色样式搜索

## 7.8 编辑功能

### 编辑会话
- 自动（默认）：修改数据时自动启动
- 手动：需手动管理工作空间

### 编辑工作流
2D/3D要素创建修改、注记编辑、属性编辑、3D模型导入、2D要素3D拉伸、CAD工程图重定位、几何修整保留属性

### 拓扑编辑
- 地图拓扑：编辑时自动编辑拓扑连接要素
- 地理数据库拓扑：数据集级空间关系规则，预定义修复

### 3.6新增
微移命令、反转方向独立工具、流式传输撤消捕捉、传输属性多目标、折点编辑符号原位、COGO单位选择器、拓扑错误过滤复制

## 7.9 分析与地理处理

### 工具查找（11种途径）
分析工具库、搜索（语义AI）、收藏夹（建议/我的/工程）、工具箱（系统+自定义）、工程工具箱、文件夹/GDB中工具箱、Server地理处理服务、门户工具、即用型工具、功能区自定义、UI命令

### ModelBuilder 3.6重新设计
圆角矩形节点、现代配色、进度条与状态图标、数据类型图标、连接弹出窗口、运行状态可视化

### ArcPy 3.6
- Python 3.13.7 + NumPy 2.2.0
- CreateTable函数（创建表/要素类）
- Layer getSymbologyDefinition/setSymbologyDefinition
- Layer elevation属性
- Locator.geocode新参数
- Editor类version参数
- Network Analyst新距离单位(cm/mm/dm/inch)
- EnvManager函数修饰符

## 7.10 工程管理

### 工程结构
.aprx工程文件 → 地图/场景/布局/报表/图表 + 默认GDB + 默认工具箱 + 文件夹/数据库/服务器连接 + 样式/门户

### 3.6新增
软件公告检查、更新可选功能安装、诊断监视器取消状态、切换视图保持功能区、搜索计数、重命名不选扩展名、目录计算机快捷菜单、身份感知门户登录(Google Cloud IAP/Microsoft Entra)

## 7.11 GDB ↔ CASS/DWG 转换实战

### GDB导出到CAD流程
1. 运行"添加CAD字段"（可选）
2. 填充Layer/Color/LineType/Elevation/CADType/RefName等字段
3. 运行"导出至CAD"，选择DWG_R2018格式
4. 可选：指定种子文件预设图层和符号标准
5. 可选：DocPath字段分割输出到多个DWG文件

### CAD导入到GDB流程
1. 运行"CAD至地理数据库"工具（批量）
2. 或使用"导出要素"工具（单个要素类）
3. 确保CAD文件有.prj投影文件定义坐标系
4. 输出：点/线/面要素类 + DWG附加MSC要素类

### CASS特殊处理
- CASS实体编码(XData)需要通过Add CAD Fields预设对应字段
- CASS六位编码→Layer字段实现分层导出
- CASS注记和符号使用INSERT实体→RefName控制符号块
- CASS等高线→Contour字段存储高程
- CASS宗地/房屋面状要素→CADType=INSERT保留符号样式

## 7.12 CAD字段映射规则详解

### 属性来源与生成规则

| 规则 | 说明 |
|------|------|
| 属性来源 | CAD图形属性、块属性、Civil 3D属性集、ArcGIS for AutoCAD要素属性 |
| 无效字段名处理 | 以数字开头的字段名自动加前缀 `t` |
| Civil 3D属性集 | 属性集名称作为字段名前缀（如 `PipeData_Diameter`） |
| MSC要素类 | 通过ArcGIS for AutoCAD或导出至CAD生成的要素类完整保留GIS属性 |

### 导出至CAD关键字段（★核心★）

| 字段名 | 别名 | 控制内容 | CASS应用 |
|--------|------|----------|----------|
| **Layer** | Level | CAD图层名 | CASS编码分层输出 |
| **CADType** | Entity | 实体类型覆盖 | TEXT/INSERT/POINT/ARC |
| **RefName** | — | 块插入名称 | CASS符号块名称 |
| **Elevation** | — | Z坐标值 | 高程点赋值 |
| **Contour** | — | 2D线Z坐标 | 等高线高程值 |
| **DocPath** | — | 输出文件路径 | 分割输出多个DWG |
| **LTScale** | — | DGN线宽 | DGN输出控制 |
| **LineWt** | — | DWG线宽 | DWG线宽控制 |
| **Color** | — | 实体颜色 | 图层颜色预设 |
| **CADModel** | — | DGN模型名 | 种子文件模型选择 |

### 默认CAD要素类结构（导入时）

| 要素类 | 包含内容 |
|--------|----------|
| Points | 点实体 |
| Polylines | 线段和多段线 |
| Polygons | 闭合多边形 |
| Annotation | 注记实体 |
| TextPoints | CAD文本实体（兼容旧版） |
| Multipoints | 多点实体 |
| Multipatches | 三维多面体 |

## 7.13 CAD至地理数据库 空间参考优先级

1. CAD配套 `.prj` 文件
2. 目录 `esri_cad.prj` 通用投影文件
3. 配套 `.wld` 坐标变换文件
4. 目录 `esri_cad.wld` 通用坐标文件
5. 手动指定 `spatial_reference` 参数

> 多个CAD文件时取第一个有效投影；DGN文件需确保第一个模型域最大。

## 7.14 数据导出工具对比表

| 导出的内容 | 复制粘贴 | 导出XML | 要素类至GDB | 导出要素 | 导出至CAD | Shapefile |
|-----------|:--:|:--:|:--:|:--:|:--:|:--:|
| 要素类（几何） | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 要素属性 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 空间参考 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| **附件** | ✓ | | ✓ | | | ✓ |
| **属性规则** | ✓ | | ✓ | | | ✓ |
| 域 | ✓ | ✓ | ✓ | ✓ | | |
| **关系类** | ✓ | | ✓ | | | ✓ |
| 子类型 | ✓ | | ✓ | ✓ | | |
| **拓扑** | ✓ | | ✓ | | | ✓ |

> 关键结论：导出至CAD**不保留**附件/属性规则/关系类/拓扑，仅保留几何+属性+空间参考。如需完整数据结构保留，使用"要素类至地理数据库"。

## 7.15 数据互操作扩展模块

基于FME引擎，支持**数百种格式**的ETL转换。

| 特性 | 说明 |
|------|------|
| 覆盖格式 | GIS、CAD、栅格、数据库、Web 五大类 |
| 授权方式 | Named User（组织管理员分配）或 Single Use |
| 下载来源 | My Esri 网站 |
| 核心能力 | 空间ETL工具（通过FME Workbench创建） |
| 工作流程 | FME Workbench → 创建Translation Workspace → 保存为FMW → 附加到Toolbox → 在ArcGIS Pro中运行 |

> 适用于CASS等非标准格式的复杂转换场景，可自定义数据模型映射。

## 7.16 CASS转换Python代码示例

### 7.16.1 CAD批量导入GDB

```python
import arcpy, os

arcpy.env.workspace = "C:/data/CAD"
output_gdb = "C:/data/GIS.gdb"

if not arcpy.Exists(output_gdb):
    arcpy.management.CreateFileGDB(os.path.dirname(output_gdb),
                                   os.path.basename(output_gdb))

for dwg in arcpy.ListFiles("*.dwg"):
    print(f"处理: {dwg}")
    arcpy.conversion.CADToGeodatabase(dwg, output_gdb, "CAD_Data", 1000)
print("批量转换完成")
```

### 7.16.2 GDB导出CAD（带字段控制）

```python
import arcpy

input_features = "C:/data/GIS.gdb/Buildings"
output_cad = "C:/data/Buildings.dwg"

# 添加CAD保留字段
for field in ["Layer", "Color", "Linetype", "Elevation"]:
    if field not in [f.name for f in arcpy.ListFields(input_features)]:
        arcpy.management.AddField(input_features, field, "TEXT", field_length=50)

# 填充字段值
with arcpy.da.UpdateCursor(input_features, ["Layer", "Color"]) as cursor:
    for row in cursor:
        row[0] = "Buildings"  # CAD图层名
        row[1] = "1"          # CAD颜色
        cursor.updateRow(row)

arcpy.conversion.ExportCAD(input_features, "DWG_R2018", output_cad,
                           "Ignore_Filenames_in_Tables", "Overwrite_Existing_Files")
```

### 7.16.3 坐标系转换

```python
import arcpy

input_fc = "C:/data/Input.gdb/Roads"
output_fc = "C:/data/Output.gdb/Roads_Projected"
output_sr = arcpy.SpatialReference("CGCS2000_3_Degree_GK_CM_111E")

arcpy.env.geographicTransformations = "BGCS_To_CGCS_2000_1"
arcpy.management.Project(input_fc, output_fc, output_sr)
```

### 7.16.4 设置地理变换环境

```python
arcpy.env.outputCoordinateSystem = arcpy.SpatialReference("WGS 1984 UTM Zone 18N")
arcpy.env.geographicTransformations = "Arc_1950_To_WGS_1984_5; PSAD_1956_To_WGS_1984_6"
arcpy.analysis.Buffer("roads.shp", "roads_buffer.shp", "10 meters")
```

## 7.17 ModelBuilder 可视化建模

> 来源：ArcGIS Pro 3.6 官方帮助 — ModelBuilder

### 定义

ModelBuilder 是一种**可视化编程语言**，用于构建地理处理工作流。模型将一系列流程和地理处理工具串联为示意图，一个流程的输出用作另一个流程的输入。

### 五大核心功能

| 功能 | 说明 | 测绘应用 |
|------|------|----------|
| **构建模型** | 通过添加和连接数据和工具来构建模型 | 串联多步骤地理处理流程 |
| **迭代处理** | 迭代处理每个要素类/栅格/文件/工作空间中的表 | 批量坐标转换、批量裁剪 |
| **可视化** | 以易于理解的图表显示工作流顺序 | 流程文档化、方案评审 |
| **分步运行** | 分步运行模型，一直到所选步骤，或运行整个模型 | 调试复杂流程 |
| **作为工具共享** | 将模型设为地理处理工具，可在 Python 脚本和其他模型中调用 | 标准化流程复用 |

### 3.6 版界面更新

- 元素节点改为**圆角矩形**
- 变量显示数据类型图标，工具显示工具类型图标（内置/模型/脚本）
- 运行时显示**进度条**，完成后显示绿色✓或红色✗
- 柔和配色方案区分准备运行/等待/已完成状态

### 典型示例：野生动物栖息地分析模型

```
[Vegetation图层] → 按属性选择图层 → 输出选择
[主要道路] → 缓冲区(1500英尺) → 道路缓冲区
[输出选择 + 道路缓冲区] → 擦除 → 擦除结果
[擦除结果 + 坡度 + 高程 + 气候] → 相交 → 满足所有条件的区域
```

### 迭代器类型

| 迭代器 | 遍历对象 | 典型场景 |
|--------|----------|----------|
| **For** | 指定次数 | 重复运行N次 |
| **While** | 满足条件时 | 阈值迭代优化 |
| **要素选择** | 要素类中的要素 | 逐行处理 |
| **行选择** | 表中的行 | 逐记录处理 |
| **要素类** | 工作空间中的要素类 | 批量处理多图层 |
| **栅格** | 工作空间中的栅格 | 批量栅格计算 |
| **表** | 工作空间中的表 | 批量表操作 |
| **工作空间** | 文件夹中的工作空间 | 跨GDB批量处理 |
| **文件** | 文件夹中的文件 | 批量文件转换 |
| **字段值** | 字段中的唯一值 | 按分类字段处理 |
| **多值** | 输入值列表 | 多参数组合 |
| **时间** | 时间序列 | 时序分析 |

### 模型验证与调试

- **模型验证**：运行前自动检查参数有效性、数据存在性、数据类型兼容性
- **中间数据管理**：中间输出可标记为"中间"，运行后自动清理
- **模型→Python脚本导出**：模型可直接导出为 .py 脚本，便于进一步编辑和集成

---

## 7.18 Tasks 任务自动化（测绘作业流程标准化利器）

> 来源：ArcGIS Pro 3.6 官方帮助 — Tasks

### 什么是任务？

任务是**预配置的交互式步骤集**，引导用户按标准化流程完成工作。核心价值：
- 实施最佳实践工作流，确保操作一致性
- 降低操作门槛，减少犹豫和错误
- 可作为新员工培训教程

### 任务组成结构

| 组件 | 说明 | 测绘应用 |
|------|------|----------|
| **任务项** | 存储容器，在目录窗格"任务"文件夹下管理 | 按业务模块分组（外业入库/质检/制图） |
| **单个任务** | 一组连续步骤，可独立运行或归入任务组 | 对应具体工序（如"RTK点导入"） |
| **任务步骤** | 核心执行单元 | 自动运行工具、设置视图、控制图层 |
| **任务窗格** | 操作界面，侧边栏显示步骤列表 | 清晰、不可跳过的操作面板 |

### 步骤配置能力

| 步骤类型 | 可执行操作 | 测绘场景 |
|----------|-----------|----------|
| **运行工具/命令** | 自动打开地理处理工具并填入预设参数 | 预置坐标转换参数→一键执行 |
| **设置地图视图** | 自动缩放/平移至预定义范围或图层 | 自动定位到测区范围 |
| **控制图层状态** | 设置可见性、可选性、可捕捉性 | 质检步骤切换图层组合 |

### 记录操作自动创建步骤

通过**"记录操作"**功能，设计者手动执行一遍操作流程，系统自动记录为任务步骤——零代码创建标准化流程。

### 共享与分发

```
导出 → .esriTasks 文件 → 团队成员导入
```

**测绘场景**：技术负责人一次性设计好SOP，导出为任务文件分发→所有内外业人员加载即用→统一流程、统一成果。

---

## 7.19 扩展模块完整版（23个，按三分类重编）

> 来源：ArcGIS Pro 3.6 官方帮助 — Extensions overview
> 本节是对 7.2 的完整重编，补充了行业专用模块详情

### 7.19.1 高级分析（6个）

| 模块 | 核心能力 | 关键工具/特性 | 许可要求 |
|------|----------|--------------|----------|
| **3D Analyst** (`arcpy.ddd`) | 3D表面分析、LiDAR、TIN、可见性 | 天际线、视域、体积计算 | 扩展许可 |
| **Business Analyst** (`arcpy.ba`) | 市场分析、人口统计、贸易区域 | 人口统计报告、客户分布、数据丰富 | 扩展许可 |
| **Geostatistical Analyst** (`arcpy.ga`) | 高级统计插值、空间趋势分析 | Kriging系列、交叉验证、EBK | 扩展许可 |
| **Image Analyst** (`arcpy.ia`) | 影像分析、立体测图、分类、深度学习 | 影像分类向导、目标检测、SAR处理 | 扩展许可 |
| **Network Analyst** (`arcpy.nax/na`) | 交通网络分析、路径优化 | 路径规划、服务区、OD矩阵、VRP | 扩展许可 |
| **Spatial Analyst** (`arcpy.sa`) | 栅格分析、适宜性建模 | 地图代数、水文分析、距离分析 | 扩展许可 |

### 7.19.2 数据与工作流（9个）

| 模块 | 核心能力 | 关键特性 |
|------|----------|----------|
| **Data Interoperability** (`arcpy.di`) | FME引擎，数百种格式ETL | 空间ETL工具、自定义格式转换 |
| **Data Reviewer** (`arcpy.reviewer`) | 自动化数据质量控制 | 批处理校验、要素对要素检查、z值评估 |
| **ArcGIS Reality** | 3.6起随Pro安装！无人机/航拍制图 | 真正射、DSM、3D网格、高斯泼溅 |
| **Workflow Manager** | 企业级工作流管理 | 跨桌面/Web/移动端、jobForceStop权限 |
| **Indoors** (`arcpy.indoors`) | 室内可路由网络、楼层感知地图 | Indoors Viewer/Mobile |
| **Publisher** | 移动地图包→Field Maps | 离线分发、无需登录AGOL |
| **StreetMap Premium** | 街道数据、地理编码、网络分析 | 离线底图+路径规划 |
| **Territory Design** (`arcpy.td`) | 销售区/服务区构建与平衡 | 自动区域分配、平衡优化 |
| **IPS** (`arcpy.indoorpositioning`) | 室内蓝点定位、实时位置共享 | 室内导航、资产追踪 |

### 7.19.3 行业专用（8个）

| 模块 | 行业 | 核心能力 | ArcPy |
|------|------|----------|-------|
| **Aviation Airports** | 机场 | 障碍物评估、机场地理数据库、数据校验 | `arcpy.aviation` |
| **Aviation Charting** | 航空制图 | 航空导航产品、领空管理、AIM | `arcpy.aviation` |
| **Bathymetry** | 海洋测绘 | 测深信息系统、S-102 v3.0、海图生产 | `arcpy.bathymetry` |
| **Maritime** | 海事 | S-57/S-100海图、DNC格式 | `arcpy.maritime` |
| **Pipeline Referencing** | 油气管道 | 管道LRS网络、里程桩定位 | `arcpy.locref` |
| **Roads and Highways** | 公路 | 道路LRS、资产管理与事件定位 | `arcpy.locref` |
| **Topographic Mapping** | 国防制图 | 3.6新增！替代Defense Mapping+Production Mapping | `arcpy.topographic` |
| **Location Referencing** | 通用LRS | 线性参考系统配置管理 | `arcpy.locref` |

---

## 7.20 ArcGIS Pro 3.6 关键新特性速览

> 来源：ArcGIS Pro 3.6 What's New 官方文档

### 性能与架构
| 改进项 | 详情 |
|--------|------|
| Python升级 | 3.11.11 → **3.13.7** |
| NumPy升级 | 1.26.4 → **2.2.0**（注意迁移） |
| 地理处理前台线程 | 可选择前台运行（更快但阻塞UI） |
| 分区统计多核 | 可使用**所有逻辑处理器**（原限4个） |

### 三维可视化
| 新特性 | 详情 |
|--------|------|
| **高斯泼溅图层** | 高度逼真3D可视化，栏杆/电线/树叶清晰可辨 |
| **Google逼真3D底图** | 全球纹理建筑物和地形（需AGOL组织授权） |
| 天气效果增强 | 云层随太阳位置变化、雾/霾渲染改善 |
| 全新色调映射 | 照明和色彩还原更优 |

### 深度学习与影像
| 新特性 | 详情 |
|--------|------|
| 光谱库浏览器 | 浏览/搜索/查看光谱特征 |
| 目标检测向导 | 识别匹配光谱特征的像素 |
| 检查训练数据窗格 | 视觉+自动审查标注数据 |
| SAR工具箱 | 功能区新增SAR专用选项卡 |
| InSAR/DInSAR | 相干性、地面变形测量工作流 |

### 数据管理
| 新特性 | 详情 |
|--------|------|
| 方案报告动态HTML | Calcite Design System组件、搜索/排序/过滤 |
| Parquet增强 | Zstd压缩、GCS/Azure/ADLS支持、128字符字段名 |
| PostgreSQL 17支持 | 企业级GDB新版本 |
| BIM增强 | 控制设备/管道设备类别、BldgFloor字段 |

### ArcPy 新API
| 新功能 | 详情 |
|--------|------|
| EnvManager修饰符 | `@EnvManager(workspace="...")`装饰函数设置环境 |
| LogHistory上下文 | 控制是否写入外部日志文件 |
| LogMetadata上下文 | 控制是否包含元数据 |
| SeverityLevel | 控制异常抛出方式 |
| CreateTable | `arcpy.da.CreateTable` 创建带字段集的表/要素类 |
| Editor.version | Editor类新增version参数 |

### 编辑增强
| 新特性 | 详情 |
|--------|------|
| 微移命令 | 要素上/下/左/右小距离移动 |
| 流式传输工具 | 可设置单次撤销折点数、启用/禁用捕捉 |
| 传输属性 | 指针或选择芯片选择多个重叠目标 |

> **神经连接**：核心功能 → 第八篇 分析功能（Spatial/3D/Network Analyst）、第九篇 制图布局（符号/标注/地图系列）、第十篇 工程管理（.aprx/模板/环境设置）、第十一篇 数据管理（GDB/拓扑/编辑）、第十二篇 ArcPy（自动化脚本）。GDB数据导出 → 第六篇 CASS工作流（GDB→DXF转换入口）。DEM数据 → 第十四篇 实景三维（地形级承载）、第二十篇 三维建模（高程数据源）。地图/场景 → 第十九篇 Web GIS（Web图层→Portal共享）。ModelBuilder → 第十二篇 ArcPy（模型→Python脚本导出）。Tasks → 第十篇 工程管理（任务文件管理）、第十四篇 新型基础测绘（标准化流程管控）。扩展模块 → 第八篇 分析功能（各模块分析工具细节）。

> 来源：ArcGIS Pro 3.6 官方帮助文档 — 地理处理、Spatial Analyst、3D Analyst、ModelBuilder、ArcPy

## 8.1 地理处理运行模式

| 运行模式 | 优点 | 缺点 |
|---------|------|------|
| 后台运行（默认） | 界面保持响应，可继续工作 | 某些工具稍慢 |
| 前台运行 | 工具运行更快 | 界面被阻塞 |

**3.6新增**：可在地理处理选项中切换前台/后台模式，以及"显示切换开关以将输出数据集添加至打开的地图"。

## 8.2 分析工具箱工具集

| 工具集 | 核心功能 |
|--------|----------|
| 提取分析 | SQL/空间属性提取要素子集 |
| 常规 | 成对比较方法计算权重 |
| 叠加分析 | 要素类组合/擦除/修改/更新 |
| 成对叠加 | 经典叠加工具的替代方案（性能更优） |
| 邻近分析 | 要素邻近性分析、距离计算 |
| 统计分析 | 标准统计+面积/长度/计数+丰富工具 |

### 3.6新增/增强工具
- **成对面邻域**（新增）：根据面邻接创建统计表
- **空间连接**（增强）：支持多输入、连接计数字段
- **近邻分析**（增强）：可添加多个距离字段
- **成对裁剪**（增强）：使用最大精度参数

## 8.3 Spatial Analyst 工具集（24个）

| 工具集 | 用途 | 工具集 | 用途 |
|--------|------|--------|------|
| 条件分析 | 基于条件控制输出值 | 密度分析 | 点/线密度表面计算 |
| 距离分析 | 欧氏/成本加权距离 | 提取分析 | 按属性/空间位置提取像元 |
| 栅格综合 | 清理小错误数据 | 地下水分析 | 对流-扩散建模 |
| 水文分析 | 地表水流建模 | 插值分析 | 采样点→连续表面 |
| 局部分析 | 逐像元计算 | 地图代数 | 代数表达式空间分析 |
| 数学分析 | 数学函数应用 | 邻域分析 | 邻域统计计算 |
| 叠加分析 | 多图层加权叠加 | 重分类 | 像元值重新分类 |
| 太阳辐射 | 日照辐射制图 | 表面分析 | 坡度/坡向/山体阴影 |
| 区域分析 | 按区域聚合分析 | 多维分析 | 科学栅格多变量分析 |
| 多元分析 | 多属性关系探查 | 影像分割分类 | 分割栅格→分类 |

### 3.6新增工具
| 工具 | 工具集 | 功能 |
|------|--------|------|
| 调整流以匹配栅格 | 水文分析 | 生成与栅格分辨率匹配的流要素 |
| 定位洼地 | 水文分析 | 定位地形低洼区域 |
| 地形位置指数 | 表面分析 | 计算邻域地形位置指数 |
| 值百分位等值线 | 表面分析 | 按值百分位数创建封闭面 |
| 体积百分位等值线 | 表面分析 | 按概率密度总量创建封闭面 |

### 3.6亮点：适宜性模型比较
Suitability Modeler 中新增模型比较界面，可更改输入和参数探索不同场景，支持假设情景分析。

## 8.4 3D Analyst 工具集（12个）

| 工具集 | 功能 |
|--------|------|
| 3D要素 | 评估3D几何属性和空间关系 |
| 3D相交 | 分析3D体积块交叉点和重叠 |
| 3D邻近性 | 基于距离的3D评估 |
| 面积和体积 | 表面积/体积测量 |
| 要素提取 | 从点云提取建筑物/电力线/轨道 |
| 点云 | LAS分类/管理/深度学习 |
| 栅格 | 栅格插值/数学运算符 |
| 统计分析 | 聚合3D统计数据 |
| Terrain数据集 | 创建/管理/转换Terrain |
| TIN数据集 | 创建/修改/转换TIN |
| 表面三角化 | 坡度/坡向/等值线派生 |
| 可见性 | 3D数据可见性分析 |

### 3.6关键增强
- **LAS数据集支持LAZ格式**（不压缩直接读取）
- 从点云提取对象增强（最小/最大高度表面过滤）
- 提取LOD2建筑物可计算体积
- GPU加速支持（坡向/坡度/视域等）

## 8.5 ModelBuilder 3.6重新设计

| 项目 | 旧版 | 3.6新版 |
|------|------|---------|
| 节点形状 | 直角矩形 | **圆角矩形** |
| 配色 | 传统灰蓝 | 柔和现代，与ArcGIS Online统一 |
| 状态指示 | 基础 | 灰色(无效)→彩色(就绪)→进度条→绿色✓/红色✕ |
| 数据类型 | 文字标签 | **数据类型图标** |
| 连接操作 | 直接连线 | **弹出窗口**列出工具参数及图标 |
| 组状态 | 无特殊标记 | 组内任一工具失败→整组变红 |

## 8.6 ArcPy 3.6 核心更新

| 更新项 | 内容 |
|--------|------|
| Python版本 | 3.11.11 → **3.13.7** |
| NumPy版本 | 1.26.4 → **2.2.0** |
| 新增函数 | `CreateTable`（创建表/要素类） |
| 符号系统 | `getSymbologyDefinition` / `setSymbologyDefinition` |
| 地理编码 | `Locator.geocode` 新参数 |
| 编辑类 | `Editor` 类新增 `version` 参数 |
| 距离单位 | 新增 cm/mm/dm/inch |
| 环境管理 | `EnvManager` 函数修饰符 |
| 调试 | VS Code + ArcGIS Pro调试扩展，无需设置调试模式 |

### ArcPy核心模块速查

| 模块 | 功能 |
|------|------|
| `arcpy.mp` | 地图和布局自动化 |
| `arcpy.da` | 数据访问（游标、编辑会话） |
| `arcpy.analysis` | 分析工具箱函数 |
| `arcpy.management` | 数据管理工具箱函数 |
| `arcpy.sa` | Spatial Analyst 工具箱函数 |
| `arcpy.3d` | 3D Analyst 工具箱函数 |

> **神经连接**：Spatial Analyst → 第十六篇 空间统计（Kriging/IDW插值共享arcpy.sa模块）。空间统计工具 → 第十六篇 空间自相关/热点分析（arcpy.stats模块）。网络分析 → 第十九篇 Web GIS（路径分析→Web服务发布）。3D Analyst → 第二十篇 实景三维（DEM/DSM→三维场景构建）。ModelBuilder → 第十二篇 ArcPy（模型→Python脚本导出复用）。地理编码 → 第十九篇 Web GIS（地址匹配→前端展示）。

---

# 第九篇：ArcGIS Pro 3.6 制图、导航、布局与共享

> 来源：ArcGIS Pro 3.6 官方帮助文档 — 场景(3D)、导航、视图链接、弹出窗口、符号系统、标注、布局、导出、打印、工程打包、Web地图、资源分析

---

## 9.1 场景（Scenes）—— 3D 制图

### 9.1.1 场景类型对比

| 维度 | 全球场景 (Global) | 局部场景 (Local) |
|------|-------------------|------------------|
| 适用场景 | 跨越地球的数据；需查看地球曲率 | 小范围（城市/工地）；编辑/分析/测量 |
| 坐标系 | 仅 WGS84 / CGCS2000 地理坐标系 | 支持地理/投影/自定义坐标系 |
| 注意 | 非 WGS84/CGCS2000 建议用局部场景避免重投影畸变 | 基于 ArcGIS Maps SDKs 的移动端不支持局部场景 |

### 9.1.2 场景创建方式

1. 插入 → 新建地图 → 新建全球/局部场景
2. 视图选项卡切换全球/局部模式
3. 目录窗格右键场景 → "作为新的全球/局部视图打开"（同时查看两种模式）
4. 导入旧文档：`.3dd`(ArcGlobe)→全球 / `.sxd`(ArcScene)→局部

### 9.1.3 绘制模式

| 模式 | 特点 | 适用场景 |
|------|------|---------|
| 透视绘制 | 近大远小，人眼观察习惯 | 通用3D可视化 |
| 平行绘制 | 相同尺寸要素渲染一致 | 建筑绘图、3D统计可视化 |

### 9.1.4 场景内容

- **2D图层**：无z坐标，地面叠加
- **3D图层**：带3D符号系统，支持多面体/3D对象/场景图层/体素/TIN/LAS/KML
- **底图图层**：支持3D底图（Esri提供）
- **高程表面**：默认"地面"，可自定义多个表面（地质层/臭氧层等），数据源支持栅格/TIN/高程服务
- **图层转换**：拖动2D图层到"3D图层"组

### 9.1.5 光照与3D分析

| 光照控制 | 视图选项卡 → 光照管理器（时间/日照/环境光）/ 场景属性 → 光照选项卡 |
|----------|-------------------------------------------------------------------------|
| 3D分析 | 视线、视域、视穹、切割片工具（交互式调整，动态反馈） |
| 共享 | Web场景 或 移动场景包(.mspk) |

---

## 9.2 导航

### 9.2.1 核心导航操作

| 操作 | 功能 | 适用维度 |
|------|------|----------|
| 左键单击 | 弹出要素标识 | 2D/3D |
| 左键拖动 | 平移 | 2D/3D |
| 中间滚轮 | 缩放 | 2D/3D |
| 中键单击+拖动 | 旋转和倾斜 | 仅3D |
| 按住右键 | 连续缩放 | 2D/3D |

> 按 **C** 键临时激活浏览工具；按 **Insert** 缩放到全图范围。

### 9.2.2 屏幕导航器

- 位置：视图左下角
- 2D模式：旋转视图、缩放、转向东/西/南方
- 3D模式：旋转方向、以目标点为枢轴转动、缩放、上下移动相机、环视
- 默认：地图隐藏，场景以标题状态显示
- 自定义：工程 → 选项 → 导航 → 屏幕导航器配置

### 9.2.3 地图比例与3D高度

- **2D比例**：屏幕左下角手动输入或从比例列表选择
- **3D高度**：显示地面以上相机高度（区别于Z值=指针位置实际高程）

### 9.2.4 暂停/刷新绘制

| 按钮 | 功能 |
|------|------|
| 刷新绘制 | 取消当前绘制，已绘制的要素保留 |
| 暂停绘制 | 暂停所有绘制，可继续导航/编辑而不触发重绘 |

---

## 9.3 视图链接

| 模式 | 说明 | 适用场景 |
|------|------|---------|
| 中心链接 | 仅同步地图中心 | 从不同角度查看同一位置 |
| 中心和比例链接 | 同步中心、比例和旋转 | 显示同一数据的不同图层 |

> 多个2D视图链接时因窗口纵横比不同可能存在地理范围不匹配。新工程默认关闭链接。

---

## 9.4 弹出窗口（Pop-ups）

### 9.4.1 浏览工具图层顺序选项

| 选项 | 行为 |
|------|------|
| 顶部图层 | 仅顶部图层返回弹出窗口 |
| 可见图层 | 仅可见图层返回 |
| 可选图层 | 仅标记为可选的图层 |
| 内容中的已选内容 | 仅内容窗格中选中的图层 |
| 无弹出窗口 | 不返回任何弹出窗口 |

### 9.4.2 弹出窗口结构

1. **结果列表**（树视图）：按图层分组，支持选择/排序/闪烁/复制记录/相关数据导航
2. **属性显示**：可配置自定义文本/字段值/图表/图像/HTML/Arcade表达式

### 9.4.3 关键功能

- **固定弹出窗口**：将单个要素弹出窗口固定到屏幕，支持并排比较多个
- **方向控制**：隐藏顶部/底部、垂直/水平分割切换
- **坐标体系**：点=点位置 / 线=中点 / 面=质心
- **M感知要素**：支持Measure/MinMeasure/MaxMeasure/MeasureValues/Parts字段
- **自定义**：右键图层→配置弹出窗口（标题/媒体/布局/转盘/相关数据/样式格式/HTML/Arcade/经典模式）

---

## 9.5 符号系统

### 9.5.1 11种主符号方法

| 序号 | 方法 | 功能 | 适用 |
|------|------|------|------|
| 1 | 单一符号 | 所有要素同一符号 | 全部 |
| 2 | 唯一值 | 按字段分配不同符号 | 全部 |
| 3 | 分级色彩 | 色彩显示定量差异 | 全部 |
| 4 | 分级符号 | 符号大小显示定量差异 | 全部 |
| 5 | 二元色彩 | 两字段定量差异 | 全部 |
| 6 | 未归类的颜色 | 未分级定量差异 | 全部 |
| 7 | 比例符号 | 未分类按比例调整大小 | 全部 |
| 8 | 点密度 | 面中分布的点符号 | 仅面 |
| 9 | 图表 | 饼图/条形图多字段 | 全部 |
| 10 | 热点图 | 点密度连续颜色梯度 | 仅点 |
| 11 | 字典渲染器 | 多属性应用符号 | 全部 |

### 9.5.2 唯一值符号化

- 最多**3个字段**组合（或Arcade表达式）
- 配色方案自动筛选 / 比例符号类（不同比例范围不同符号）
- 符号类管理：可见性/排序/分组/标题/计数显示

### 9.5.3 分级色彩 — 6种分类方法

| 方法 | 说明 |
|------|------|
| 自然间断点(Jenks) | 最小化类内差异，最大化类间差异 |
| 分位数 | 每类等量要素 |
| 等间隔 | 类范围相等 |
| 几何间隔 | 非正态分布数据优化 |
| 标准差 | 按平均值和标准差分类 |
| 手动间隔 | 手动编辑中断值 |

**关键参数**：归一化、配色方案（连续/扩散）、关键中断（0值拐点）、建议≤7类、采样默认10000条、直方图辅助选择

### 9.5.4 4种视觉变量（二级符号化）

| 视觉变量 | 适用要素 | 说明 |
|---------|---------|------|
| 透明度 | 全部 | 按字段调整 |
| 颜色 | 全部 | 按连续值改变 |
| 大小/轮廓宽度 | 全部（面为轮廓宽度） | 按数值字段 |
| 旋转 | 点/线（面不可用） | 按字段设定角度 |

### 9.5.5 符号结构三要素

| 要素 | 说明 |
|------|------|
| 符号图层 | 描边层/填充层/图标层 |
| 符号结构 | 图层组合方式（添加/移除/重排） |
| 符号效果 | 空间处理（圆环效果=内部透明+边界阴影） |

### 9.5.6 符号图层绘制（道路交叉点）

| 设置 | 说明 |
|------|------|
| 连接(Join) | 移除同类型要素相交处轮廓 |
| 连接与合并(Join & Merge) | 移除不同类型要素相交处轮廓 |
| 无连接(No Join) | 渡轮等特殊类型 |
| 绘制顺序 | 顶部符号不被遮挡，不提供"连接与合并" |

### 9.5.7 符号化完整工作流

1. 选择要素图层 → 符号系统下拉选方法
2. 符号系统窗格单击符号 → 格式化符号模式
3. 图库选项卡（浏览样式）或属性选项卡（修改属性）
4. 底部预览 → 单击应用

**快捷操作**：Ctrl/Shift多选符号 → 右键"格式化符号" / 更多→格式化所有符号

### 9.5.8 相关地理处理工具

| 工具 | 功能 |
|------|------|
| 将图层符号系统与样式匹配 | 预定义符号应用到图层 |
| 应用图层的符号设置 | 一个图层符号复制到另一个 |

---

## 9.6 标注系统

### 9.6.1 标注核心概念

| 标注（动态） | 注记（静态） |
|-------------|-------------|
| 位置自动生成 | 人工放置 |
| 不可选择 | 可独立选择 |
| 无法编辑单个显示属性 | 可逐个编辑 |

### 9.6.2 标注引擎对比

| 引擎 | 特点 |
|------|------|
| **Maplex Label Engine**（默认） | 高级放置+智能冲突检测 |
| Standard Label Engine | 基本放置 |

> ⚠️ Maplex→Standard 切换会**丢失所有高级放置设置**，不可恢复。

### 9.6.3 Maplex四大标注放置属性

**1. 位置 (Position)** — 标注如何放置？
- 点/线/面各有独特位置选项
- 线要素：弯曲标注或平直标注
- 支持字间距、字符间距、投影刻度对齐

**2. 自适应策略 (Adaptive Strategies)** — 如何自适应地图版面？
- 可用策略：标注堆叠、要素超限、减小字型、标注缩写、键编号
- 可指定策略优先级顺序

**3. 冲突解决 (Conflict Resolution)** — 多标注竞争谁胜出？
- 要素权重：0~1,000（0=可用空间，1,000=不可被压盖）
- 内部/边界权重（面要素）、背景标注、标注密度控制
- 大要素可放置多个标注、移除重复标注

**4. 权重和障碍** — 标注优先放自由空间，如需压盖选总权重最低的位置

### 9.6.4 地图级别标注属性

| 工具 | 功能 |
|------|------|
| 暂停 | 暂停标注绘制 |
| 锁定 | 锁定当前位置和大小 |
| 查看未放置 | 显示无法放置的标注 |
| 优先级/权重 | 调整标注顺序 |
| 缩写字典 | 创建/管理缩写（仅Maplex） |
| 键编号组 | 创建/管理键编号（仅Maplex） |
| 草稿质量 | 速度更快但标注更少（仅Maplex） |

### 9.6.5 标注管理

| 操作 | 方法 |
|------|------|
| 开启标注 | 标注选项卡 → Label按钮 |
| 标注类视图 | 内容面板→按标注列出→批量管理/复制粘贴属性 |
| 标注表达式 | 支持Arcade/Python/VBScript，多字段拼接+条件文本 |
| 参考比例 | 设置后标注随缩放放缩，否则保持固定大小 |

---

## 9.7 地图布局

### 9.7.1 添加布局的三种方法

| 方法 | 操作 |
|------|------|
| 空白布局 | 插入→新建布局（ANSI/ARCH/ISO预定义或自定义，最大3600×3600英寸） |
| 导入布局库 | 使用`.pagx`模板，库通过元数据标题+缩略图展示，支持团队共享 |
| 导入布局文件 | 导入任意`.pagx`，可选"重用现有地图"避免重复复制 |

### 9.7.2 图例

**核心规则**：一个图例只能指向一个地图框；静态（显示所有图层）或动态（仅显示可见图层）

**添加工作流**：选择目标地图框 → 插入→图例 → 绘制矩形框 → "排列图例"格式化

**图例管理**：添加/移除/重新排序/图层顺序强制/标题/列数/间距/字体/背景/图例图面

### 9.7.3 布局元素

| 元素 | 插入方式 |
|------|----------|
| 地图框 | 插入→地图框→选择地图 |
| 比例尺 | 插入→比例尺（线/交替/刻度） |
| 指北针 | 插入→指北针（多预定义样式） |
| 动态文本 | 插入→动态文本（标题/日期/坐标系/制图单位） |

### 9.7.4 地图系列

| 类型 | 说明 |
|------|------|
| 空间序列 | 基于索引要素（格网/行政区划）自动生成多页 |
| 书签序列 | 基于地图书签生成 |

---

## 9.8 导出

### 9.8.1 12种导出格式

| 格式 | 类别 | 颜色空间 | 地理配准 | 适用场景 |
|------|------|---------|:--:|------|
| AIX | 矢量 | - | - | Adobe Creative Cloud |
| BMP | 栅格 | RGB | - | Windows位图 |
| EMF | 矢量 | - | - | 嵌入Word |
| EPS | 矢量 | CMYK/RGB | - | 出版行业标准 |
| GIF | 栅格 | RGB | ✓ | 256色+透明 |
| JPEG | 栅格 | RGB | ✓ | 有损压缩，文件小 |
| **PDF** | **矢量** | **-** | **✓** | **打印/共享首选** |
| PNG | 栅格 | RGB | ✓ | 无损，文字清晰 |
| SVG/SVGZ | 矢量 | - | - | Web查看 |
| TGA | 栅格 | - | - | 32位alpha透明 |
| TIFF | 栅格 | - | ✓ | GIS常用栅格(GeoTIFF) |

### 9.8.2 PDF导出详细参数

**属性选项卡**：移除布局背景/输出为图像/图像压缩(自适应/Deflate/JPEG/JPEG2000/LZW/RLE)/矢量分辨率/栅格重采样/嵌入字体/导出地理配准信息/图层和属性/嵌入颜色配置文件

**安全性选项卡**：打开密码/编辑权限密码/启用复制/屏幕阅读器文本访问/打印限制/编辑限制

**可访问性选项卡**（仅布局）：可访问性标签/标题/语言/主题/作者/关键字

### 9.8.3 常见导出问题

| 问题 | 解决 |
|------|------|
| 字体许可限制嵌入 | 换字体或安装无限制版本 |
| 超出GPU资源 | 关闭部分视图 |
| 空间参考无效 | 使用"检测并修复无效空间参考"工具 |
| 超过服务最大选择计数 | 缩小视图或管理员增加maxSelectionCount |

---

## 9.9 打印

### 9.9.1 基本参数

| 参数 | 说明 |
|------|------|
| 打印机名称/大小/源/方向/份数 | 标准打印参数 |
| 打印为图像 | 栅格化打印 |
| 输出质量 | 控制栅格重采样量（如1:3=打印机dpi的1/3） |

### 9.9.2 平铺参数（仅布局）

| 选项 | 说明 |
|------|------|
| 实际 | 原始大小 |
| 适合纸张 | 收缩/拉伸填满 |
| 块超大 | 跨多页打印 |
| 打印重叠参考线 | 指定重叠量便于拼凑 |

### 9.9.3 地图系列打印

| 选项 | 说明 |
|------|------|
| 全部/当前/所选索引要素/所选页面/页面范围 | 灵活选择打印范围 |

---

## 9.10 工程打包 (.ppkx)

### 9.10.1 两种共享模式对比

| 对比项 | 组织内 | 组织外 |
|--------|--------|--------|
| 企业级GDB数据 | 引用（不复制） | 提取并复制到文件GDB |
| UNC路径数据 | 引用（不复制） | 提取并复制到文件GDB |
| 要素服务数据 | 引用（不复制） | 提取并复制到文件GDB |
| 样式 | 引用（不复制） | 复制到包中 |
| 文件夹/服务器/数据库连接 | 保留 | 全部移除 |

### 9.10.2 创建工程包13步工作流

1. 共享选项卡→包组→工程→打包工程窗格
2. 指定保存位置（在线/磁盘）
3. 命名与指定路径
4. 填写元数据（摘要、标签：最多128个）
5. 分配内容类别（可选，最多20个）
6. 配置"共享组织外部"（关键参数）
7. 配置"包括工具箱"
8. 配置"包括历史项目"（仅有效/所有）
9. 指定门户内容存储文件夹
10. 指定共享方式（所有者/组织/所有人/群组）
11. 添加附件（不支持：`.js/.vbs/.py/.pyc/.pyo/.bat/.ocx`）
12. 分析验证（错误必须解决）
13. 执行打包

### 9.10.3 脚本工具路径最佳实践

```python
import os
prjLocation = arcpy.mp.ArcGISProject('CURRENT').homeFolder
oilwells = os.path.join(prjLocation, "data\\oil.gdb\\wells")
```

---

## 9.11 共享Web地图

### 9.11.1 6种配置类型

**引用注册数据类**（仅ArcGIS Enterprise）：

| 配置 | Web图层类型 | 适用场景 |
|------|------------|---------|
| 引用注册数据：探索性 | 动态地图图像图层 | 定期更新数据+查询 |
| 引用注册数据：可编辑 | 地图图像+可编辑要素图层 | 企业编辑工作流 |
| 引用注册数据：可视化 | 缓存地图图像图层 | 快速可视化+查询 |

**复制所有数据类**（ArcGIS Online和Enterprise）：

| 配置 | Web图层类型 | 适用场景 |
|------|------------|---------|
| 复制所有数据：探索性 | 要素图层(编辑关闭)+切片 | 一般探索 |
| 复制所有数据：可编辑 | 要素图层(编辑打开)+切片 | 外部用户收集数据 |
| 复制所有数据：可视化 | 全转切片图层 | 制作底图 |

### 9.11.2 符号兼容性

| 选项 | 行为 |
|------|------|
| ✓使用兼容符号类型 | Pro符号→Web符号，兼容所有客户端 |
| ✗取消勾选 | 保留CIM符号，新客户端支持，旧客户端降级 |

> 共享至Enterprise 10.8及更早版本时自动转换，该选项不出现。

### 9.11.3 旧版本门户限制

| 版本 | 限制 |
|------|------|
| Enterprise 10.8及更早 | 符号兼容选项不可用 |
| Enterprise 10.6及更早 | 不支持分配类别 |
| Portal 10.4.1及更早 | "引用注册数据：可视化"不可用 |
| Portal 10.3.1及更早 | "引用注册数据：探索性/可编辑"不可用 |

---

## 9.12 GIS资源分析

### 9.12.1 预检查流程

- **错误**（红色）：直接阻止共享，**必须修复**
- **警告**（黄色）：可能影响性能/外观，修复为可选

### 9.12.2 工作流

1. 打开打包/共享窗格→点击"分析"
2. 查看"消息"选项卡错误/警告
3. 右键消息→选择解决方案（粗体为建议操作）
4. 全部修复后可正常共享

### 9.12.3 消息字段

| 字段 | 说明 |
|------|------|
| 类别/严重性/状态 | 分类/错误警告/已解决未解决 |
| 代码 | 问题唯一ID |
| 名称/描述/类型 | 关联图层/简短描述/影响程度 |

---

## 9.13 地图共享方式速查

| 方式 | 格式 | 适用场景 |
|------|------|----------|
| Web地图 | 在线 | ArcGIS Online/Enterprise展示 |
| Web图层 | 要素/切片/矢量切片/场景/影像 | 数据共享与可视化 |
| 地图包 | .mpkx | 离线共享（含地图+数据+符号+布局） |
| 图层包 | .lpkx | 数据分发 |
| 工程包 | .ppkx | 项目移交 |

> CAD要素图层共享到Web时会**自动转换为地理数据库要素**。

---

## 9.14 中国标准制图要素

| 要素 | 标准 |
|------|------|
| 坐标系 | CGCS2000 |
| 比例尺系列 | 1:500、1:1000、1:2000、1:5000、1:10000 |
| 图例位置 | 右下角或下中部 |
| 指北针样式 | 标准三叉指北针 |

---

## 9.15 数值限制速查

| 限制项 | 数值 |
|--------|------|
| 最大布局尺寸 | 3600×3600英寸 |
| 标签最大数量 | 128个 |
| 内容类别最大数量 | 20个 |
| 符号系统采样大小 | 10,000条 |
| 弹出窗口相关数据自动加载 | 前200条 |
| 要素权重范围 | 0-1,000 |
| 分级色彩建议最大类数 | 7 |
| 不支持CMYK导出 | BMP/PNG/JPEG |
| 工程包禁止附件类型 | .js/.vbs/.py/.pyc/.pyo/.bat/.ocx |

> **神经连接**：符号系统 → 第六篇 CASS编码体系（CASS符号库↔ArcGIS符号对照导出）。标注/注记 → 第六篇 属性注记生成（CASS TEXT与ArcGIS标注互转策略）。布局设计 → 第十篇 工程管理（.aprx模板布局复用）。Web共享/Portal → 第十九篇 Web GIS（WMS/WFS/WMTS服务发布）。图面质量 → 第十三篇 质检标准（表征质量/整饰质量检查）。地图系列 → 第十二篇 ArcPy（arcpy.mp自动化批量出图）。

---

# 第十篇：ArcGIS Pro 3.6 入门与工程管理

> 来源：ArcGIS Pro 3.6 官方帮助 — 入门指南、工程管理、界面配置、任务设计

## 10.1 3.6 亮点新特性（未覆盖部分）

| 特性 | 说明 |
|------|------|
| 地图时区 | 可设置地图时间属性，在不同时区显示统一时间值（仅显示层面，不修改数据） |
| Google 逼真3D底图 | 全球/局部场景中可访问，需登录启用权限的 ArcGIS Online 组织 |
| 高斯泼溅图层 | 高保真3D可视化，可捕捉雾/烟/水面反射等效果 |
| 地理数据库方案报告 | 动态HTML输出（Calcite Design System），比较方案工具查看方案差异 |
| 软件公告 | 启动时自动检查与已安装产品相关的公告、弃用通知和软件缺陷 |

### 编辑增强
- **按正切线简化**：移除共线和共圆折点
- **微移命令**：上下左右小距离移动要素
- **宗地结构**：自动解决宗地几何和谱系冲突

### 性能改进
- 地理处理工具可前台线程运行
- 立体地图绘制速度与响应性能显著提升
- 3D场景地形变化响应更灵敏

## 10.2 工程概念与文件结构

### 工程文件核心

| 项目 | 说明 |
|------|------|
| 工程文件 | `.aprx` 单文件，包含地图/场景/布局/报表/表格 |
| 默认地理数据库 | `.gdb`，地理处理工具默认输出位置 |
| 默认工具箱 | `.atbx`，存储地理处理模型和脚本 |
| 主目录文件夹 | 包含工程文件的系统文件夹 |
| 默认样式 | 符号/颜色/布局元素等系统样式 |
| 默认定位器 | 用于查找地图上的位置 |

### 设计原则
- **独立**：工程及关联文件存储在自己的文件夹中
- **简化**：仅包含工作所需的项目和资源连接
- **可重用**：项目可复制到其他工程或另存为方案文件
- **⚠️ 云存储警告**：不官方支持 OneDrive/Google Drive 等云存储服务

### 协作方式

| 方式 | 说明 |
|------|------|
| 共享网络驱动器 | 使用 **UNC 路径**（`\\computer\folder`），避免盘符冲突 |
| 包 (.mpkx/.lpkx/.ppkx) | 压缩文件，包含地图/图层/工程及数据 |
| Web 项目 | 地图/场景/图层保存到 ArcGIS Online/Enterprise |

## 10.3 创建工程（4种方式）

| 方式 | 操作 | 适用场景 |
|------|------|----------|
| 默认模板 | 开始页 → 地图/目录/全球场景/局部场景 | 常规工作 |
| 自定义模板 | 开始页 → 从其他模板开始 → `.aptx` 文件 | 标准化工作流 |
| 无模板 | 绕过开始页直接打开 | 临时浏览（⚠️ 意外关闭无法恢复） |
| 已有工程 | 开始页 → 最近工程列表 | 继续之前工作 |

## 10.4 添加图层（5种方式）

| 方式 | 操作 | 优点 |
|------|------|------|
| 添加数据对话框 | 地图选项卡 → 添加数据 → 浏览 | 最常用，支持在线搜索 |
| 目录窗格拖放 | 目录窗格 → 右键/拖放至地图 | 可先查看元数据 |
| 从路径添加 | 地图选项卡 → 从路径添加数据 | 快速精确（支持URL和UNC） |
| 复制粘贴 | 右键图层 → 复制 → 粘贴到其他地图 | 保持符号系统一致 |
| 图层模板 | 插入 → 图层模板 → 选择模板 | 标准化方案，自动创建数据集 |

> 多图层添加时自动排序：注记 → 点 → 折线 → 面 → 栅格

## 10.5 地图与场景管理

### 2D↔3D转换

| 操作 | 路径 |
|------|------|
| 新建地图/场景 | 插入 → 新建地图 → 地图/全球场景/局部场景/立体地图/底图 |
| 导入 Web 地图 | 目录窗格 → 门户 → 右键 → 添加并打开 |
| 导入地图包 | 插入 → 导入地图 → `.mpkx`/`.mapx` |
| 导入 ArcMap 文档 | 插入 → 导入地图 → `.mxd`/`.sxd`/`.3dd` |

### 地图→场景转换对照

| 场景类型 | 适用范围 | 坐标系 |
|---------|---------|--------|
| 全球场景 | 大范围（全球级） | WGS84 |
| 局部场景 | 小范围（项目级） | 沿用地图坐标系 |

## 10.6 应用程序选项配置

### 关键设置

| 设置项 | 默认值 | 说明 |
|--------|--------|------|
| 启动行为 | 显示开始页面 | 可选"无模板"或"默认工程" |
| 工程保存位置 | `Documents\ArcGIS\Projects` | 可改自定义路径 |
| 为工程创建文件夹 | 选中 | 每个工程独立文件夹 |
| 默认地理数据库 | 每个工程新建 `.gdb` | 可选统一GDB |
| 默认工具箱 | 每个工程新建 `.atbx` | 可选统一工具箱 |
| 备份间隔 | 已启用（默认间隔） | 1-999分钟可调 |
| 主题 | 亮色 | 可选暗色（需重启） |

### 工程修复选项
工程中主文件夹/GDB/工具箱不可访问时：
- **自动创建**（默认）：自动创建新的默认项目
- **提示指定**：手动浏览到现有项目或创建新的

## 10.7 功能区自定义

### 自定义层级

| 级别 | 说明 |
|------|------|
| 新组 | 在现有选项卡中添加命令组 |
| 新选项卡 | 创建全新功能区选项卡 |
| 上下文选项卡 | 仅在特定状态出现（如选中图层后） |

### 导入/导出
- 导出自定义项：`.proExportedUI` 文件
- 包含：功能区、快速访问工具栏、键盘快捷键、窗格集
- 支持重置：所选项目重置 / 全部重置

## 10.8 任务设计（Task Designer）

### 任务结构

```
任务项 (Task Item)
├── 任务组 (Task Group) [可选]
│   └── 任务 (Task)
│       └── 步骤 (Step)
```

### 步骤行为

| 行为 | 说明 |
|------|------|
| 手动 | 用户单击运行执行，单击下一步继续 |
| 自动运行 | 步骤自动运行，用户操作后单击下一步 |
| 自动继续 | 用户单击运行，步骤自动完成后继续 |
| 自动 | 全自动：执行→操作→继续下一步 |
| 可选 | 可跳过，用户单击跳过继续 |

### 步骤配置（4个选项卡）

| 选项卡 | 内容 |
|--------|------|
| 常规 | 名称、行为、工具提示、说明 |
| 操作 | 命令或地理处理工具 |
| 视图 | 设置打开的活动视图 |
| 内容 | 设置活动视图的内容 |

> **快速记录**：开启记录命令 → 在功能区单击命令/工具 → 自动生成步骤（不记录参数值）

> **神经连接**：工程管理 → 第七篇 核心功能（工程.aprx架构）、第十一篇 数据管理（数据源连接/工程数据组织）。许可管理 → 第十二篇 ArcPy（扩展模块许可检查arcpy.CheckExtension）。任务自动化 → 第十二篇 ArcPy（任务→Python脚本转换）。数据导入导出 → 第六篇 CASS工作流（GDB↔DXF转换路径）、第四篇 数据格式（支持格式清单）。环境设置 → 第五篇 坐标系实战（输出坐标系/变换设置）。

---

# 第十一篇：ArcGIS Pro 3.6 数据管理与编辑

> 来源：ArcGIS Pro 3.6 官方帮助 — 地理数据库、数据设计工具、编辑功能、数据验证

## 11.1 地理数据库（GDB）基础

### 定义与架构

地理数据库是 ArcGIS 中组织地理信息的核心容器，所有元素以表形式存储在 DBMS 中。

| 层次 | 说明 |
|------|------|
| 基本数据集 | 要素类（Feature Class）、栅格数据集（Raster Dataset）、表（Table） |
| 存储形式 | 要素类每行一个要素，`Shape` 字段存储几何 |
| 方案 (Schema) | 包含坐标系、坐标分辨率、要素类、拓扑、网络、关系、属性域定义 |
| 空间表达 | 矢量：有序 x,y 坐标 + 可选 m/z 值；栅格：波段+像素数组 |

### 三种地理数据库对比

| 特性 | 文件 GDB (.gdb) | 移动 GDB (.geodatabase) | 企业级 GDB |
|------|:--:|:--:|:--:|
| 存储形式 | 文件夹，每数据集独立文件 | 基于 SQLite 单文件 | 存储在 DBMS（Oracle/SQL Server/PostgreSQL 等） |
| 数据集大小上限 | 默认 1TB（可配置至 256TB） | 2TB | 由 DBMS 决定（几乎无限） |
| 多用户编辑 | ✗ | ✗ | ✓ |
| 版本管理 | ✗ | ✗ | ✓ |
| 编辑者追踪/附件 | ✗ | ✓ | ✓ |
| 条件值 | ✗ | ✓ | ✓ |
| 网络数据集/Terrain | ✓ | ✗ | ✓ |
| 存储效率 | 约为 shapefile 的 1/3 | — | — |

> 选用决策：小项目→文件 GDB；便携交换→移动 GDB；多用户协作→企业级 GDB。

## 11.2 GDB 数据集类型（20种）

### 基础类型

| 数据集 | 说明 |
|--------|------|
| 表 (Table) | 行列组成的存储对象；含空间属性的表 = 要素类 |
| 要素类 (Feature Class) | 同几何类型、同属性、同空间参考的要素集合 |
| 栅格数据集 (Raster Dataset) | 按波段和像素数组组织 |

### 扩展类型

| 数据集 | 用途 | 许可要求 |
|--------|------|----------|
| 3D 对象 | 高级 3D 几何，支持 PBR 和动画 | — |
| 注记 (Annotation) | 可独立选择/定位/修改的文本图形 | — |
| 要素数据集 | 共用坐标系的主题相关要素类集合 | — |
| 拓扑 | 定义要素间空间关系规则，强制执行数据完整性 | — |
| 网络数据集 | 构建交通网模型 | Network Analyst |
| 宗地结构 | 宗地数据管理框架 | — |
| Terrain 数据集 | 多分辨率 TIN 表面 | 3D Analyst |
| 镶嵌数据集 | 大规模影像管理+动态镶嵌 | — |
| 公共设施网络 | 水利/电力/燃气复杂网络 | — |
| 追踪网络 | 简单连通性模型（铁路/水电站） | — |
| 关系类 | 要素类/表之间相关记录的永久关系 | — |
| 尺寸 (Dimension) | 特殊注记，显示长度/距离 | — |

## 11.3 数据设计工具（六大组件）

### 11.3.1 字段 (Fields)

| 参数 | 说明 |
|------|------|
| Field Name / Alias | 正式名称 / 别名 |
| Data Type | 数据类型（文本/数值/日期等） |
| Allow NULL | 是否允许空值 |
| Domain / Default | 绑定的属性域 / 默认值 |
| Precision / Scale | 数值最大位数 / 小数位数 |

**属性窗格字段颜色代码**：橙色=子类型字段、紫色=符号化字段、黄色=高亮字段、灰色=只读、绿色=未使用默认值、蓝色=使用默认值、红色=严重无效值（违反属性域）

### 11.3.2 属性域 (Domains)

| 类型 | 说明 | 适用字段 |
|------|------|----------|
| 范围域 (Range) | 指定最小值~最大值范围 | 数值、日期 |
| 编码值域 (Coded Value) | 指定离散值列表（代码+描述） | 所有类型 |

### 分割/合并策略

| 操作 | 策略 | 说明 |
|------|------|------|
| 分割 | 默认值 / 复制 / 几何比 | 几何比仅限数值字段 |
| 合并 | 默认值 / 总和值 / 几何加权 | 总和值和几何加权仅限数值字段 |

### 11.3.3 子类型 (Subtypes)

五大作用：自动默认值、属性域约束、规则关联、性能优化、自定义规则。

> 示例：城市街道 → local（地方）/ collector（集散）/ arterial（主干），每个子类型不同默认值和属性域。

### 11.3.4 条件值 (Contingent Values)

字段组内字段间的**联动值约束**——在某字段选择值后，系统自动强制执行关联限制。

| 概念 | 说明 |
|------|------|
| 字段组 | 指定字段集合，条件值建立在其上 |
| 限制性字段组 | 严格限制为指定条件值（默认） |
| 非限制性字段组 | 允许提交未指定的值 |
| `<ANY>` | 特殊值，该字段任何值都有效 |
| 停用值 | 历史数据仍可见，但不可用于新编辑 |

**生成模式**：数据模式（按实际数据定义有效组合）/ 方案模式（按属性域创建所有可能组合）

### 11.3.5 属性规则 (Attribute Rules)

| 规则类型 | 目的 | 评估方式 |
|----------|------|----------|
| 计算规则 | 根据编辑模式自动填充属性字段 | 实时或批处理 |
| 约束规则 | 控制数据输入，防止无效数据 | 实时评估 |
| 验证规则 | 高亮显示现有数据错误 | 批处理（延迟） |

**前置条件**：数据集需全局 ID；企业级 GDB 需数据所有者身份；批处理规则需编辑者追踪。
**表达式语言**：ArcGIS Arcade。**兼容性**：添加属性规则后不再兼容 ArcMap 及 ArcGIS Pro ≤2.0。

### 11.3.6 编辑者追踪 (Editor Tracking)

自动记录的 4 个字段：

| 字段 | 内容 |
|------|------|
| `created_user` | 创建者用户名 |
| `created_date` | 创建日期时间 |
| `last_edited_user` | 最后编辑者用户名 |
| `last_edited_date` | 最后编辑日期时间 |

> 时间标准：跨时区数据必须使用 **UTC**。支持的数据集：表、要素类、注记类、尺寸类、要素数据集、镶嵌数据集（移动 GDB 除外）、属性关系类。

## 11.4 数据关系

| 方式 | 说明 | 持久性 |
|------|------|:--:|
| 连接 (Join) | 按公共字段追加属性 | 临时 |
| 关联 (Relate) | 按公共字段临时关联，逐条访问 | 临时 |
| 关系类 (Relationship Class) | GDB 中永久建模表间关系 | 永久 |
| 附件 (Attachment) | 文件与记录关联 | 永久 |
| 拓扑 (Topology) | 要素间空间关系规则 | 永久 |

### 关系类三类应用
1. 地理实体↔地理实体（建筑物↔宗地）
2. 地理实体↔非地理实体（宗地↔所有者）
3. 非地理实体↔非地理实体（所有者↔税码）

## 11.5 编辑功能

### 自动会话机制
ArcGIS Pro 使用**自动会话**：修改/创建数据→自动启动，保存/放弃→自动停止。**无需手动启动/停止**。

### 编辑选项卡八组功能

| 组 | 功能 |
|----|------|
| 剪贴板 | 剪切/复制/粘贴/选择性粘贴 |
| 管理编辑内容 | 编辑状态、地图拓扑、编辑选项 |
| 捕捉 | 设置捕捉偏好 |
| 要素 | 创建要素、修改要素、管理模板 |
| 选择 | 选择方法、属性窗格 |
| 工具 | 自定义工具库 |
| 高程 | 指定 z 值 |
| 校正 | 地面测量↔格网值转换 |

### 2D 转 3D 方法

| 方法 | 说明 |
|------|------|
| 定义图层高程属性 | 从表面/相对于表面/绝对高度获取 z 值 |
| 拉伸成 3D 符号系统 | 2D 要素拉伸为 3D 显示 |
| 按属性转为 3D | 使用属性字段高度值创建含 z 值要素（地理处理） |
| 插值形状 | 从表面插入 z 值（地理处理） |

> ⚠️ 创建要素类时须主动启用 m/z 值存储能力，无法后续添加。

### 属性编辑核心操作

| 操作 | 说明 |
|------|------|
| 自动应用 | 开启后按 Enter 即自动提交；关闭需手动点击"应用" |
| 制作为空 | 字段值设为 Null |
| 获取唯一值 | 列出该字段所有不同值供选择 |
| 复制/粘贴属性 | 要素间属性复制 |
| 传递属性 | 交互式"刷"属性 |
| 仅选择无效对象 | 快速筛选违反数据规则的要素 |

### 拓扑编辑

| 类型 | 说明 |
|------|------|
| 地图拓扑 | 临时编辑模式，自动同步编辑关联要素 |
| 地理数据库拓扑 | 数据集级别空间关系定义，通过规则验证和修复 |

## 11.6 数据验证（Data Reviewer）

> 需 Data Reviewer 许可。

**两种检查方式**：

| 方式 | 说明 |
|------|------|
| 自动检查 | 无需人工干预，通过可配置校验库验证数据质量（属性/完整性/空间关系） |
| 半自动检查 | 人工交互引导（目视检查、识别缺失/错放要素） |

**实施阶段**：预防式（编辑时实时评估）→ 评估式（事后基线评估）

**错误生命周期**：检查 (Review) → 更正 (Correction) → 验证 (Verification)

## 11.7 数据创建与管理方式

| 操作 | 说明 |
|------|------|
| 创建数据集 | 目录窗格直接新建 |
| 复制和粘贴 | 复制/移动整个要素数据集或单个要素类/表 |
| 导入数据集 | 从其他位置导入或转换格式后导入 |
| 导出数据集 | 导出到其他 GDB（可改格式） |
| 加载数据 | 加载到现有表或要素类 |
| 提取数据 | 提取数据子集到其他 GDB 或 .xml |

---

## 11.9 数据设计五层金字塔架构

> 来源：ArcGIS Pro 3.6 官方帮助 — 数据设计

### 核心理念

"成功的 GIS 构建于精心设计的地理数据集合之上，该集合可有效地对世界建模并可进行简单而高效的显示、编辑和分析。"

### 五层架构（由基础到高级）

```
         ┌──────────────┐
         │ 5.属性规则    │ ← 自动计算+约束+验证
         ├──────────────┤
         │ 4.条件值      │ ← 字段间联动约束
         ├──────────────┤
         │ 3.子类型      │ ← 要素分类+默认值配置
         ├──────────────┤
         │ 2.属性域      │ ← 字段有效值限制
         ├──────────────┤
         │ 1.字段        │ ← 最基本结构单元
         └──────────────┘
```

| 层级 | 名称 | 核心机制 | 复杂度 | 测绘应用示例 |
|------|------|----------|:---:|-------------|
| **L1** | 字段 (Fields) | 定义数据类型、长度、别名、是否可空 | ★ | 建筑物名称(Text)/层数(Short)/面积(Double) |
| **L2** | 属性域 (Domains) | 范围域(数值范围)或编码值域(离散列表) | ★★ | 地类编码域：011=水田/012=水浇地/013=旱地 |
| **L3** | 子类型 (Subtypes) | 按分类字段分组，每组不同默认值和域 | ★★★ | 房屋→砼房/砖房/土木房，各不同层数范围 |
| **L4** | 条件值 (Contingent Values) | 字段间联动值约束（选A字段→B字段可选值联动变化） | ★★★★ | 选"道路"→路面类型可选沥青/水泥；选"河流"→不可选路面类型 |
| **L5** | 属性规则 (Attribute Rules) | 计算规则(自动填充)+约束规则(阻止无效)+验证规则(事后检查) | ★★★★★ | 面积=Shape_Area自动同步；宗地号唯一性校验 |

### 操作入口

```
目录窗格 → 右键要素类/表 → 数据设计 → 字段/属性域/子类型/属性规则/条件值
```

### 设计原则

1. **自底向上构建**：先完成字段→再定义域→再划分子类型→最后加规则
2. **域优先原则**：能用属性域解决的问题不用条件值；能用条件值的不用属性规则
3. **最小复杂度原则**：仅在业务需求明确需要时才升级层次
4. **测绘场景优先级**：字段(L1)+属性域(L2)覆盖80%场景；子类型(L3)覆盖地类分类需求；属性规则(L5)用于面积/编号自动计算

---

## 11.10 编辑功能增强（3.6新增）

| 功能 | 说明 | 测绘应用 |
|------|------|----------|
| **微移命令** | 将要素上/下/左/右小距离移动 | 地物微调、接边修正 |
| **流式传输工具** | 可设置单次撤销折点数、启用/禁用活动捕捉 | 快速数字化、水域/道路连续采集 |
| **流式立体地图** | 滚轮设置z值，按B键设为图像存储z值 | 立体测图高程采集 |
| **传输属性工具** | 指针选择多个重叠目标要素 | 批量属性刷入 |
| **编辑折点保留** | 编辑时要素符号保持原始位置直到完成 | 所见即所得，减少视觉干扰 |
| **反转方向** | 独立工具（修改要素窗格中） | 管线流向反转 |

### 版本化编辑（企业级GDB）

| 特性 | 说明 |
|------|------|
| **隔离编辑** | 多用户独立编辑，在系统表中追踪变更 |
| **协调提交** | 保存时进行协调(Reconcile)和发布(Post) |
| **冲突处理** | 可设置冲突定义和协调方式，交互检查冲突 |
| **宗地冲突解决** (3.6新增) | 协调版本时自动解决宗地几何和谱系冲突 |

### 3D编辑场景选择

| 场景类型 | 适用范围 | 测量精度 |
|----------|----------|----------|
| **局部场景** | 小范围（项目级） | **高精度** — 使用投影坐标系，最小化畸变 |
| **全球场景** | 大范围（全球级） | 低精度 — 使用WGS84，存在球面畸变 |

> 测绘编辑建议：立面测量、倾斜摄影单体化编辑必须使用**局部场景**以确保精度。 |

> **神经连接**：GDB数据管理 → 第七篇 核心功能（数据组织架构）、第十篇 工程管理（数据连接/源管理）。拓扑规则 → 第十三篇 质检标准（拓扑一致性检查）。编辑工具 → 第六篇 CASS工作流（DWG编辑↔GDB编辑对照）、第十七篇 数据转换（属性字段映射编辑）。字段管理 → 第十七篇 转换方法论（GDB字段→CASS属性映射设计）。空间索引 → 第十九篇 Web GIS（空间索引→WFS查询性能）。影像/栅格管理 → 第十八篇 遥感（镶嵌数据集/金字塔构建）。

---

# 第十二篇：ArcGIS Pro 3.6 ArcPy 参考手册

> 来源：ArcGIS Pro 3.6 官方帮助文档 — ArcPy 参考（多队友并行爬取合并）

---

## 12.1 ArcPy 概述

**ArcPy** 是 Esri 开发的 Python 站点包，用于地理数据分析、数据转换、数据管理和制图自动化。ArcPy 和 **ArcGIS API for Python** 是配套库：ArcPy 操作桌面 GIS（本地数据+地理处理），ArcGIS API for Python 操作 Web GIS。

### 模块体系（完整版：44工具箱模块 + 11附加模块）

> 来源：ArcGIS Pro 3.6 arcpy-modules 官方文档

#### 一、工具箱模块（44个，按 `arcpy.<别名>` 调用）

| 序号 | 模块名称 | 别名 | 核心用途 |
|------|----------|------|----------|
| 1 | 3D Analyst | `arcpy.ddd` | 3D表面分析、LiDAR、TIN、可见性 |
| 2 | AllSource | `arcpy.intelligence` | 多源情报数据导入、轨迹模式分析 |
| 3 | 分析 | `arcpy.analysis` | 空间叠加、缓冲区、邻近分析、统计 |
| 4 | 航空 | `arcpy.aviation` | 航空内容创建、分析和管理 |
| 5 | 测深 | `arcpy.bathymetry` | 海洋测深数据管理 |
| 6 | Business Analyst | `arcpy.ba` | 市场分析、人口统计、贸易区域 |
| 7 | 制图 | `arcpy.cartography` | 掩膜创建、要素简化聚合、密度控制 |
| 8 | 转换 | `arcpy.conversion` | 各格式间数据转换 |
| 9 | 犯罪分析和安全 | `arcpy.ca` | 犯罪事件分析、模式调查 |
| 10 | Data Interoperability | `arcpy.di` | FME引擎空间ETL |
| 11 | 数据管理 | `arcpy.management` | GDB/要素类/栅格/表开发管理维护 |
| 12 | Data Reviewer | `arcpy.reviewer` | 数据质量控制、批处理校验 |
| 13 | 国防 | `arcpy.defense` | 位置/距离/范围/可见性分析 |
| 14 | 编辑 | `arcpy.edit` | 批量编辑要素 |
| 15 | GeoAI | `arcpy.geoai` | 地理空间AI模型训练与使用 |
| 16 | GeoAnalytics Desktop | `arcpy.geoanalytics` | Apache Spark桌面并行大数据分析 |
| 17 | GeoAnalytics Server | `arcpy.gapro` | GeoAnalytics Server分布式处理 |
| 18 | 地理编码 | `arcpy.geocoding` | 地址→坐标/反向地理编码 |
| 19 | Geostatistical Analyst | `arcpy.ga` | Kriging系列高级统计插值 |
| 20 | Image Analyst | `arcpy.ia` | 影像分析、分类、深度学习 |
| 21 | 室内定位 | `arcpy.indoorpositioning` | IPS信息模型、室内定位 |
| 22 | 室内 | `arcpy.indoors` | ArcGIS Indoors数据托管 |
| 23 | 知识图谱 | `arcpy.kg` | 知识图谱创建与数据加载 |
| 24 | 线性参考 | `arcpy.lr` | 线性参考系统操作 |
| 25 | 位置参考 | `arcpy.locref` | LRS配置管理（管道/公路） |
| 26 | Maritime | `arcpy.maritime` | S-57/S-100海图管理 |
| 27 | 多维 | `arcpy.md` | netCDF/GRIB/HDF/CRF多维数据 |
| 28 | Network Analyst | `arcpy.nax`/`arcpy.na` | 交通网络分析与数据集维护 |
| 29 | 网络逻辑示意图 | `arcpy.nd` | 逻辑示意图管理与模板 |
| 30 | 定向影像 | `arcpy.oi` | 定向影像数据集管理 |
| 31 | 宗地 | `arcpy.parcels` | 宗地结构数据管理 |
| 32 | 公共交通 | `arcpy.transit` | GTFS数据转换分析 |
| 33 | 栅格分析 | `arcpy.ra` | Image Server分布式栅格分析 |
| 34 | 即用型 | `arcpy.agolservices` | ArcGIS Online托管地理处理服务 |
| 35 | 实景映射 | `arcpy.rm` | 无人机/航拍制图产品 |
| 36 | 服务器 | `arcpy.server` | Web图层/地图服务管理 |
| 37 | 时空模式挖掘 | `arcpy.stpm` | 时空聚类/预测/立方体 |
| 38 | Spatial Analyst | `arcpy.sa` | 栅格分析、地图代数、水文 |
| 39 | 空间统计 | `arcpy.stats` | 空间分布/模式/关系分析 |
| 40 | 标准要素分析 | `arcpy.sfa` | 门户要素空间分析 |
| 41 | 地区设计 | `arcpy.td` | 销售区/服务区构建平衡 |
| 42 | 地形生产 | `arcpy.topographic` | 基础地形图生产（3.6新增） |
| 43 | 追踪网络 | `arcpy.tn` | 追踪网络创建配置 |
| 44 | 公共设施网络 | `arcpy.un` | 公共设施网络创建配置 |

#### 二、附加模块（11个，非工具功能）

| 序号 | 模块名称 | 别名 | 核心用途 |
|------|----------|------|----------|
| 1 | 图表 | `arcpy.charts` | 数据可视化图表创建 |
| 2 | **数据访问** | `arcpy.da` | 游标操作、编辑会话、NumPy转换 |
| 3 | 地理编码 | `arcpy.geocoding` | 定位器属性、批量地理编码工作流 |
| 4 | 影像分析 | `arcpy.ia` | 影像/栅格高级处理 |
| 5 | **制图** | `arcpy.mp` | 工程/地图/布局自动化 |
| 6 | 元数据 | `arcpy.metadata` | 地理空间元数据管理 |
| 7 | Network Analyst | `arcpy.nax`/`arcpy.na` | 现代化网络分析Python接口 |
| 8 | 共享 | `arcpy.sharing` | Web图层/地图服务共享草稿 |
| 9 | Spatial Analyst | `arcpy.sa` | 栅格分析工作流自动化 |
| 10 | 公共设施网络 | `arcpy.un` | 子网控制器分配、网络要素关联 |
| 11 | GeoAI | `arcpy.geoai` | AI模型集成 |

> 注：`arcpy.nax/na`、`arcpy.sa`、`arcpy.ia`、`arcpy.un` 同时出现在两类模块中——工具箱模块提供地理处理工具，附加模块提供高级类和工作流自动化函数。

### 3.6 版 ArcPy 新API

| 新功能 | 类型 | 说明 |
|--------|------|------|
| **EnvManager** | 修饰符/上下文管理器 | `@EnvManager(workspace="...")`装饰函数设置环境，可嵌套 |
| **LogHistory** | 上下文管理器 | 控制是否写入外部地理处理日志文件 |
| **LogMetadata** | 上下文管理器 | 控制工具执行结果是否包含元数据 |
| **SeverityLevel** | 上下文管理器 | 控制异常抛出方式（Error/Warning/Info） |
| **CreateTable** | `arcpy.da` 新函数 | 在指定位置创建带已定义字段集的表/要素类 |
| **Editor.version** | Editor类新参数 | `Editor(workspace, version="...")`版本化编辑支持 |
| **AddMessage 链接** | 增强 | AddMessage输出支持可单击超链接 |
| **调试简化** | 环境 | VS/VSCode调试不再需要设置调试模式；VS Code可用ArcGIS Pro调试扩展 |

### Python 环境（3.6版）

- Python 3.13.7，NumPy 2.2.0
- 通过 **Conda** 管理包，软件包管理器集成在 ArcGIS Pro 中
- 命令行启动：`"%PROGRAMFILES%\ArcGIS\Pro\bin\Python\Scripts\propy"` 或 `proenv`
- 所有地理处理工具均可通过 Python 访问
- 支持 Python 窗口、ArcGIS Notebooks（Jupyter）、外部 .py 脚本

### Python 2→3 迁移要点

| 变更项 | Python 2 | Python 3 |
|--------|----------|----------|
| print | 语句 `print x` | 函数 `print(x)` |
| 字符串 | str/unicode | 全部 Unicode |
| 字典迭代 | `.iteritems()` | `.items()` |
| range/xrange | 两者并存 | range 替代 xrange |
| arcpy.mapping | 旧模块 | → `arcpy.mp` |
| 编码 | 宽松 | 严格，推荐 `# coding: utf-8` |

> ArcGIS Pro **不再支持**：Coverage、几何网络、个人地理数据库(.mdb)、ArcMap文档模板

---

## 12.2 ArcPy 常用函数速查（120+ 个，21个类别）

### 核心数据函数

| 函数 | 功能 | 典型用法 |
|------|------|----------|
| **Exists** | 检查数据是否存在，返回布尔值 | `arcpy.Exists("C:/data.gdb/roads")` |
| **Describe** | 返回数据描述对象 | `desc = arcpy.Describe(fc); desc.shapeType` |
| CreateScratchName | 创建唯一临时路径 | `arcpy.CreateScratchName("tmp", "", "FeatureClass")` |
| CreateUniqueName | 追加数字创建唯一名 | `arcpy.CreateUniqueName("buffer", workspace)` |

### 参数传递函数（脚本工具核心）

| 函数 | 功能 |
|------|------|
| **GetParameterAsText**(index) | 按索引获取输入参数 |
| **SetParameter**(index, value) | 按索引设置输出参数 |
| SetParameterAsText(index, text) | 按索引设置文本输出 |

### 消息反馈函数

| 函数 | 严重性 | 用途 |
|------|--------|------|
| **AddMessage**(msg) | 0（信息） | 打印进度/状态信息 |
| **AddWarning**(msg) | 1（警告） | 提示非致命问题 |
| **AddError**(msg) | 2（错误） | 报告致命错误 |
| AddIDMessage(code, type) | 系统ID | 使用系统预定义消息 |

### 列表函数

| 函数 | 功能 |
|------|------|
| **ListFeatureClasses**({wildcard}, {type}) | 列出工作空间中的要素类 |
| **ListFields**(dataset, {wildcard}, {type}) | 列出数据集字段 |
| **ListDatasets**({wildcard}, {type}) | 列出数据集 |
| **ListWorkspaces**({wildcard}, {type}) | 列出工作空间 |
| **ListRasters**({wildcard}, {type}) | 列出栅格数据集 |
| ListTables({wildcard}) | 列出表 |
| ListFiles({wildcard}) | 列出文件 |

### 环境函数

| 函数 | 功能 |
|------|------|
| env.workspace | 设置/获取当前工作空间 |
| ClearEnvironment(setting) | 重置单个环境设置 |
| ResetEnvironments() | 重置所有环境设置 |
| ListEnvironments() | 列出所有环境名称 |

---

## 12.3 ArcPy 常用类速查（51 个类）

### 几何类

| 类 | 说明 | 创建方式 |
|----|------|----------|
| **Point**(X, Y, {Z}, {M}, {ID}) | 单点 | `arcpy.Point(120.5, 30.2)` |
| **Array**({items}) | 点数组，构造几何 | `arcpy.Array([p1, p2, p3])` |
| **Polyline**(inputs, {sr}) | 折线 | `arcpy.Polyline(array, sr)` |
| **Polygon**(inputs, {sr}) | 多边形 | `arcpy.Polygon(array, sr)` |
| **PointGeometry**(inputs, {sr}) | 点几何 | `arcpy.PointGeometry(point, sr)` |
| Multipoint(inputs, {sr}) | 多点 | `arcpy.Multipoint(array, sr)` |
| **Geometry**(text, {sr}) | 通用几何（WKT/WKB） | `arcpy.FromWKT("POINT(1 2)")` |
| **Extent**(XMin, YMin, XMax, YMax...) | 矩形范围 | `arcpy.Extent(0,0,100,100)` |

### 空间参考类

| 类 | 创建方式 |
|----|----------|
| **SpatialReference**({item}, {vcs}, {text}) | 6种方式：显示名/规范名/WKID/.prj文件/VCS/WKT字符串 |

```python
sr = arcpy.SpatialReference(32145)           # WKID
sr = arcpy.SpatialReference("WGS 1984")      # 显示名
sr = arcpy.SpatialReference(text=wkt_string) # WKT
sr = arcpy.Describe(fc).spatialReference     # 从数据获取
```

### 数据管理类

| 类 | 说明 |
|----|------|
| **EnvManager** | 上下文管理器控制环境设置 |
| **Result** | 地理处理工具结果对象 |
| **Field** | 表字段属性 |
| **FieldMap** | 字段映射定义 |
| **FieldMappings** | FieldMap 集合 |
| **ValueTable** | 灵活的多行列值表 |
| **Raster**(inRaster, {is_multidimensional}) | 栅格对象 |
| FeatureSet / RecordSet | 要素/记录的轻量级表示 |

### EnvManager 用法

```python
with arcpy.EnvManager(workspace="C:/data", extent="NAD 1983", outputCoordinateSystem=4326):
    arcpy.Buffer_analysis("roads", "roads_buffer", "100 Meters")
```

---

## 12.4 arcpy.da 数据访问模块

### 游标对比

| 游标 | 访问 | 核心方法 | 适用场景 |
|------|------|----------|----------|
| **SearchCursor**(table, fields, {where}) | 只读 | reset() | 查询/遍历数据 |
| **InsertCursor**(table, fields) | 写入 | insertRow(row) → OID | 批量添加记录 |
| **UpdateCursor**(table, fields, {where}) | 读写 | updateRow(row), deleteRow() | 批量修改/删除 |

### 重要令牌

| 令牌 | 返回 |
|------|------|
| `SHAPE@XY` | (X, Y) 元组 |
| `SHAPE@` | 完整 Geometry 对象 |
| `SHAPE@WKT` | WKT 字符串 |
| `OID@` | ObjectID 字段 |
| `SHAPE@AREA` | 面积（面要素） |
| `SHAPE@LENGTH` | 长度（线要素） |

### 完整代码模式

```python
# SearchCursor — 查询（with 语句自动关闭）
with arcpy.da.SearchCursor(fc, ['NAME', 'SHAPE@XY', 'POPULATION'], "POP > 10000") as cursor:
    for name, xy, pop in cursor:
        print(f"{name}: {pop} at {xy}")

# InsertCursor — 插入
with arcpy.da.InsertCursor(fc, ['NAME', 'SHAPE@XY']) as cursor:
    cursor.insertRow(('新点', (120.5, 30.2)))

# UpdateCursor — 批量更新
with arcpy.da.UpdateCursor(fc, ['STATUS', 'AREA']) as cursor:
    for row in cursor:
        if row[1] > 10000:
            row[0] = '大型'
            cursor.updateRow(row)
```

### Editor 编辑会话

```python
edit = arcpy.da.Editor(workspace)
edit.startEditing(with_undo=True)    # 启动会话
edit.startOperation()                # 开始操作
# ... 执行编辑 ...
edit.stopOperation()                 # 停止操作
edit.stopEditing(save_changes=True)  # 保存并退出

# 或使用 with 语句
with arcpy.da.Editor(workspace) as edit:
    with arcpy.da.InsertCursor(fc, fields) as cursor:
        cursor.insertRow(row_data)
```

### Walk 遍历函数

```python
for dirpath, dirnames, filenames in arcpy.da.Walk(workspace, datatype="FeatureClass"):
    for fc in filenames:
        full_path = f"{dirpath}\\{fc}"
```

### NumPy 互转

| 函数 | 方向 |
|------|------|
| `FeatureClassToNumPyArray` | 要素类 → NumPy |
| `TableToNumPyArray` | 表 → NumPy |
| `NumPyArrayToFeatureClass` | NumPy → 点要素类 |
| `NumPyArrayToTable` | NumPy → 表 |
| `ExtendTable` | NumPy 连接到表 |

---

## 12.5 arcpy.mp 制图模块

### ArcGISProject 核心模式

```python
# 打开工程
aprx = arcpy.mp.ArcGISProject(r"C:\Project\map.aprx")  # 磁盘
aprx = arcpy.mp.ArcGISProject("CURRENT")                # 当前工程
# 遍历
for m in aprx.listMaps():
    for lyr in m.listLayers():
        print(lyr.name, lyr.dataSource)
# 保存
aprx.save() 或 aprx.saveACopy("new.aprx")
```

### 关键工作流

| 工作流 | 核心代码 |
|--------|----------|
| 批量更新数据源 | `aprx.updateConnectionProperties(old_path, new_path)` |
| 导入旧文档 | `aprx.importDocument("old.mxd")` |
| 创建地图 | `aprx.createMap("新地图")` |
| 添加图层 | `m.addDataFromPath("C:/data/roads.shp")` |
| 插入图层（定位） | `m.insertLayer(ref_layer, new_layer, "BEFORE")` |
| 导出布局 | `lyt.exportToPDF("output.pdf", resolution=300)` |
| 批量导出地图系列 | `ms.exportToPDF("series.pdf", "ALL")` |

### Layer 关键属性

| 属性 | 说明 |
|------|------|
| `lyr.dataSource` | 数据源完整路径 |
| `lyr.isBroken` | 是否损坏 |
| `lyr.definitionQuery` | 定义查询（可读写） |
| `lyr.symbology` | 符号系统对象 |
| `lyr.visible` | 可见性 |
| `lyr.transparency` | 透明度 0-100 |

---

## 12.6 arcpy.management 数据管理工具箱精选

| 工具 | 功能 | 典型用法 |
|------|------|----------|
| **CreateFileGDB** | 创建文件地理数据库 | `arcpy.management.CreateFileGDB("C:/data", "new")` |
| **Copy** | 复制数据 | `arcpy.management.Copy(src, dst)` |
| **Delete** | 删除数据 | `arcpy.management.Delete(fc)` |
| **AddField** | 添加字段 | `arcpy.management.AddField(fc, "NAME", "TEXT")` |
| **CalculateField** | 计算字段值 | `arcpy.management.CalculateField(fc, "NAME", '"新值"')` |
| **CopyFeatures** | 复制要素 | `arcpy.management.CopyFeatures(src, dst)` |
| **FeatureClassToShapefile** | 导出 Shapefile | `arcpy.management.FeatureClassToShapefile(fc, folder)` |
| **Project** | 投影变换 | `arcpy.management.Project(in_fc, out_fc, sr)` |
| **Buffer** | 缓冲区 | `arcpy.analysis.Buffer(fc, buf, "100 Meters")` |
| **Clip** | 裁剪 | `arcpy.analysis.Clip(in_fc, clip_fc, out_fc)` |
| **Merge** | 合并 | `arcpy.management.Merge([fc1, fc2], merged)` |
| **Append** | 追加 | `arcpy.management.Append(src, target)` |
| **JoinField** | 连接字段 | `arcpy.management.JoinField(target, "ID", join_tbl, "ID")` |
| **SelectLayerByAttribute** | 属性选择 | `arcpy.management.SelectLayerByAttribute(lyr, "NEW", "POP > 1000")` |

---

## 12.7 arcpy.sa Spatial Analyst 模块

### 四大组件

| 组件 | 说明 |
|------|------|
| **类** | 定义工具参数（邻域/克里金模型/重映射/模糊隶属度等11个类别） |
| **函数** | 创建管理栅格数据集（71个函数，11个分类） |
| **地理处理函数** | 22个工具类别（在Spatial Analyst工具箱中） |
| **运算符** | 地图代数（算术/按位/布尔/关系） |

### 函数分类

| 分类 | 示例函数 |
|------|----------|
| 分析 | Con, Pick, SetNull |
| 外观 | Hillshade, Aspect, Slope |
| 波段索引 | NBR, NDVI, NDWI |
| 分类 | Classify, MLClassify |
| 转换 | RasterToPoints |
| 数学 | Abs, Exp, Log, Sin, Cos, Round |
| 重分类 | Reclassify, RescaleByFunction, Lookup |
| 统计 | CellStatistics, FocalStatistics, ZonalStatistics |
| 表面 | Contour, Curvature |

### RasterCellIterator 模式

```python
from arcpy.sa import *
inRas = arcpy.Raster("input.tif")
outRas = arcpy.Raster(inRas.getRasterInfo())
with RasterCellIterator({'rasters': [inRas, outRas]}) as rci:
    for r, c in rci:
        outRas[r, c] = inRas[r, c] * 2  # 自定义像元运算
outRas.save("output.tif")
```

---

## 12.8 arcpy.na/nax Network Analyst 模块

### 核心类

| 类 | 分析类型 | 关键方法 |
|----|----------|----------|
| **Route** | 路径分析 | solve(), fieldMappings, load() |
| **ServiceArea** | 服务区分析 | solve(), load(), addFields() |
| **ClosestFacility** | 最近设施点 | solve(), load() |
| **OriginDestinationCostMatrix** | OD成本矩阵 | solve(), load() |

### 通用工作流

```python
import arcpy.nax as nax
route = nax.Route("https://myserver/server/rest/services/NAServer/Route")
route.load(orders, mode="Insert")
route.solve()
result = route.export(output_feature_class)
```

---

## 12.9 arcpy.geocoding 地理编码模块

### Locator 类

```python
locator = arcpy.geocoding.Locator("https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer")
# 属性（27个）
locator.country, locator.categories, locator.enableSuggestions
# 方法
results = locator.geocode("天安门广场", out_sr=4326)
candidates = locator.suggest("天安")
reverse = locator.reverseGeocode((116.397, 39.908))
```

---

## 12.10 arcpy.charts 图表模块

### 支持的图表类（12个）

| 类 | 图表类型 |
|----|----------|
| Bar | 条形图 |
| Line | 折线图 |
| Scatter | 散点图（支持气泡） |
| Histogram | 直方图 |
| BoxPlot | 箱形图 |
| QQPlot | QQ图 |
| PieChart | 饼图 |
| ScatterMatrix | 散点图矩阵 |
| DataClock | 数据时钟 |

### 通用方法和模式

```python
chart = arcpy.charts.Bar(title="人口统计", x="城市", y="人口")
chart.dataSource = layer_path
# 通用方法（5个）
chart.exportToSVG("chart.svg")
chart.updateProperties({"title": "新标题"})
chart.dataSource = new_source
chart.type = "bar"  # 修改图表类型
chart.readProperties()  # 返回JSON
```

---

## 12.11 关键代码模式速查

### 批量处理工作空间所有要素类

```python
arcpy.env.workspace = r"C:\data\test.gdb"
for fc in arcpy.ListFeatureClasses():
    print(f"处理: {fc}")
    arcpy.management.AddField(fc, "PROCESSED", "TEXT")
```

### 使用游标创建要素

```python
points = [(120.1, 30.2), (120.3, 30.5), (120.6, 30.1)]
sr = arcpy.SpatialReference(4326)
with arcpy.da.InsertCursor(fc, ['SHAPE@']) as cursor:
    for x, y in points:
        cursor.insertRow([arcpy.PointGeometry(arcpy.Point(x, y), sr)])
```

### 遍历GDB所有数据

```python
for dirpath, dirnames, filenames in arcpy.da.Walk(gdb_path, datatype="FeatureClass"):
    for fc in filenames:
        full = f"{dirpath}\\{fc}"
        count = int(arcpy.management.GetCount(full)[0])
        print(f"{fc}: {count} 条记录")
```

### 批量导出布局

```python
aprx = arcpy.mp.ArcGISProject("CURRENT")
for lyt in aprx.listLayouts():
    lyt.exportToPDF(f"C:/output/{lyt.name}.pdf", resolution=300)
```

### 环境管理器控制

```python
with arcpy.EnvManager(
    workspace="C:/data.gdb",
    outputCoordinateSystem=arcpy.SpatialReference(4547),  # CGCS2000 3度带
    extent="DEFAULT",
    cellSize=30
):
    arcpy.analysis.Buffer("roads", "roads_buf", "50 Meters")
```

---

## 12.12 地理处理工具调用模式

```python
# 方式1：arcpy.工具箱别名.工具名()
arcpy.management.Buffer("roads", "roads_buf", "100 Meters")

# 方式2：arcpy.工具名_工具箱别名()
arcpy.Buffer_analysis("roads", "roads_buf", "100 Meters")

# 方式3：Result 对象捕获
result = arcpy.management.Buffer("roads", "roads_buf", "100 Meters")
print(result.messageCount)  # 消息数量
print(result.getMessages()) # 所有消息
```

---

# 附录：知识来源

| 文档 | 来源 | 内容 |
|---|---|---|
| CASS11说明书.chm | 南方数码 | 7章+5附录，覆盖CASS11全部功能 |
| geographic_coordinate_systems.pdf | ArcGIS Pro 3.6 | 89页，全球GCS、基准面、椭球体参考表 |
| projected_coordinate_systems.pdf | ArcGIS Pro 3.6 | 248页，全球PCS、投影参数参考表 |
| ArcGIS Pro 3.6 帮助文档 | pro.arcgis.com | 核心功能体系：数据管理、转换、制图、编辑、共享 |
| ArcGIS Pro 3.6 转换文档 | 官方帮助爬取 | CAD↔GDB详细参数、字段映射、互操作扩展 |
| ArcGIS Pro 3.6 分析文档 | 官方帮助爬取 | Spatial Analyst、3D Analyst、ModelBuilder、ArcPy |
| ArcGIS Pro 3.6 制图文档 | 官方帮助爬取 | 场景(3D)、导航、视图链接、弹出窗口、符号系统(11种)、标注(Maplex四属性组)、布局(3种添加方法)、导出(12格式+PDF详细参数)、打印(平铺+地图系列)、工程打包(内外部对比+13步工作流)、Web地图(6种配置+符号兼容性)、GIS资源分析 |
| ArcGIS Pro 3.6 入门文档 | 官方帮助爬取 | 新特性、工程管理、图层操作、界面配置、任务设计 |
| ArcGIS Pro 3.6 数据管理文档 | 官方帮助爬取 | GDB类型、数据设计、编辑工作流、Data Reviewer |
| ArcGIS Pro 3.6 ArcPy 参考文档 | 官方帮助爬取（5个队友并行） | 入门(环境/迁移/Notebook)、常用函数(120+个)、常用类(51个)、arcpy.da(游标/编辑/NumPy)、arcpy.mp(工程/地图/布局)、arcpy.management(精选工具)、arcpy.sa(Spatial Analyst/RasterCellIterator)、arcpy.na/nax(网络分析)、arcpy.geocoding(地理编码)、arcpy.charts(12种图表)、arcpy.ddd(3D分析)、关键代码模式 |
| GB/T 18316-2008 | 数字测绘成果质量检查与验收 | 二级检查一级验收、9质量元素三级模型、计分公式、抽样方案 |
| GB/T 24356-2023 | 测绘成果质量检查与验收（2023新版） | 适用范围扩展、质量元素扩充、评分方法优化 |
| GB/T 33176-2016 | 1:500/1:1000/1:2000地形图国家标准 | 产品规格、精度指标、分层方案、成果标记 |
| GB/T 39610-2020 | 倾斜数字航空摄影技术规程 | 术语定义、航摄设计参数、影像质量、成果验收 |
| GB/T 22483-2008 | 中国山脉山峰名称代码 | 三段8位编码体系、12山系分区、编码原则 |
| GB/T 20257.1-2017 | 地形图图式（110MB扫描版） | 符号分类体系、分幅编号（文本提取失败，以国标知识补充） |
| GB/T 20258.1-2019 | 基础地理信息要素数据字典 | 要素分类编码（8门类）、数据字典结构 |
| 湖北省DLG技术规程(2022) | 湖北省自然资源厅（176页） | 132层分层方案、10位分类代码、详细采集规则 |
| 湖北省DEM技术要求(2022) | 湖北省自然资源厅（20页） | 2米格网、TIN→DEM流程、6大类质控、27项元数据 |
| 名词解释(2021) | 自然资源部国土测绘司 | 17核心术语、地理实体vs地理要素、实景三维三层次 |
| 分类粒度编码(2021) | 自然资源部国土测绘司 | 三层分类体系、I-IV级粒度划分、GB/T 13923适配 |
| 空间身份编码规则(2021) | 自然资源部国土测绘司 | 17级递归网格编码、位置码+类别码+时间码+顺序码 |
| 数据元数据(2021) | 自然资源部国土测绘司 | 8大类元数据、35项M/15项C/5项O约束 |
| 测绘类项目支出标准(2023) | 自然资源部（144页） | 14章结构、费用构成、控制测量/4D产品/三维模型定价 |

> **神经连接**：`arcpy.da` → 第六篇 CASS工作流（游标批量读写编码/字段）、第十七篇 转换方法论（属性映射自动化脚本）。`arcpy.mp` → 第九篇 制图布局（地图系列自动化、批量出图/导出）。`arcpy.sa` → 第八篇 分析功能（栅格分析/插值）、第十六篇 空间统计（Kriging/IDW/Spline）。`arcpy.stats` → 第十六篇 空间统计（Moran's I/Gi*/GWR完整API）。`arcpy.management` → 第十一篇 数据管理（创建/删除/转换工具）、第五篇 坐标系实战（投影变换Project）。许可检查 → 第十篇 入门（扩展模块授权管理）。

---


<!-- wm:坤图_GIS:V1.0 -->
