描述
ArcGIS Online 提供矢量切片图层样式更新功能,方法为从矢量切片图层的项目详细信息中下载样式 JSON,编辑下载的 .json 文件,然后将编辑后的文件重新上传到矢量切片图层。 但是,在尝试使用上述工作流更新矢量切片图层时,可能会遇到下列两个问题:
- “下载样式”按钮未显示在切片图层的项目详细信息页面中;因此,用户无法下载样式文件并进行编辑。
- 使用新 .json 文件更新切片图层样式后,“下载样式”按钮消失,且在地图查看器中进行查看时,更新后的图层样式不会反映在矢量切片图层中。
下图显示了没有“下载样式”按钮的矢量切片图层项目详细信息页面中的操作按钮。
原因
下面是可能导致此问题的原因:
- 矢量切片图层的图层名称或字段名称中包含不受支持的字符。 这些字符包括空格、连字符、括号和其他特殊字符。 矢量切片图层的图层名称或字段名称中包含的特殊字符会导致 JSON 解析错误且矢量切片图层无法正确渲染。 在某些情况下,矢量切片图层不会显示在地图查看器中。
下图是图层名称中包含特殊字符(尖括号)的矢量切片图层的样式 JSON 示例。
- 更新矢量切片图层样式时使用的 JSON 无效。 例如,用于更新矢量切片图层样式的 JSON 缺少右括号。
解决方案或解决方法
根据问题的原因,选用以下解决方法之一:
移除矢量切片图层的图层名称或字段名称中的特殊字符
在从数据创建矢量切片包并发布到 ArcGIS Online 之前,必须从数据中删除矢量切片图层的图层名称或字段名称中的特殊字符。
- 在 ArcMap 或 ArcGIS Pro 中,对用于创建矢量切片包的数据的图层或字段进行重命名,从而移除名称中的特殊字符。 有关图层或字段重命名的工作流,请参阅以下“相关信息”部分。 以下文档中列出了需在图层或字段名称中避免的字符:常见问题解答:ArcGIS 中的字段名称和表名称中不应使用什么字符?
- 使用步骤 1 中的数据构建矢量切片包,然后将其上传到 ArcGIS Online。
- 在 ArcGIS Online 中,参考以下文档中的工作流更新已上传的矢量切片图层样式:ArcGIS Online:更新矢量切片图层样式。 下载样式按钮随即显示在复制的矢量切片图层的项目详细信息页面中。
在使用 .json 文件更新矢量切片图层样式之前验证已编辑的 JSON
在更新矢量切片图层样式之前,使用第三方工具(如基于 Web 的 JSON 验证器 JSON Lint 或者 JSONViewer Notepad++ 插件)验证已编辑的 JSON。