摘要
Portal for ArcGIS Map Viewer 随附的一系列默认 Esri 符号集可满足大多数组织的需求。 如果需要自定义符号系统,以下步骤介绍了一种配置地图查看器设置以使用自定义符号集的方法。
过程
自定义符号集将作为项目存储在群组中。 地图查看器将搜索该群组,然后使用其中的符号集项目来填充可用集合。
检查此工作流的先决条件。
- 需要门户的管理员权限。
- 该门户必须与 ArcGIS Server 站点联合并包含托管服务器。 有关详细信息,请参阅 Portal for ArcGIS:联合 ArcGIS Server 站点与门户和 Portal for ArcGIS:配置托管服务器。
- 必须为组织中的 web 服务器配置 HTTPS。 需要在 web 服务器上创建虚拟目录和读/写目录的权限。 Portal for ArcGIS 必须能够访问该目录。
创建一个群组以包含符号集。
- 以组织管理员身份登录到 Portal for ArcGIS 网站。
- 创建一个群组以包含自定义符号系统,例如“自定义符号”。 使用地图查看器的所有人都必须能够访问该群组。 记录该群组的名称,因为稍后需要执行此操作。 有关详细信息,请参阅 Portal for ArcGIS:创建群组。
- 以组织管理员身份登录到 ArcGIS Portal Directory。 此 URL 的格式如下:
https://webadaptor.domain.com/arcgis/sharing/rest
- 单击页面右上角的帐户名称。
- 在用户群组部分中,单击以上创建的群组的名称并记录该群组的 ID 以供以后使用。
配置符号集项目。
必须为添加到群组的每个符号集创建两个单独的项目。 两个项目的标题属性必须相同。 第一个项目适用于按值引用符号的浏览器。 第二个项目适用于按 URL 引用符号的浏览器。
重复本部分中的步骤以将其他自定义符号集添加至该群组。 使用标题属性区分每对符号集项目。
创建“by value”项目。
- 单击页面右上角的帐户名称。
- 单击页面底部的用户内容。
- 在用户内容页面中,单击添加项目。
- 在添加项目页面中,使用标题字段指定项目的标题。 这是有意义的,因为它会显示在地图查看器中。
- 完全按照以下说明指定以下信息:
- 标签:符号集
- 类型关键字:marker, Symbol Set
- 类型:符号集
- 如果您希望显示此符号集作为默认值,请将“default”添加至类型关键字字段。
- 单击添加项目。
- 单击共享项目。
- 与所有人共享项目。 在群组字段中,输入以上创建的群组的 ID。
创建 URL 项目。
- 单击页面右上角的帐户名称。
- 单击页面底部的用户内容。
- 在用户内容页面中,单击添加项目。
- 在添加项目页面中,输入为“by value”项目指定的相同标题。 标题必须与“by value”项目完全匹配。
- 完全按照以下说明指定以下信息:
- 类型:符号集
- 类型关键字:by value, marker, Symbol Set
- 标签:符号集
- 如果这是门户的默认符号集,请将“default”添加至类型关键字字段。
- 单击添加项目。
- 单击共享项目。
- 与所有人共享项目。 在群组字段中,输入以上创建的群组的 ID。
创建并发布自定义符号。
- 在 ArcMap 中,创建一个包含要添加至符号集的自定义符号系统的地图。 有关详细信息,请参阅 ArcMap:什么是符号和样式?。
- 将地图作为要素图层发布到门户。 有关详细信息,请参阅 Portal for ArcGIS:发布托管要素图层。
托管自定义符号。
发布符号后,需要下载这些符号并将其托管在组织的 web 服务器上。 消除对要素图层的依赖需要执行此操作;可改为从 web 服务器访问这些符号。
- 在 web 服务器上创建一个虚拟目录以包含符号。 验证是否具有此目录的读/写访问权限以及 Portal for ArcGIS 是否可以访问此目录。
- 验证是否可通过 HTTPS 访问该目录。
- 以组织管理员身份登录到 ArcGIS Server Services Directory。 此 URL 的格式如下:
https://gisserver.arcgis.com:6443/arcgis/rest/services
- 单击托管文件夹,然后单击作为要素图层发布的服务的名称。
- 在图层下,单击第一个图层。
- 在绘制信息下,右键单击每个符号并保存到在 web 服务器上创建的虚拟目录。
- 针对任何其他图层,重复步骤 e 和 f。
将符号插入符号集中。
将符号托管在 web 服务器上后,下一步是将其添加到以上创建的符号集项目中。 此过程比较复杂,需要编辑 JSON。 在开始之前,请访问文本编辑器和以下资源:
- 以组织管理员身份登录到 ArcGIS Server Services Directory。 此 URL 的格式如下:
https://gisserver.arcgis.com:6443/arcgis/rest/services
- 单击托管文件夹,然后单击作为要素图层发布的服务的名称。
- 在图层下,单击第一个图层。
- 单击左上角的 JSON。 将显示要素图层 JSON 的原始视图。
- 搜索“uniqueValueInfos”属性。
- 复制从该属性后的第一个左括号开始,到该属性的右括号中的所有 JSON 信息。 例如:
"uniqueValueInfos": [ { Symbol0 ... }, { Symbol1 ... }, ]
- 将内容粘贴到 JSON 验证器中。
- 从每个符号定义 JSON 中移除以下属性:
- 针对任何其他图层,重复步骤 a 到 h。
- 验证 JSON。 更正任何错误。 经过验证的 JSON 应如下所示:
[ { "type": "esriPMS", "url": " d06b3aed-db09-4d17-b485-48596e3c925d", "imageData": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAc...", "contentType": "image/png", "width": 21, "height": 21, "angle": 0, "xoffset": 0, "yoffset": 0 } ]
- 将经过验证的 JSON 复制粘贴到文本编辑器中。
- 更新 JSON URL 属性以匹配在 web 服务器上托管的符号的 URL,例如:
"url": "https://webserver.domain.com/custom/hydrant.png",
- 验证 JSON 并更正任何错误。
- 最小化 JSON。 复制此内容。
将经过验证的 JSON 添加至符号集。
对符号集 JSON 进行验证后,即可将 JSON 上传至每个符号集项目。 请记住,存在 2 个符号集项目:“by value item”和“URL item”。 必须使用经过验证的 JSON 对每个符号集项目进行更新。
- 以组织管理员身份登录到 ArcGIS Portal Directory。 此 URL 的格式如下:
https://webadaptor.domain.com/arcgis/sharing/rest
- 单击页面右上角的帐户名称。
- 单击页面底部的用户内容。
- 在项目列表中,单击符号集项目的名称。
- 单击更新项目。
- 在文本字段中,粘贴最小化的 JSON。
- 单击更新项目。
- 针对第二个符号集项目,重复上述步骤。 针对为门户创建的任何其他自定义符号集,重复上述步骤。 每个符号集都需要经过验证的 JSON,并且必须更新每个符号集项目。
公开自定义符号。
更新所有符号集后,最后一步是配置门户以在地图查看器中公开自定义符号集。 默认情况下,将公开默认 Esri 集合。 移除默认集合,并将其替换为自定义符号系统群组管理的自定义集合。
- 以组织管理员身份登录到 ArcGIS Portal Directory。 此 URL 的格式如下:
https://webadaptor.domain.com/arcgis/sharing/rest
- 单击组织 ID。
- 在页面底部,单击更新。
- 找到符号集群组查询字段并更新为以下内容:
title: "<自定义符号群组的名称>" AND owner: <群组所有者用户名>
例如:
title: "Custom Symbols" AND owner: "admin"
- 单击更新组织。
自定义符号现在可用于 Map Viewer 中。 可能需要清除浏览器缓存,才能确认已公开自定义符号集。 或者,删除已创建的要素图层。 不再需要该要素图层。
注: 如果需要恢复为默认 Esri 符号集,请重复上述步骤并使用 title: "Esri Symbols" AND owner: "esri_en" 更新符号集群组查询字段。