Esri Maps for IBM Cognos 提供了一个默认符号集,用于设置地图上点要素的样式。除修改默认符号之外,管理员还可将自己的自定义符号集添加至报表作者和用户用来设置地图样式的图片标记符号列表。
在 Esri Maps for IBM Cognos 中,自定义图片标记符号均按主题打包在文件夹中。这些自定义图片标记集文件夹已添加至 esri-maps-em4c 扩展模块包文件夹中。
自定义图片标记符号集文件夹包含以下内容:
- 一组分为不同主题的图片标记符号文件
- 一个描述符号集中每个图片标记的图片标记集定义文件 (JSON)
创建自定义图片标记符号集并将其添加至 esri-maps-em4c 扩展模块包文件夹后,你必须修改扩展模块包清单文件,以将自定义符号集包含其中。
注:
必须在您环境中的每台 EM4C Server 上执行这些步骤。
创建自定义符号集文件夹
在 esri-maps-em4c 扩展模块包文件夹中创建一个文件夹来存储您的符号集文件。
- 浏览至 <em4c_location>\webcontent\esrimap\esri-maps-em4c。
- 创建新文件夹并根据您的图片标记集主题进行命名 - 如,CrimeSymbols。
- 在新文件夹中创建一名为 images 的子文件夹。该文件夹将存储您创建的图片标记符号文件。
创建自定义图片标记
要确保符号在符号下拉菜单及地图中正确显示,请创建大小为 20x20 像素的自定义图片标记符号并使用 PNG 格式进行保存以保留透明度。
- 使用您偏好的图形软件,创建一系列最能代表您数据的符号。
为了地图上的最佳可见性,请保持符号简洁。要确保符号在 符号下拉菜单及地图中正确显示,请创建大小为 20x20 像素的符号并使用 PNG 或 JPG 格式进行保存。使用 PNG 格式以保留透明度,如下 图所示。
- 将图片文件保存在您创建的 images 文件夹中 - 如,CrimeSymbols\images。
创建图片标记集定义文件
图片标记集定义文件是描述您的符号集中每个图片标记符号的 JSON 文件。
在以下 JSON 示例中,三个自定义符号标记 (*.png) 的每一个都是一个独立对象。对象均括在大括号中 ({ }),以逗号分隔。多个对象括在方括号中 ([ ]),用来指示数组。每个 JSON 对象都包含格式为名称 - 值对(可代表数据)的属性。
[
{
"type": "esriPMS",
"url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol1.png",
"width": "20",
"height": "20",
"xoffset": "0",
"yoffset": "10"
},
{
"type": "esriPMS",
"url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol2.png",
"width": "20",
"height": "20",
"xoffset": "0",
"yoffset": "10"
},
{
"type": "esriPMS",
"url": "esri-maps-em4c/CrimeSymbols/images/crimeSymbol3.png",
"width": "20",
"height": "20",
"xoffset": "0",
"yoffset": "10"
}
]
请为您符号集中的每个图片标记符号创建包含以下属性的 JSON 对象: 类型、url、宽度和高度为必要属性;其余为可选属性。
- 类型 - 指定符号的类型。图片标记符号的类型属性为 esriPMS。
- url - 指定用于从服务器中检索图片的 URL。
- 宽度 - 指定符号的宽度,单位为磅。要以原始大小显示符号,请忽略宽度和高度属性。要调整符号图片的大小,请仅指定所需高度,单位为磅。
- 高度 - 指定符号的高度,单位为磅。要以原始大小显示符号,请忽略宽度和高度属性。要调整符号图片的大小,请仅指定所需高度,单位为磅。
可选属性包括以下各项:
- x 偏移 - 指定标记符号距实际点位置的水平偏移,单位为磅。正值表示向右偏移;负值表示向左偏移。
- y 偏移 - 以磅为单位指定标记符号距实际点位置的垂直偏移。正值表示向上偏移;负值表示向下偏移。
- 角度 - 指定了标记符号的旋转度数(0 到 360)。从东沿逆时针方向旋转,东即为 0° 轴。
- imageData - 指定了使用 base-64 进行编码的图片数据。仅在 ArcGIS Online 上共享图层或地图时使用。
- contentType - 指定了图片数据的类型,例如,image/png。仅在指定了 imageData 的情况下使用。
- 在新符号集文件夹中(如,CrimeSymbols),创建新的 JSON 文件,并根据您的自定义标记集主题进行命名,以 .json.txt 作为扩展名 - 如,crimeSymbols.json.txt。
提示:
请参阅 <em4c_location>\webcontent\esrimap\esri-maps-em4c\symbols.json.txt.default 中随 Esri Maps for IBM Cognos 提供的示例。
- 使用您偏好的文本编辑器,通过在单独行中输入左右中括号来创建数组。该数组将包括描述图片标记符号的 JSON 对象。例如:
[ ]
- 创建 JSON 对象来描述第一个自定义图片标记。
在数组括号内,输入一组大括号,然后输入描述图片标记符号所需的名称 - 值对。确保以逗号分隔每个属性,并以引号括住每个名称 - 值元素。适当缩进您的代码以确保可读性。例如:
[ { “type” : “esriPMS”, “url” : “esri-maps-em4c/CrimeSymbols/images/symbol1.png”, “width” : “20”, “height” : “20”, “xoffset” : “0”, “yoffset” : “10” } ]
- 为您的符号集中的每个图片标记符号创建一个新的 JSON 对象,并在上一个对象的右大括号后添加一个逗号。数组中最后一个对象后不需要逗号。例如:
[ { “type” : “esriPMS”, “url” : “esri-maps-em4c/CrimeSymbols/images/symbol1.png”, “width” : “20”, “height” : “20”, “xoffset” : “0”, “yoffset” : “10” }, { ... } ]
- 使用如 JSONLint 的验证工具来验证您的 JSON 代码。
- 保存并关闭该定义文件。
修改清单文件
除了其他工具和行为外,esri-maps-em4c 扩展模块包文件夹还包含一个名为 manifest.json.txt 的清单文件,其中定义了您为 Esri Maps for IBM Cognos 创建的任一自定义图片标记集。要将自定义图片标记集添加至此文件,需要为标记集指定一个名称和标注,以及标记集定义文件的位置和名称。
- 浏览至 <em4c_location>\webcontent\esrimap\esri-maps-em4c。
- 在文本编辑器中打开 manifest.json.txt。
- 修改该文件,使其包括您的自定义图片标记集。例如,将以下代码添加至文件末尾:
, "pictureMarkerSets": [{ "name": "crimesymbols", "label": "Crime Symbols", "location": "./CrimeSymbols/CrimeSymbols.json.txt" }]
名称属性指标记集的名称。
标注属性指定了出现在可用符号集下拉菜单中的标注。
位置属性指向自定义图片标记集定义文件的位置(例如,crimeSymbols.json.txt)。
提示:
请参阅 <em4c_location>\webcontent\esrimap\esri-maps-em4c\manifest.json.txt.default 中随 Esri Maps for IBM Cognos 提供的示例。
- 使用如 JSONLint 的验证工具来验证已更新的 JSON 代码。
- 保存并关闭文件。
测试您的自定义图片标记符号
验证您的自定义图片标记对 Esri Maps for IBM Cognos 报表作者与用户是否可用。
- 重启 Web 服务器并清除浏览器缓存。
- 在 Esri Maps Designer 中打开地图并进行编辑。
- 在地图的内容窗格中,展开样式为图标符号的点图层,然后单击图标来查看符号集的列表。您的自定义图片标记集应出现在列表的底部。
- 通过查看 Cognos 连接中的报表,在用户模式下执行同样的测试,确保列表中出现相应的符号。
现在,您的自定义图片标记集即可供使用。