Skip To Content

修改默认符号和色带

Esri Maps for IBM Cognos 提供了用于在地图上设定要素样式的一组默认符号、颜色和色带。可在两个 JSON 配置文件中对其进行定义:其中一个文件用于指定用户模式下的默认符号(针对报表用户),另一个文件用于定义设计模式下的默认符号(针对报表作者)。

管理员可通过编辑这两个文件来修改提供给报表作者用户的默认符号和色带。

注:

建议您在修改属性前为默认符号定义文件创建备份。

符号定义文件可定义以下各项的默认值:

  • 填充符号
  • 线符号
  • 热点图色带
  • 标记符号
  • 分类间隔色带
  • 唯一值色带

编辑默认符号定义

修改四个默认符号定义文件以更改提供给报表用户和作者的默认符号。

注:

必须在您环境中的每台 EM4C Server 上进行这些更改。

  1. 查找默认符号定义文件。

    浏览至 <em4c_location>\webcontent\esrimap\em4c-bisprovider\config\design\symbols.json.txt

  2. 创建原始 symbols.json.txt 文件的备份副本 - 例如,backup_symbols.json.txt
  3. 使用您的首选文本编辑器打开 symbols.json.txt

    以下代码将显示默认符号定义文件的示例(描述应用程序中使用的默认符号系统)。每个代码都是 JSON 对象的数组,这些对象描述了用来在地图上设定不同类型要素样式的默认符号。对象均括在大括号中 ({ }),由逗号分隔。多个对象括在方括号中 ([ ]),用来指示数组。每个 JSON 对象都包含格式为名称 - 值对(可代表 数据)的属性。

    {
        defaultFillSymbols: [],
        defaultLineSymbols: [],
        defaultMarkerSymbols: [],
        heatMapColorRamps: [],
        classBreaksColorRamps: [],
        uniqueValueColorRamps: []
    }

  4. 可根据需要修改默认符号和色带,依照以下各个部分所述的惯例进行修改。
  5. 使用如 JSONLint 的验证工具来验证已更新的 JSON 代码。
  6. 保存并关闭文件。
  7. 设计模式测试应用程序。
  8. 查找用户模式下的默认符号定义文件。

    浏览至 <em4c_location>\webcontent\esrimap\em4c-bisprovider\config\default\symbols.json.txt

  9. 重复步骤 2 到 6。
  10. 用户模式测试应用程序。

填充符号

简单填充符号定义了应用于面的默认样式。每个填充符号对象的定义如下,

"defaultFillSymbols": [{
	"color": [17, 140, 17, 179],
	"type":  "esriSFS",
	"style": "esriSFSSolid", 
	"outline": { 
		"type": "esriSLS", 
		"style": "esriSLSSolid", 
		"color": [17, 140, 17, 179], 
		"width": 1.25
		}
			},
...
],
其中:
  • 颜色 - 指定用于定义线的红色、绿色、蓝色和 alpha 值(按照该顺序)的四元素数组。值的范围介于 0 到 255 之间。
    注:

    仅当样式属性设置为实心填充 (esriSFSSolid) 时应用填充颜色;如果指定了模式填充,则会忽略颜色属性。

  • 类型 - 指定符号的类型。简单填充符号的类型属性为 esriSFS。
  • 样式 - 指定应用于填充的样式。默认填充样式为 esriSFSSolid。可用的填充模式包括:
    • esriSFSSolid
    • esriSFSCross
    • esriSFSDiagonalCross
    • esriSFSBackwardDiagonal
    • esriSFSForwardDiagonal
    • esriSFSHorizontal
    • esriSFSVertical
    • esriSFSNull(不可见)
  • 轮廓 - 指定面轮廓的属性。有关详细信息,请参阅线符号

下图说明了默认填充符号:

esriSFSSolid esriSFSCross esriSFSDiagonalCross esriSFSBackwardDiagonal esriSFSForwardDiagonal esriSFSHorizontal esriSFSVertical

esriSFSSolid

esriSFSCross

esriSFSDiagonalCross

esriSFSBackwardDiagonal

esriSFSForwardDiagonal

esriSFSHorizontal

esriSFSVertical

线符号

简单线符号可指定应用于折线和面轮廓的默认样式。每个线符号对象定义如下,

],
  "defaultLineSymbols": [{
  	"color": [255, 11, 11, 255],
  	"width": 0.4,
  	"type": "esriSLS",
  	"style": "esriSLSSolid"
  },
  ...
]
其中:
  • 颜色 - 指定用于定义线的红色、绿色、蓝色和 alpha 值(按照该顺序)的四元素数组。值的范围介于 0 到 255 之间。
  • 宽度 - 指定线的宽度,单位为磅。
  • 类型 - 指定符号的类型。简单线符号的类型属性为 esriSLS。
  • 样式 - 指定应用于线的样式。默认线样式为 esriSLSSolid。可用的线模式包括:
    • esriSLSSolid
    • esriSLSDash
    • esriSLSDashDot
    • esriSLSDashDotDot
    • esriSLSDot
    • esriSLSNull(不可见)

下图说明了默认线符号:

默认线符号

标记符号

标记符号用于设定点要素的样式。默认标记集定义了向地图添加点数据时自动用于表示要素的符号。

默认情况下,Esri Maps for IBM Cognos 使用简单标记符号形状对添加到地图的点数据进行符号化。

