FRAMES | NO FRAMES
Symbol Objects

Overview

This document discusses the JSON symbol (and its supporting) objects as returned by the REST API.

The following objects are discussed here:

Color

Color is represented as a 4-element array. The 4 elements represent values for red, green, blue and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, then color value is null.

JSON Syntax

[ <red>, <green>, <blue>, <alpha> ]

JSON Example

[ 67, 0, 255, 40 ]

Simple Marker Symbol

Simple marker symbols can be used to symbolize point geometries. The type property for simple marker symbols is esriSMS.

JSON Syntax

{
"type" : "esriSMS",
"style" : "< esriSMSCircle | esriSMSCross | esriSMSDiamond | esriSMSSquare | esriSMSX >",
"color" : <color>,
"size" : <size>,
"angle" : <angle>,
"xoffset" : <xoffset>,
"yoffset" : <yoffset>,
"outline" : { //if outline has been specified
  "color" : <color>,
  "width" : <width>
}
}

JSON Example

{
"type": "esriSMS",
 "style": "esriSMSSquare",
 "color": [76,115,0,255],
 "size": 8,
 "angle": 0,
 "xoffset": 0,
 "yoffset": 0,
 "outline": 
  {
  "color": [152,230,0,255],
   "width": 1
  }
}

Simple Line Symbol

Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills. The type property for simple line symbols is esriSLS.

JSON Syntax

{
"type" : "esriSLS",
"style" : "< esriSLSDash | esriSLSDashDot | esriSLSDashDotDot | esriSLSDot | esriSLSNull | esriSLSSolid >",
"color" : <color>,
"width" : <width>
}

JSON Example

{
"type": "esriSLS",
"style": "esriSLSDot",
"color": [115,76,0,255],
"width": 1
}
 

Simple Fill Symbol

Simple fill symbols can be used to symbolize polygon geometries. The type property for simple fill symbols is esriSFS.

JSON Syntax

{
"type" : "esriSFS",
"style" : "< esriSFSBackwardDiagonal | esriSFSCross | esriSFSDiagonalCross | esriSFSForwardDiagonal | esriSFSHorizontal | esriSFSNull | esriSFSSolid | esriSFSVertical >",
"color" : <color>,
"outline" : <simpleLineSymbol> //if outline has been specified
}

JSON Example

{
  "type": "esriSFS",
  "style": "esriSFSSolid",
  "color": [115,76,0,255],
    "outline": {
     "type": "esriSLS",
     "style": "esriSLSSolid",
     "color": [110,110,110,255],
     "width": 1
	 }
}

Picture Marker Symbol

Picture marker symbols can be used to symbolize point geometries. The type property for picture marker symbols is esriPMS.

These symbols include the base64 encoded imageData as well as a url that could be used to retrieve the image from the server. Note that this is a relative URL for static layers and a full URL for dynamic layers in a Map Service. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.

JSON Syntax

{
  "type" : "esriPMS",
  "url" : "<imageUrl>", //Relative URL for static layers and full URL for dynamic layers. Access relative URL using http://<mapservice-url>/<layerId1>/images/<imageUrl11>
  "imageData" : "<base64EncodedImageData>",
  "contentType" : "<imageContentType>",
  "width" : <width>,
  "height" : <height>,
  "angle" : <angle>,
  "xoffset" : <xoffset>,
  "yoffset" : <yoffset>
}

JSON Example

{
  "type" : "esriPMS", 
  "url" : "471E7E31", 
  "imageData" : "iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAMNJREFUSIntlcENwyAMRZ+lSMyQFcI8rJA50jWyQuahKzCDT+6h0EuL1BA1iip8Qg/Ex99fYuCkGv5bKK0EcB40YgSE7bnTxsa58LeOnMd0QhwGXkxB3L0w0IDxPaMqpBFxjLMuaSVmRjurWIcRDHxaiWZuEbRcEhpZpSNhE9O81GiMN5E0ZRt2M0iVjshek8UkTQfZy8JqGHYP/rJhODD4T6wehtbB9zD0MPQwlOphaAxD/uPLK7Z8MB5gFet+WKcJPQDx29XkRhqr/AAAAABJRU5ErkJggg==", 
  "contentType" : "image/png", 
  "width" : 19.5, 
  "height" : 19.5, 
  "angle" : 0, 
  "xoffset" : 0, 
  "yoffset" : 0
}

