# 空间数据库 | 关联：12_ArcGIS_Pro.md 23_WebGIS开发.md | 来源：旧第十一篇

# 第十一篇：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查询性能）。影像/栅格管理 → 第十八篇 遥感（镶嵌数据集/金字塔构建）。

---


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