默认符号定义文件 (symbols.json.txt) 的 defaultMarkerSymbols 部分将指向默认情况下对地图上的点进行符号化时应该使用的符号。可指向 Esri Maps for IBM Cognos 中所包括的其他符号对此部分进行修改。每个标记符号对象定义如下,

],
"defaultMarkerSymbols":[{ 
	"angle": 0, 
	"xoffset": 0, 
	"yoffset": 0, 
	"type": "esriSMS", 
	"style": "esriSMSCircle", 
	"color": [255, 11, 11, 128], 
	"size": 7.25, 
	"outline": 	{ 
		"color":[255,11, 11, 255], 
		"width": 1, 
		"type": "esriSLS", 
		"style": "esriSLSSolid" 
			}
				},
	...
]
其中:
  • 类型 - 指定符号的类型。简单标记符号的类型属性为 esriSMS。图片标记符号的类型为 esriPMS。
  • 样式 - 指定应用于符号的样式。默认符号样式为 esriSMSCircle。可用的符号样式包括:
    • esriSMSCircle
    • esriSMSCross
    • esriSMSDiamond
    • esriSMSSquare
    • esriSMSX
  • 颜色 - 指定用于定义符号的红色、绿色、蓝色和 alpha 值(按照该顺序)的四元素数组。值的范围介于 0 到 255 之间。
  • 大小 - 指定符号的大小,单位为磅。

可选属性包括以下各项:

  • 角度 - 指定了标记符号的旋转度数(0 到 360)。从东沿逆时针方向旋转,东即为 0° 轴。
  • x 偏移 - 指定标记符号距实际点位置的水平偏移,单位为磅。正值表示向右偏移;负值表示向左偏移。
  • y 偏移 - 以磅为单位指定标记符号距实际点位置的垂直偏移。正值表示向上偏移;负值表示向下偏移。
  • 轮廓 - 指定符号轮廓的属性。有关详细信息,请参阅线符号

文件中定义的标记符号对象顺序与这些对象在地图上用于渲染要素(作为新增点数据)的顺序相对应。例如,在默认情况下,红色圆形 (esriSMSCircle) 用于第一个点图层,蓝色圆形用于第二个图层,并以此类推。

提示:

如果您的组织希望为报表作者和用户提供自定义符号,请参阅添加自定义符号集

热点图色带

热点图色带可指定表示热点图的符号组所应用的颜色范围。每个色带均指定为由红色、绿色、蓝色和 alpha 值定义的颜色集。

例如,以下 JSON 对象指定组成如下所示色带的颜色:

],
	"heatMapColorRamps": [
	[
		[0, 0, 255, 0], 
		[0, 0, 255, 0.6], 
		[0, 255, 255, 0.6], 
		[0, 255, 0, 0.6], 
		[255, 255, 0, 0.6], 
		[255, 0, 0, 0.6]
	],
	[
		[133, 193, 200, 1],
		[144, 161, 190, 1],
		[156, 129, 132, 1],
		[167, 97, 170, 1],
		[175, 73, 128, 1],
		[184, 48, 85, 1],
		[192, 24, 42, 1],
		[200, 0, 0, 1],
		[211, 51, 0, 1],
		[222, 102, 0, 1],
		[233, 153, 0, 1],
		[244, 204, 0, 1],
		[255, 255, 0, 1]
	]  
]

热点图色带

分类间隔色带

分类间隔色带可指定分为多个类的要素所应用的颜色范围。组成色带的起始、结束和中间颜色定义为用于定义每种颜色的红色、绿色和蓝色值的对象(还可以使用十六进制值或命名的颜色值刻画颜色)。

例如,以下 JSON 对象指定组成如下所示色带的颜色:

],
  "classBreaksColorRamps": [
    { "0.0": [124, 4, 4], "1.0": [247, 198, 198] },
    { "0.0": [2, 32, 227], "0.5": [0, 242, 242], "1.0": [32, 204, 16] },
    { "0.0": "#feeedf", "0.25": "#fdbe86", "0.5": "#fd8c3d", "0.75": "#e65507", "1.0": "#a63700" }
]
默认分类间隔色带

唯一值色带

唯一值色带可指定根据唯一值进行分组的要素所应用的颜色范围。组成色带的起始、结束和中间颜色定义为用于定义每种颜色的红色、绿色和蓝色值的对象(还可以使用十六进制值或命名的颜色值刻画颜色)。

例如,以下 JSON 对象指定组成如下所示色带的颜色:

],
  "uniqueValueColorRamps": [
    { "0.0": [51, 153, 51], "0.5": [255, 255, 191], "1.0": [255, 0, 0] },
    { "0.0": [161, 215, 106], "0.5": [247, 247, 247], "1.0": [233, 163, 201] },
    { "0.0": [123, 50, 148], "0.5": [247, 247, 247], "1.0": [0, 136, 55] }
]
默认唯一值色带

测试已修改的默认符号和色带

验证您的自定义图片标记对 Esri Maps for IBM Cognos 报表作者用户是否可用。

注:

如果您的环境中包含多台 EM4C Server,请确保在开始测试前将已修改的 symbols.json.txt 文件复制到每台单个的服务器。

  1. 保存并关闭 symbols.json.txt
  2. 重启 web 应用程序服务器并清除浏览器缓存。
  3. Esri Maps Designer 中,查找启用地图功能的报表并打开地图对其进行配置。
  4. 将点、线和面数据添加到地图中。如果对任何一个色带进行了修改,请验证是否在将数据进行分组应用热点图后按预期应用了上述操作。

    现在,Esri Maps for IBM Cognos 使用已修改的默认符号和色带设定数据的样式。

  5. 保存并关闭地图。
  6. 预览报表以确保是在用户模式下使用已修改的默认符号和色带。