Picture Fill Symbol

Picture fill symbols can be used to symbolize polygon geometries. The type property for picture fill symbols is esriPFS.

These symbols include the base64 encoded imageData as well as a url that could be used to retrieve the image from the server. Note that this is a relative URL for static layers and a full URL for dynamic layers in a Map Service. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.

JSON Syntax

{
  "type" : "esriPFS",
  "url" : "<imageUrl>", //Relative URL for static layers and full URL for dynamic layers. Access relative URL using http://<mapservice-url>/<layerId1>/images/<imageUrl11>
  "imageData" : "<base64EncodedImageData>",
  "contentType" : "<imageContentType>",
  "outline" : <simpleLineSymbol>, //if outline has been specified
  "width" : <width>,
  "height" : <height>,
  "angle" : <angle>,
  "xoffset" : <xoffset>,
  "yoffset" : <yoffset>,
  "xscale": <xscale>,
  "yscale": <yscale>
}

JSON Example

{
  "type" : "esriPFS", 
  "url" : "866880A0", 
  "imageData" : "iVBORw0KGgoAAAANSUhEUgAAAFQAAABUCAYAAAAcaxDBAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAM9JREFUeJzt0EEJADAMwMA96l/zTBwUSk5ByLxQsx1wTUOxhmINxRqKNRRrKNZQrKFYQ7GGYg3FGoo1FGso1lCsoVhDsYZiDcUaijUUayjWUKyhWEOxhmINxRqKNRRrKNZQrKFYQ7GGYg3FGoo1FGso1lCsoVhDsYZiDcUaijUUayjWUKyhWEOxhmINxRqKNRRrKNZQrKFYQ7GGYg3FGoo1FGso1lCsoVhDsYZiDcUaijUUayjWUKyhWEOxhmINxRqKNRRrKNZQrKFYQ7GGYh/hIwFRFpnZNAAAAABJRU5ErkJggg==", 
  "contentType" : "image/png", 
  "outline" : 
  {
    "type" : "esriSLS", 
    "style" : "esriSLSSolid", 
    "color" : [110,110,110,255], 
    "width" : 1
  }, 
  "width" : 63, 
  "height" : 63, 
  "angle" : 0, 
  "xoffset" : 0, 
  "yoffset" : 0, 
  "xscale" : 1, 
  "yscale" : 1
}

Text Symbol

Text symbols are used to add text to a feature (labeling). The type property for text symbols is esriTS.

New in 10.1


Note:

JSON Syntax

{
  "type" : "esriTS",
  "color" : <color>,
  "backgroundColor" : <color>,
  "borderLineSize" : <size>,
  "borderLineColor" : <color>,
  "haloSize" : <size>,
  "haloColor" : <color>,
  "verticalAlignment" : "<baseline | top | middle | bottom>",
  "horizontalAlignment" : "<left | right | center | justify>",
  "rightToLeft" : <true | false>,
  "angle" : <angle>,
  "xoffset" : <xoffset>,
  "yoffset" : <yoffset>,
  "kerning" : <true | false>,
  "font" : {
    "family" : "<fontFamily>",
    "size" : <fontSize>,
    "style" : "<italic | normal | oblique>",
    "weight" : "<bold | bolder | lighter | normal>",
    "decoration" : "<line-through | underline | none>"
  },
  "text" : "<client-side graphic text>" //only applicable when specified as a client-side graphic.
}

JSON Example

{
     "type": "esriTS",
     "color": [78,78,78,255],
     "backgroundColor": [0,0,0,0],
     "borderLineSize": 2,
     "borderLineColor": [255,0,255,255],
     "haloSize": 2,
     "haloColor": [0,255,0,255],
     "verticalAlignment": "bottom",
     "horizontalAlignment": "left",
     "rightToLeft": false,
     "angle": 0,
     "xoffset": 0,
     "yoffset": 0,
     "kerning": true,
     "font": {
      "family": "Arial",
      "size": 12,
      "style": "normal",
      "weight": "bold",
      "decoration": "none"
     }
}