4. 特征服务发布流程:ArcGIS Pro 发布特征服务、ArcGIS Server 配置、服务参数设置
特征服务的发布是将本地地理数据转化为可供多终端、多用户实时访问的 REST 端点的关键步骤。本章将拆解从 ArcGIS Pro 端发布、ArcGIS Server 端配置到服务参数调优的完整链路,确保归因巡检场景下的数据同步效率与查询性能。
4.1 发布流程总览
整个发布流程分为三个阶段:数据准备与符号化(Pro 端)、服务发布与注册(Pro → Server)、参数调优与安全配置(Server Manager)。
核心原则:归因巡检要求特征服务支持实时编辑与属性查询,因此发布时必须启用“同步”能力并开启“要素级权限”。
4.2 ArcGIS Pro 端发布操作步骤
在 ArcGIS Pro 中发布特征服务,推荐使用“发布为 Web 图层”工作流。以下为标准化步骤:
- 打开工程并加载数据 — 确保要素类已启用编辑(Editor Tracking 可选),坐标系为 WGS 1984 Web Mercator(辅助球面)。
- 配置符号化与显示 — 按归因字段(如“隐患等级”“巡检状态”)设置唯一值渲染,提升前端可读性。
- 右键图层 → 共享为 Web 图层 → 发布:
- 选择目标 ArcGIS Server 连接(或 Portal 托管服务器)。
- 服务类型选择 Feature Access(特征服务)。
- 勾选 同步(Sync) 以支持离线编辑。
- 勾选 创建要素(Create)、更新(Update)、删除(Delete) 操作。
- 分析并修复错误 — 查看“分析”面板,常见问题包括:数据未注册为版本、缺少全局 ID、字段类型不支持。
- 发布 — 点击“发布”按钮,等待服务创建完成。
💡 归因巡检最佳实践:发布前在 Pro 中为每个要素添加
GlobalID 和 CreationDate 字段,便于移动端离线同步时追踪变更。
4.3 ArcGIS Server 配置要点
服务发布成功后,需通过 ArcGIS Server Manager 进行深度配置,以适配归因巡检的高并发与实时性需求。
| 配置项 | 推荐值 / 操作 | 归因巡检场景说明 |
|---|---|---|
| 实例类型 | 专用实例(Dedicated) | 避免与其他服务争抢资源,保障巡检查询稳定性 |
| 最小/最大实例数 | 最小 2,最大 6 | 支持 10~30 人同时在线编辑与查询 |
| 空闲超时 | 30 分钟 | 巡检作业间歇期较长,避免频繁回收实例 |
| 允许的操作 | 查询、创建、更新、删除、同步 | 必须全部开启,否则移动端无法提交巡检结果 |
| 最大记录数 | 2000 | 单次查询返回过多记录会导致移动端卡顿 |
| 上传文件大小 | 10 MB | 支持巡检照片附件上传 |
4.4 服务参数详细设置
在 Server Manager 的“服务属性”中,以下参数对归因巡检至关重要:
4.4.1 缓存设置
- 要素缓存(Feature Cache):建议开启,可加速初始地图加载。
- 切片方案:若同时发布地图服务,使用 ArcGIS Online / Bing Maps 切片方案以匹配移动端底图。
4.4.2 同步设置
- 同步模式:选择
perReplica(按副本同步),适合多组巡检人员各自下载不同区域数据。 - 同步方向:双向同步(Upload & Download),确保现场修改能回传至服务器。
4.4.3 安全与权限
- 身份验证:启用 ArcGIS Server 令牌认证或集成 Windows 认证。
- 要素级权限:在“权限”选项卡中,为不同角色(如“巡检员”“审核员”)设置不同的增删改查权限。
⚠️ 常见陷阱:若未在 Pro 发布时勾选“同步”,Server Manager 中无法后期追加同步能力。必须重新发布服务。
4.5 发布后验证清单
服务发布并配置完成后,建议按以下清单进行验证:
| 验证项 | 验证方法 | 预期结果 |
|---|---|---|
| REST 端点可访问 | 浏览器访问 http://server:6080/arcgis/rest/services/... |
显示服务目录,含 FeatureServer 子项 |
| 要素查询 | 调用 query?where=1=1&outFields=*&returnGeometry=true |
返回 GeoJSON 格式要素集,耗时 < 2s |
| 编辑操作 | 使用 Postman 发送 POST addFeatures 请求 |
返回 addResults 数组,状态为 true |
| 同步能力 | 在 ArcGIS Pro 中创建副本并同步 | 数据双向一致,无冲突记录 |
📌 归因巡检实战提示:建议在正式上线前使用
ArcGIS REST API 的 generateKml 或 export 接口做一次全量数据导出测试,确保服务在高负载下仍能稳定响应。