{"id":913801,"date":"2020-07-24T11:16:29","date_gmt":"2020-07-24T18:16:29","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=913801"},"modified":"2020-07-31T09:39:01","modified_gmt":"2020-07-31T16:39:01","slug":"create-points-lines-and-polygons-using-cimsymbols","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols","title":{"rendered":"Create points, lines, and polygons using CIMSymbols"},"author":10062,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[22941],"tags":[717771,38851,27491,31301,667481],"industry":[],"product":[36831],"class_list":["post-913801","blog","type-blog","status-publish","format-standard","hentry","category-mapping","tag-cim","tag-developers","tag-jsapi4","tag-symbology","tag-whats-new-june-2020","product-js-api-arcgis"],"acf":{"short_description":"Use CIMSymbols in the ArcGIS API for JavaScript to create custom vector point, line, and polygon symbols.","flexible_content":[{"acf_fc_layout":"content","content":"<p>As of the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-the-arcgis-api-for-javascript-july-2020\/\">4.16 release<\/a>, the ArcGIS API for JavaScript now supports point, line and polygon <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-CIMSymbol.html\">CIM symbols<\/a> in 2D <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-MapView.html\">MapViews<\/a>. CIM symbols are high-quality, scalable vector symbols for displaying features and graphics that are precisely displayed at any zoom level without blurriness. The best thing about CIM symbols is that they are completely customizable. They can incorporate multiple symbol layers and can be updated dynamically.<\/p>\n<p style=\"text-align: center\">Quick links:<br \/>\n<a href=\"#what-is-cim\">What is CIM<\/a> | <a href=\"#how-is-cim-used\">How is CIM used<\/a> | <a href=\"#examples\">Examples<\/a><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":946201,"id":946201,"title":"Screen Shot 2020-07-24 at 10.25.09 AM","filename":"Screen-Shot-2020-07-24-at-10.25.09-AM-scaled.png","filesize":1661730,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-scaled.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\/screen-shot-2020-07-24-at-10-25-09-am","alt":"CIM lines and polygons","author":"10062","description":"","caption":"Some examples of lines and polygons you can create in the ArcGIS API for JavaScript using the CIMSymbol class.","name":"screen-shot-2020-07-24-at-10-25-09-am","status":"inherit","uploaded_to":913801,"date":"2020-07-24 17:28:06","modified":"2020-07-24 18:07:35","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2560,"height":1475,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-scaled.png","medium-width":453,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-scaled.png","medium_large-width":768,"medium_large-height":443,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-scaled.png","large-width":1874,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-1536x885.png","1536x1536-width":1536,"1536x1536-height":885,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-2048x1180.png","2048x2048-width":2048,"2048x2048-height":1180,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-807x465.png","card_image-width":807,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-24-at-10.25.09-AM-1875x1080.png","wide_image-width":1875,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/annelfitz.github.io\/blog\/CIM\/lines-and-polygons.html"},{"acf_fc_layout":"content","content":"<p><a name=\"what-is-cim\"><\/a><\/p>\n<h2>What is &#8220;CIM&#8221;?<\/h2>\n<p><a href=\"https:\/\/github.com\/Esri\/cim-spec\">CIM<\/a> is the Esri Cartographic Information Model, which is a map content specification used to persist and transfer cartographic descriptions of GIS datasets. CIM is already being used to create symbology in ArcGIS Pro, so we wanted to bring that advanced symbology to the ArcGIS API for JavaScript. To learn more about CIM and how it works, check out the <a href=\"https:\/\/github.com\/Esri\/cim-spec\">CIM Specification<\/a>.<a name=\"how-is-cim-used\"><\/a><\/p>\n<h2>How is CIM used in the ArcGIS API for JavaScript?<\/h2>\n<h3>CIMSymbol<\/h3>\n<p>A <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-CIMSymbol.html\">CIMSymbol<\/a> is created by setting the <a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/CIMRenderers.md#CIMSymbolReference\">CIMSymbolReference<\/a> JSON on the <code>CIMSymbol.data<\/code> property. While there are examples for how to create CIM symbols in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-CIMSymbol.html\">API Reference<\/a> and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/?search=CIMSymbol\">Sample Code<\/a> in the ArcGIS API for JavaScript documentation, the bulk of the documentation lies within the <a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/Overview-Symbols.md\">CIM Specification<\/a>.<\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\"><span style=\"color: #998;font-style: italic\">\/\/ require([\"esri\/symbols\/CIMSymbol\"], function(CIMSymbol)<\/span>\r\n<span style=\"color: #333;font-weight: bold\">const<\/span> cimSymbol = <span style=\"color: #333;font-weight: bold\">new<\/span> CIMSymbol({\r\n   data: {\r\n      type: <span style=\"color: #d14\">\"CIMSymbolReference\"<\/span>,\r\n      symbol: {\r\n         type: <span style=\"color: #d14\">\"CIMLineSymbol\"<\/span>,\r\n         symbolLayers: [{ ... }]\r\n      },\r\n      primitiveOverrides: [{ ... }]\r\n   }\r\n});<\/code><\/pre>\n<p><strong>CIMSymbol.data.symbol<\/strong><\/p>\n<p>The\u00a0<code><a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/Types.md#symbol\">symbol<\/a><\/code>\u00a0property on CIMSymbolReference can be of type CIMPointSymbol, CIMLineSymbol, CIMPolygonSymbol, or CIMTextSymbol. Each symbol is made up of one or more\u00a0<code><a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/Types.md#symbollayer\">symbolLayers<\/a><\/code>. <a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/CIMSymbols.md#CIMTextSymbol\">CIMTextSymbol<\/a> is an exception\u2014it has native properties but no symbol layers.<\/p>\n<p><code>symbolLayers<\/code> are the building blocks of CIM symbols, they combine to make rich graphical depictions. There are three main types of symbol layers (similar to the simple symbols provided in the API): CIMMarker, CIMStroke, and CIMFill. A SimpleLineSymbol in the API would be equivalent to a <a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/CIMSymbols.md#CIMSolidStroke\">CIMSolidStroke<\/a> symbol layer, a SimpleFillSymbol would be equivalent to <a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/CIMSymbols.md#CIMSolidFill\">CIMSolidFill<\/a>, and so on. CIMSymbol is unique because you can combine symbol layers to create custom symbols. For example, you could create a CIMLineSymbol with a CIMSolidStroke and CIMMarker symbol to place markers along a line.<\/p>\n<p><em><strong>Note<\/strong>: <a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/CIMSymbols.md#cimlinesymbol\" target=\"_blank\" rel=\"noopener\">CIMLineSymbol<\/a>\u00a0and\u00a0<a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/CIMSymbols.md#cimpolygonsymbol\" target=\"_blank\" rel=\"noopener\">CIMPolygonSymbol<\/a>\u00a0are not currently supported in a 3D\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-SceneView.html\">SceneView<\/a>.<\/em><\/p>\n<p><strong>CIMSymbol.data.primitiveOverrides<\/strong><\/p>\n<p>The <code><a href=\"https:\/\/github.com\/Esri\/cim-spec\/blob\/master\/docs\/v2\/CIMRenderers.md#cimprimitiveoverride\">primitiveOverrides<\/a><\/code> property on CIMSymbolReference allows you to use an <a href=\"https:\/\/developers.arcgis.com\/arcade\/\">Arcade<\/a> expression to override specific properties on the symbol.<\/p>\n<h3>WebStyleSymbols<\/h3>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-WebStyleSymbol.html\">WebStyleSymbols<\/a> contain a library of pre-defined 2D CIM symbols that you can conveniently reference in your apps. Visit the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/esri-web-style-symbols-2d\/\">Esri Web Style Symbols (2D)<\/a> guide page to see what WebStyleSymbols are currently available in the JavaScript API. The CIM JSON is available for each WebStyleSymbol in the guide page.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":942651,"id":942651,"title":"Screen Shot 2020-07-21 at 1.11.48 PM","filename":"Screen-Shot-2020-07-21-at-1.11.48-PM.png","filesize":74813,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\/screen-shot-2020-07-21-at-1-11-48-pm","alt":"WebStyleSymbol to CIM","author":"10062","description":"","caption":"Using the Web Style Symbol (2D) guide page, you can easily copy the CIM JSON for the symbol.","name":"screen-shot-2020-07-21-at-1-11-48-pm","status":"inherit","uploaded_to":913801,"date":"2020-07-21 20:12:01","modified":"2020-07-21 20:13:02","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1628,"height":1174,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM.png","medium-width":362,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM.png","medium_large-width":768,"medium_large-height":554,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM.png","large-width":1498,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM-1536x1108.png","1536x1536-width":1536,"1536x1536-height":1108,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM.png","2048x2048-width":1628,"2048x2048-height":1174,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM-645x465.png","card_image-width":645,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-21-at-1.11.48-PM-1498x1080.png","wide_image-width":1498,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/esri-web-style-symbols-2d\/"},{"acf_fc_layout":"content","content":"<p><a name=\"examples\"><\/a><\/p>\n<h2>Let&#8217;s see the CIMSymbol in action!<\/h2>\n<p>Now that we&#8217;ve learned more about what CIM is and how it&#8217;s used in the ArcGIS API for JavaScript, let&#8217;s see what it looks like when we use CIM symbols in an application.<\/p>\n<h3>Arrows along a line<\/h3>\n<p>Let&#8217;s say we want to symbolize one-way streets, using arrows to designate the direction of traffic flow. Previously, this would be incredibly difficult to accomplish, but now (as of the 4.16 release), we can create a CIMLineSymbol with two symbol layers &#8211; a stroke symbol layer to show the location of the streets, and another symbol layer to place arrow markers on top of the line. Let&#8217;s take a look at what that looks like:<\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">CIMSymbol.data = {\r\n   type: <span style=\"color: #d14\">\"CIMSymbolReference\"<\/span>,\r\n   symbol: {\r\n      type: <span style=\"color: #d14\">\"CIMLineSymbol\"<\/span>,\r\n      symbolLayers: [\r\n        {\r\n           <span style=\"color: #998;font-style: italic\">\/\/ black 1px line symbol<\/span>\r\n           type: <span style=\"color: #d14\">\"CIMSolidStroke\"<\/span>,\r\n           enable: <span style=\"color: #d14\">true<\/span>,\r\n           width: <span style=\"color: #008080\">1<\/span>,\r\n           color: [<span style=\"color: #008080\">0<\/span>, <span style=\"color: #008080\">0<\/span>, <span style=\"color: #008080\">0<\/span>, <span style=\"color: #008080\">255<\/span>]\r\n        },\r\n        {\r\n           <span style=\"color: #998;font-style: italic\">\/\/ arrow symbol<\/span>\r\n           type: <span style=\"color: #d14\">\"CIMVectorMarker\"<\/span>,\r\n           enable: <span style=\"color: #333;font-weight: 500\">true<\/span>,\r\n           size: <span style=\"color: #008080\">5<\/span>,\r\n           markerPlacement: {\r\n<span style=\"color: #998;font-style: italic\">              \/\/ places same size markers along the line<\/span>\r\n              type: <span style=\"color: #d14\">\"CIMMarkerPlacementAlongLineSameSize\"<\/span>, \r\n              endings: <span style=\"color: #d14\">\"WithMarkers\"<\/span>,\r\n              placementTemplate: [<span style=\"color: #008080\">19.5<\/span>] <span style=\"color: #998;font-style: italic\">\/\/ determines space between each arrow<\/span>\r\n           },\r\n           frame: {\r\n              xmin: -<span style=\"color: #008080\">5<\/span>,\r\n              ymin: -<span style=\"color: #008080\">5<\/span>,\r\n              xmax: <span style=\"color: #008080\">5<\/span>,\r\n              ymax: <span style=\"color: #008080\">5<\/span>\r\n           },\r\n           markerGraphics: [\r\n              {\r\n                 type: <span style=\"color: #d14\">\"CIMMarkerGraphic\"<\/span>,\r\n                 geometry: {\r\n                    rings: [\r\n                      [\r\n                        [-<span style=\"color: #008080\">8<\/span>, -<span style=\"color: #008080\">5.47<\/span>],\r\n                        [-<span style=\"color: #008080\">8<\/span>, <span style=\"color: #008080\">5.6<\/span>],\r\n                        [<span style=\"color: #008080\">1.96<\/span>, -<span style=\"color: #008080\">0.03<\/span>],\r\n                        [-<span style=\"color: #008080\">8<\/span>, -<span style=\"color: #008080\">5.47<\/span>]\r\n                      ]\r\n                    ]\r\n                 },\r\n                 symbol: {\r\n                    <span style=\"color: #998;font-style: italic\">\/\/ black fill for the arrow symbol<\/span>\r\n                    type: <span style=\"color: #d14\">\"CIMPolygonSymbol\"<\/span>,\r\n                    symbolLayers: [\r\n                       {\r\n                          type: <span style=\"color: #d14\">\"CIMSolidFill\"<\/span>,\r\n                          enable: <span style=\"color: #333;font-weight: 500\">true<\/span>,\r\n                          color: [<span style=\"color: #008080\">0<\/span>, <span style=\"color: #008080\">0<\/span>, <span style=\"color: #008080\">0<\/span>, <span style=\"color: #008080\">255<\/span>]\r\n                       }\r\n                    ]\r\n                 }\r\n              }\r\n           ]\r\n        }\r\n      ]\r\n   }\r\n}\r\n<\/code><\/pre>\n<p>The resulting symbology on the layer will look like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":941241,"id":941241,"title":"Screen Shot 2020-07-17 at 10.36.38 AM","filename":"Screen-Shot-2020-07-17-at-10.36.38-AM.png","filesize":209864,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\/screen-shot-2020-07-17-at-10-36-38-am","alt":"CIM arrows along a line","author":"10062","description":"","caption":"A CIMSymbol is used to represent traffic flow as a black line with an arrow head.","name":"screen-shot-2020-07-17-at-10-36-38-am","status":"inherit","uploaded_to":913801,"date":"2020-07-17 17:36:39","modified":"2020-07-23 17:52:02","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2008,"height":1100,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM.png","medium-width":464,"medium-height":254,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM.png","medium_large-width":768,"medium_large-height":421,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM.png","large-width":1920,"large-height":1052,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM-1536x841.png","1536x1536-width":1536,"1536x1536-height":841,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM.png","2048x2048-width":2008,"2048x2048-height":1100,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM-826x452.png","card_image-width":826,"card_image-height":452,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-10.36.38-AM-1920x1052.png","wide_image-width":1920,"wide_image-height":1052}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/cim-line-arrows\/index.html"},{"acf_fc_layout":"content","content":"<h3>More examples<\/h3>\n<p><strong><a href=\"https:\/\/annelfitz.github.io\/blog\/CIM\/covid19.html\">COVID-19 Cases over 14 Days<\/a>:\u00a0<\/strong>This app creates a CIMPointSymbol for each county based on the number of COVID-19 cases reported in the past 14 days. The size and geometry of the CIMSymbol is determined based on the number of COVID-19 cases, creating an interesting &#8220;spike&#8221; visualization highlighting regions with the largest outbreaks.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":941451,"id":941451,"title":"Screen Shot 2020-07-17 at 11.34.31 AM","filename":"Screen-Shot-2020-07-17-at-11.34.31-AM-e1595011669152.png","filesize":953386,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-e1595011669152.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\/screen-shot-2020-07-17-at-11-34-31-am","alt":"Covid-19 CIM","author":"10062","description":"","caption":"This app uses CIMSymbols to show the number of COVID-19 cases per 1k people in the past 14 days.","name":"screen-shot-2020-07-17-at-11-34-31-am","status":"inherit","uploaded_to":913801,"date":"2020-07-17 18:45:56","modified":"2020-07-17 18:47:32","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1000,"height":605,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-e1595011669152.png","medium-width":431,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-e1595011669152.png","medium_large-width":768,"medium_large-height":465,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-e1595011669152.png","large-width":1000,"large-height":605,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-1536x930.png","1536x1536-width":1536,"1536x1536-height":930,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-e1595011669152.png","2048x2048-width":1000,"2048x2048-height":605,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-768x465.png","card_image-width":768,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.34.31-AM-1784x1080.png","wide_image-width":1784,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/annelfitz.github.io\/blog\/CIM\/covid19.html"},{"acf_fc_layout":"content","content":"<p><strong><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/cim-lines-and-polygons\/index.html\">Lake Tahoe &#8211; Tahoe Rim Trail<\/a>:<\/strong> This app uses CIM symbols in several different ways.<\/p>\n<ul>\n<li>A CIMLineSymbol visualizes the Tahoe Rim Trail. This line symbol is comprised of three different symbol layers, creating the effect of a cased line with dashes.<\/li>\n<li>A CIMPolygonSymbol visualizes the boundary of Lake Tahoe.<\/li>\n<li>Each trailhead is rendered as a WebStyleSymbol. We can use <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-WebStyleSymbol.html#fetchCIMSymbol\">WebStyleSymbol.fetchCIMSymbol()<\/a> to convert a WebStyleSymbol to a CIMSymbol and then use the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-support-cimSymbolUtils.html\">cimSymbolUtils<\/a> class to get and set the size and rotation on these symbols.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":941361,"id":941361,"title":"Screen Shot 2020-07-17 at 11.29.09 AM","filename":"Screen-Shot-2020-07-17-at-11.29.09-AM-e1595010720483.png","filesize":622974,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-e1595010720483.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\/screen-shot-2020-07-17-at-11-29-09-am","alt":"Lake Tahoe CIM","author":"10062","description":"","caption":"Use CIMSymbols to visualize the Tahoe Rim Trail.","name":"screen-shot-2020-07-17-at-11-29-09-am","status":"inherit","uploaded_to":913801,"date":"2020-07-17 18:28:59","modified":"2020-07-17 18:29:25","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1000,"height":548,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-e1595010720483.png","medium-width":464,"medium-height":254,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-e1595010720483.png","medium_large-width":768,"medium_large-height":421,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-e1595010720483.png","large-width":1000,"large-height":548,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-1536x841.png","1536x1536-width":1536,"1536x1536-height":841,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-e1595010720483.png","2048x2048-width":1000,"2048x2048-height":548,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-826x452.png","card_image-width":826,"card_image-height":452,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-1920x1052.png","wide_image-width":1920,"wide_image-height":1052}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/cim-lines-and-polygons\/index.html"},{"acf_fc_layout":"content","content":"<p><strong><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/cim-primitive-overrides\/index.html\">Wurman dots<\/a>:\u00a0<\/strong>This app shows how to use CIM symbols with a primitive override. The override uses Arcade to determine the size of the CIMPointSymbol\u2019s inner circle.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":941391,"id":941391,"title":"Screen Shot 2020-07-17 at 11.30.28 AM","filename":"Screen-Shot-2020-07-17-at-11.30.28-AM.png","filesize":206733,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\/screen-shot-2020-07-17-at-11-30-28-am","alt":"Wurman Dots","author":"10062","description":"","caption":"Wurman Dots mapping style displayed using CIMSymbols.","name":"screen-shot-2020-07-17-at-11-30-28-am","status":"inherit","uploaded_to":913801,"date":"2020-07-17 18:31:16","modified":"2020-07-17 18:31:43","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1000,"height":546,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM.png","medium-width":464,"medium-height":253,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM.png","medium_large-width":768,"medium_large-height":419,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM.png","large-width":1000,"large-height":546,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM.png","1536x1536-width":1000,"1536x1536-height":546,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM.png","2048x2048-width":1000,"2048x2048-height":546,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM-826x451.png","card_image-width":826,"card_image-height":451,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.30.28-AM.png","wide_image-width":1000,"wide_image-height":546}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/cim-primitive-overrides\/index.html"},{"acf_fc_layout":"content","content":"<p>CIMSymbol is still in <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/faq\/#what-does-the-beta-tag-mean-for-capabilities-specific-to-arcgis-api-for-javascript%3F\">beta<\/a>. Some properties listed in the CIM Specification are not yet supported in the ArcGIS API for JavaScript. If you are confused why your symbol isn&#8217;t appearing as you would expect, make sure to check out the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-CIMSymbol.html#known-limitations\">known limitations<\/a> to see what is or is not supported.<\/p>\n"},{"acf_fc_layout":"blockquote","content":"<p>This post includes contributions from Fang Li.<\/p>\n"}],"authors":[{"ID":10062,"user_firstname":"Anne","user_lastname":"Fitz","nickname":"Anne Fitz","user_nicename":"afitz","display_name":"Anne Fitz","user_email":"afitz@esri.com","user_url":"","user_registered":"2019-10-15 00:07:57","user_description":"Anne Fitz is a Senior Product Engineer at Esri, working on the ArcGIS Maps SDK for JavaScript and ArcGIS Arcade. Her expertise primarily focuses on dynamic vector symbology (CIM symbols), data visualization, animation, ArcGIS Arcade integration, and widgets.  Anne\u2019s primary goal is to help developers succeed in building geospatial applications, providing them with the tools and knowledge they need to bring their ideas to life. She has been with Esri for over five years.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/03\/2B6A1033-465x465.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":861861,"post_author":"4271","post_date":"2020-07-09 11:48:26","post_date_gmt":"2020-07-09 18:48:26","post_content":"","post_title":"What's new in the ArcGIS API for JavaScript (July 2020)","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"whats-new-in-the-arcgis-api-for-javascript-july-2020","to_ping":"","pinged":"","post_modified":"2020-07-10 11:56:53","post_modified_gmt":"2020-07-10 18:56:53","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=861861","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":634052,"post_author":"6751","post_date":"2019-10-11 17:42:04","post_date_gmt":"2019-10-12 00:42:04","post_content":"","post_title":"Reference Size Maps: Learning from the '60s with a new mapping theme","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"reference-size-maps-bringing-back-the-60s","to_ping":"","pinged":"","post_modified":"2024-08-06 15:34:43","post_modified_gmt":"2024-08-06 22:34:43","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=634052","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":827321,"post_author":"4271","post_date":"2020-04-24 11:36:45","post_date_gmt":"2020-04-24 18:36:45","post_content":"","post_title":"DevSummit 2020 \u2013 ArcGIS API for JavaScript Recordings Available!","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-api-for-javascript-devsummit-2020-videos-available","to_ping":"","pinged":"","post_modified":"2020-04-24 12:22:51","post_modified_gmt":"2020-04-24 19:22:51","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=827321","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-1.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-01-at-4.45.11-PM.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Create points, lines, and polygons using CIMSymbols<\/title>\n<meta name=\"description\" content=\"Use CIMSymbols in the ArcGIS API for JavaScript to create custom vector point, line, and polygon symbols.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create points, lines, and polygons using CIMSymbols\" \/>\n<meta property=\"og:description\" content=\"Use CIMSymbols in the ArcGIS API for JavaScript to create custom vector point, line, and polygon symbols.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-31T16:39:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"826\" \/>\n\t<meta property=\"og:image:height\" content=\"465\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\"},\"author\":{\"name\":\"Anne Fitz\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bee793ed8139187e84c18559765490fa\"},\"headline\":\"Create points, lines, and polygons using CIMSymbols\",\"datePublished\":\"2020-07-24T18:16:29+00:00\",\"dateModified\":\"2020-07-31T16:39:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\"},\"wordCount\":7,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"CIM\",\"Developers\",\"jsapi4\",\"symbols and symbology\",\"what's new june 2020\"],\"articleSection\":[\"Mapping\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\",\"name\":\"Create points, lines, and polygons using CIMSymbols\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-07-24T18:16:29+00:00\",\"dateModified\":\"2020-07-31T16:39:01+00:00\",\"description\":\"Use CIMSymbols in the ArcGIS API for JavaScript to create custom vector point, line, and polygon symbols.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create points, lines, and polygons using CIMSymbols\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bee793ed8139187e84c18559765490fa\",\"name\":\"Anne Fitz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/03\/2B6A1033-465x465.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/03\/2B6A1033-465x465.jpg\",\"caption\":\"Anne Fitz\"},\"description\":\"Anne Fitz is a Senior Product Engineer at Esri, working on the ArcGIS Maps SDK for JavaScript and ArcGIS Arcade. Her expertise primarily focuses on dynamic vector symbology (CIM symbols), data visualization, animation, ArcGIS Arcade integration, and widgets. Anne\u2019s primary goal is to help developers succeed in building geospatial applications, providing them with the tools and knowledge they need to bring their ideas to life. She has been with Esri for over five years.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/anne-fitz\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/afitz\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Create points, lines, and polygons using CIMSymbols","description":"Use CIMSymbols in the ArcGIS API for JavaScript to create custom vector point, line, and polygon symbols.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols","og_locale":"en_US","og_type":"article","og_title":"Create points, lines, and polygons using CIMSymbols","og_description":"Use CIMSymbols in the ArcGIS API for JavaScript to create custom vector point, line, and polygon symbols.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2020-07-31T16:39:01+00:00","og_image":[{"width":826,"height":465,"url":"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2020\/07\/Screen-Shot-2020-07-17-at-11.29.09-AM-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols"},"author":{"name":"Anne Fitz","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bee793ed8139187e84c18559765490fa"},"headline":"Create points, lines, and polygons using CIMSymbols","datePublished":"2020-07-24T18:16:29+00:00","dateModified":"2020-07-31T16:39:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols"},"wordCount":7,"commentCount":4,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["CIM","Developers","jsapi4","symbols and symbology","what's new june 2020"],"articleSection":["Mapping"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols","name":"Create points, lines, and polygons using CIMSymbols","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-07-24T18:16:29+00:00","dateModified":"2020-07-31T16:39:01+00:00","description":"Use CIMSymbols in the ArcGIS API for JavaScript to create custom vector point, line, and polygon symbols.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/create-points-lines-and-polygons-using-cimsymbols#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Create points, lines, and polygons using CIMSymbols"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/bee793ed8139187e84c18559765490fa","name":"Anne Fitz","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/03\/2B6A1033-465x465.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2023\/03\/2B6A1033-465x465.jpg","caption":"Anne Fitz"},"description":"Anne Fitz is a Senior Product Engineer at Esri, working on the ArcGIS Maps SDK for JavaScript and ArcGIS Arcade. Her expertise primarily focuses on dynamic vector symbology (CIM symbols), data visualization, animation, ArcGIS Arcade integration, and widgets. Anne\u2019s primary goal is to help developers succeed in building geospatial applications, providing them with the tools and knowledge they need to bring their ideas to life. She has been with Esri for over five years.","sameAs":["https:\/\/www.linkedin.com\/in\/anne-fitz"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/afitz"}]}},"text_date":"July 24, 2020","author_name":"Anne Fitz","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/afitz","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Screen-Shot-2020-07-01-at-4.45.11-PM.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":717771,"name":"CIM","slug":"cim","term_group":0,"term_taxonomy_id":717771,"taxonomy":"post_tag","description":"","parent":0,"count":5,"filter":"raw"},{"term_id":38851,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":38851,"taxonomy":"post_tag","description":"","parent":0,"count":78,"filter":"raw"},{"term_id":27491,"name":"jsapi4","slug":"jsapi4","term_group":0,"term_taxonomy_id":27491,"taxonomy":"post_tag","description":"","parent":0,"count":111,"filter":"raw"},{"term_id":31301,"name":"symbols and symbology","slug":"symbology","term_group":0,"term_taxonomy_id":31301,"taxonomy":"post_tag","description":"","parent":0,"count":194,"filter":"raw"},{"term_id":667481,"name":"what's new june 2020","slug":"whats-new-june-2020","term_group":0,"term_taxonomy_id":667481,"taxonomy":"post_tag","description":"","parent":0,"count":27,"filter":"raw"}],"category_data":[{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2690,"filter":"raw"}],"product_data":[{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":363,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/913801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/10062"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=913801"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/913801\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=913801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=913801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=913801"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=913801"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=913801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}