{"id":321742,"date":"2018-10-01T08:00:52","date_gmt":"2018-10-01T15:00:52","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=321742"},"modified":"2024-11-11T12:37:22","modified_gmt":"2024-11-11T20:37:22","slug":"generating-arcade-expressions-what-smart-mapping-does-for-you","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you","title":{"rendered":"Generating Arcade expressions: what Smart Mapping does for you"},"author":6561,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[777102,22941],"tags":[32521,27491,33531,110112,24581],"industry":[],"product":[36831,36601],"class_list":["post-321742","blog","type-blog","status-publish","format-standard","hentry","category-arcade","category-mapping","tag-arcade-expressions","tag-jsapi4","tag-predominance","tag-relationship-mapping","tag-smart-mapping","product-js-api-arcgis","product-developers"],"acf":{"short_description":"New Smart Mapping modules generate Arcade expressions under the hood, allowing you to create complex visualizations with just a few lines of code","flexible_content":[{"acf_fc_layout":"content","content":"<p>As of <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/index.html\">version 4.9<\/a> of the <a href=\"https:\/\/developers.arcgis.com\/javascript\/\">ArcGIS API for JavaScript<\/a> (JS API), you can now generate renderers for the following visualizations in a web app:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/smart-mapping-with-arcade-exploring-age\/\">Age<\/a> (using color and size variables)<\/li>\n<li><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/smart-mapping-with-arcade-visualizing-predominance\/\">Predominance<\/a><\/li>\n<li><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/smart-mapping-with-arcade-exploring-relationships\/\">Relationship<\/a><\/li>\n<\/ul>\n"},{"acf_fc_layout":"gallery","gallery_images":false},{"acf_fc_layout":"content","content":"<p>Under the hood, these renderers are driven by data values returned from <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/arcade\/index.html\">Arcade expressions<\/a>, which execute in the browser, using one or more attributes from the layer. <\/p>\n<h2>Background<\/h2>\n<p>Previously, <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/using-arcade-expressions-in-web-apps\/\">I\u2019ve written about how you can write Arcade expressions<\/a> for visualization purposes in web apps. Because the logic of many Arcade expressions can be reused across layers, we created the <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\">Esri\/arcade-expressions<\/a> GitHub repo, providing you with a platform to reuse others\u2019 expressions and even to share your own. <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/mapping\/share-your-arcade-expressions-as-templates\/\">Read more about how to use this repo<\/a>.<\/p>\n<p>While expressions are reusable in concept, they still require some revising when used in different layers since field names will certainly differ across datasets. To account for those differences, rather than copying, pasting, and editing Arcade expressions specifically for different apps, you can write JavaScript functions for <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generate-arcade-expressions-for-data-exploration-web-apps\/\">generating templated Arcade expressions<\/a> on behalf of your users. As outlined in <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generate-arcade-expressions-for-data-exploration-web-apps\">this blog post<\/a>, you can then pass the generated Arcade expression as a parameter in a Smart Mapping renderer creator function to explore the new values returned from the expression(s).<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":199672,"id":199672,"title":"smart-mapping-with-arcade","filename":"smart-mapping-with-arcade.png","filesize":97560,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generate-arcade-expressions-for-data-exploration-web-apps\/smart-mapping-with-arcade","alt":"","author":"6561","description":"","caption":"You can use the same Smart Mapping workflow to generate renderers for data returned from an Arcade expression you generate in behalf of your users.","name":"smart-mapping-with-arcade","status":"inherit","uploaded_to":199072,"date":"2018-05-30 20:00:53","modified":"2018-05-30 20:01:49","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":1051,"height":528,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","thumbnail-width":213,"thumbnail-height":107,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","medium-width":464,"medium-height":233,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","medium_large-width":768,"medium_large-height":386,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","large-width":1051,"large-height":528,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","1536x1536-width":1051,"1536x1536-height":528,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","2048x2048-width":1051,"2048x2048-height":528,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","card_image-width":826,"card_image-height":415,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/smart-mapping-with-arcade.png","wide_image-width":1051,"wide_image-height":528}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This requires the developer to write expressions and pass them to Smart Mapping renderer creator methods. The 4.9 release of the ArcGIS API for JavaScript took that concept a step further by generating the Arcade for you in the three cases already mentioned above: <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-smartMapping-creators-color.html#createAgeRenderer\">age<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-smartMapping-creators-predominance.html\">predominance<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-smartMapping-creators-relationship.html\">relationship<\/a>.<\/p>\n<p>These three use cases require Arcade expressions, but you no longer have to worry about generating the expressions on behalf of the user; the renderer creators do this for you in the API.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":321802,"id":321802,"title":"smart-mapping-arcade-flow","filename":"smart-mapping-arcade-flow.png","filesize":95492,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\/smart-mapping-arcade-flow","alt":"","author":"6561","description":"","caption":"","name":"smart-mapping-arcade-flow","status":"inherit","uploaded_to":321742,"date":"2018-09-18 18:34:20","modified":"2018-09-18 18:34:20","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":948,"height":573,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","thumbnail-width":213,"thumbnail-height":129,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","medium-width":432,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","medium_large-width":768,"medium_large-height":464,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","large-width":948,"large-height":573,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","1536x1536-width":948,"1536x1536-height":573,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","2048x2048-width":948,"2048x2048-height":573,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","card_image-width":769,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/smart-mapping-arcade-flow.png","wide_image-width":948,"wide_image-height":573}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Notice that generating Arcade expressions is now handled as part of the Smart Mapping workflow for these cases. The following apps will illustrate what the final Arcade expressions and renderers look like once generated by the appropriate renderer creator function. I\u2019ll cover each of these use cases in more detail in upcoming blog posts.<\/p>\n<h2>Age<\/h2>\n<p>The <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-smartMapping-creators-color.html#createAgeRenderer\">createAgeRenderer<\/a> method exists on both the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-smartMapping-creators-color.html\">color<\/a> and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-smartMapping-creators-size.html\">size<\/a> creator modules. This method visualizes features by their age based on one or two date fields in the layer. To do this, it generates the following Arcade expression prior to querying statistics and getting a color scheme. You can see this by logging the renderer in the developer tools console.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":322162,"id":322162,"title":"age-arcade","filename":"age-arcade.png","filesize":37684,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\/age-arcade","alt":"","author":"6561","description":"","caption":"The Arcade expression generated by the ageRendererCreator() method. The lines boxed in green represent input directly set by the user. The parameter in blue is determined by an internal Smart Mapping method based on statistics returned from the date fields.","name":"age-arcade","status":"inherit","uploaded_to":321742,"date":"2018-09-18 22:14:47","modified":"2018-09-25 19:54: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":475,"height":221,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","thumbnail-width":213,"thumbnail-height":99,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","medium-width":464,"medium-height":216,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","medium_large-width":475,"medium_large-height":221,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","large-width":475,"large-height":221,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","1536x1536-width":475,"1536x1536-height":221,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","2048x2048-width":475,"2048x2048-height":221,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","card_image-width":475,"card_image-height":221,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-arcade.png","wide_image-width":475,"wide_image-height":221}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":328102,"id":328102,"title":"age-legend","filename":"age-legend.png","filesize":260384,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\/age-legend","alt":"","author":"6561","description":"","caption":"The ageRendererCreator method calculates the age of features based on one or two date fields. In this case, the output renderer visualizes streets in Minneapolis, Minnesota by the time elapsed since their last inspection.","name":"age-legend","status":"inherit","uploaded_to":321742,"date":"2018-09-25 20:25:05","modified":"2018-09-25 20:25:41","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":1388,"height":749,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","thumbnail-width":213,"thumbnail-height":115,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","medium-width":464,"medium-height":250,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","medium_large-width":768,"medium_large-height":414,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","large-width":1388,"large-height":749,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","1536x1536-width":1388,"1536x1536-height":749,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","2048x2048-width":1388,"2048x2048-height":749,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","card_image-width":826,"card_image-height":446,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/age-legend.png","wide_image-width":1388,"wide_image-height":749}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/ekenes.github.io\/esri-ts-samples\/visualization\/smart-mapping\/age\/"},{"acf_fc_layout":"content","content":"<h2>Predominance<\/h2>\n<p>Predominance involves creating a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-UniqueValueRenderer.html\">unique values<\/a> (or type-based) visualization that indicates the winner among a set of one or more competing numeric fields. A common application of this is election mapping. A while ago, I wrote about how to <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/creating-a-predominance-visualization-with-arcade\/\">write your own Arcade expression for predominance visualizations using Arcade<\/a>. You can also do this by creating a new field in your service layer. Rather, you can specify the name of each numeric field in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-smartMapping-creators-predominance.html#createRenderer\">createRenderer<\/a> method parameters, and it will generate the following Arcade expression based on the field inputs and produce the correct visual for you.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":322082,"id":322082,"title":"predominance-arcade","filename":"predominance-arcade-1.png","filesize":89951,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\/predominance-arcade-2","alt":"","author":"6561","description":"","caption":"The lines surrounded in green indicate fields specified by the user. The rest of the expression can be reused by other layers as long as the correct input fields are provided.","name":"predominance-arcade-2","status":"inherit","uploaded_to":321742,"date":"2018-09-18 20:59:46","modified":"2018-09-18 21:00:57","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":591,"height":637,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","thumbnail-width":186,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","medium-width":242,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","medium_large-width":591,"medium_large-height":637,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","large-width":591,"large-height":637,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","1536x1536-width":591,"1536x1536-height":637,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","2048x2048-width":591,"2048x2048-height":637,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","card_image-width":431,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-arcade-1.png","wide_image-width":591,"wide_image-height":637}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":321792,"id":321792,"title":"predominance","filename":"predominance.png","filesize":131054,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\/predominance-3","alt":"","author":"6561","description":"","caption":"Predominance visualizations color features based on which field from a set of competing fields beats the others in value. This app shows the most common decade homes were built in each Census Block Group of Boise, Idaho.","name":"predominance-3","status":"inherit","uploaded_to":321742,"date":"2018-09-18 18:34:17","modified":"2018-09-18 21:02:42","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":1010,"height":669,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","thumbnail-width":213,"thumbnail-height":141,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","medium-width":394,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","medium_large-width":768,"medium_large-height":509,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","large-width":1010,"large-height":669,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","1536x1536-width":1010,"1536x1536-height":669,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","2048x2048-width":1010,"2048x2048-height":669,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","card_image-width":702,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance.png","wide_image-width":1010,"wide_image-height":669}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/visualization-sm-predominance\/live\/index.html"},{"acf_fc_layout":"content","content":"<h2>Relationship<\/h2>\n<p>Relationship visualizations were introduced to <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/announcements\/whats-new-arcgis-online-june-2018\/\">ArcGIS Online in June 2018<\/a>. Commonly known as <a href=\"http:\/\/www.joshuastevens.net\/cartography\/make-a-bivariate-choropleth-map\/\">bivariate choropleth<\/a> mapping, it involves exploring the spatial relationship between two numeric fields (e.g. % population diagnosed with diabetes versus the % population classified as obese). In the JS API, this is implemented with a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-renderers-UniqueValueRenderer.html\">UniqueValueRenderer<\/a> driven by the following generated Arcade expression.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":322092,"id":322092,"title":"relationship-arcade","filename":"relationship-arcade.png","filesize":117122,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\/relationship-arcade","alt":"","author":"6561","description":"","caption":"The arcade expression generated by the relationship renderer creator method. Code surrounded in green indicate fields directly specified by the user. Code surrounded in blue indicate class breaks generated by the creator method.","name":"relationship-arcade","status":"inherit","uploaded_to":321742,"date":"2018-09-18 21:06:18","modified":"2018-09-25 00:17:30","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":680,"height":734,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","thumbnail-width":185,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","medium-width":242,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","medium_large-width":680,"medium_large-height":734,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","large-width":680,"large-height":734,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","1536x1536-width":680,"1536x1536-height":734,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","2048x2048-width":680,"2048x2048-height":734,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","card_image-width":431,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship-arcade.png","wide_image-width":680,"wide_image-height":734}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":321812,"id":321812,"title":"relationship","filename":"relationship.png","filesize":196911,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\/relationship","alt":"","author":"6561","description":"","caption":"A relationship visualization exploring the relationship between energy usage and an energy score for buildings in Manhattan, New York.","name":"relationship","status":"inherit","uploaded_to":321742,"date":"2018-09-18 18:34:31","modified":"2018-09-25 00:16:49","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":1181,"height":744,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","thumbnail-width":213,"thumbnail-height":134,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","medium-width":414,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","medium_large-width":768,"medium_large-height":484,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","large-width":1181,"large-height":744,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","1536x1536-width":1181,"1536x1536-height":744,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","2048x2048-width":1181,"2048x2048-height":744,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","card_image-width":738,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/relationship.png","wide_image-width":1181,"wide_image-height":744}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/ekenes.github.io\/esri-ts-samples\/visualization\/smart-mapping\/relationship\/buildings-energy\/"},{"acf_fc_layout":"content","content":"<p>Keep a look out for additional posts exploring each of these renderer creators new to the JS API version 4.9.<\/p>\n"}],"authors":[{"ID":6561,"user_firstname":"Kristian","user_lastname":"Ekenes","nickname":"Kristian Ekenes","user_nicename":"kekenes","display_name":"Kristian Ekenes","user_email":"KEkenes@esri.com","user_url":"https:\/\/github.com\/ekenes","user_registered":"2018-03-02 00:18:32","user_description":"Kristian Ekenes is a Principal Product Engineer at Esri specializing in data visualization on the web. He works on the ArcGIS Maps SDK for JavaScript, ArcGIS Arcade, and Map Viewer in ArcGIS Online. Kristian's work focuses on researching and developing new and innovative data visualization capabilities of geospatial data in web maps, Arcade integration in web maps, and applications of generative AI assistants in web maps. Prior to joining Esri, he worked as a GIS Specialist for an environmental consulting company. Kristian has degrees from Brigham Young University and Arizona State University.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/10\/ekenes-zurich-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":199072,"post_author":"6561","post_date":"2018-06-05 08:00:08","post_date_gmt":"2018-06-05 08:00:08","post_content":"","post_title":"Generate Arcade expressions for data exploration web apps","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"generate-arcade-expressions-for-data-exploration-web-apps","to_ping":"","pinged":"","post_modified":"2024-11-11 12:37:33","post_modified_gmt":"2024-11-11 20:37:33","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=199072","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":74871,"post_author":"6561","post_date":"2017-01-10 05:00:33","post_date_gmt":"2017-01-10 05:00:33","post_content":"","post_title":"Using Arcade expressions in web apps","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"using-arcade-expressions-in-web-apps","to_ping":"","pinged":"","post_modified":"2024-11-11 12:40:25","post_modified_gmt":"2024-11-11 20:40:25","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/using-arcade-expressions-in-web-apps\/","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":123431,"post_author":"6561","post_date":"2018-03-15 11:28:49","post_date_gmt":"2018-03-15 11:28:49","post_content":"At the <a href=\"http:\/\/www.esri.com\/events\/devsummit\">2018 Dev Summit<\/a> in Palm Springs, I introduced the <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/\">Esri arcade-expressions GitHub repository<\/a>, which can be used for creating <a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/\">Arcade<\/a> expression templates to share with others for reuse.\n\nProviding a mechanism for sharing Arcade expressions has been a popular request. This is our initial attempt at gauging interest among users and developers to see how sharing common Arcade expressions can ease some of your workflows.\n\nAt the time of this blog post, there are only four expressions included in the repo. Each is thoroughly documented so you can copy and paste the template into the Arcade editor in ArcGIS Online (or in your custom apps) and set the appropriate values and field names that match your dataset.\n\nIf you're unfamiliar with Arcade check out the following resources:\n\n<ul>\n        <li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2016\/12\/19\/introducing-arcade\/\">ArcGIS Blog: Introducing Arcade<\/a><\/li>\n\t<li><a href=\"https:\/\/www.arcgis.com\/apps\/Cascade\/index.html?appid=3271f9b87c394c07b4a871257a5dc46b\">How to Smart Map: Arcade<\/a><\/li>\n\t<li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2016\/12\/15\/use-arcade-expressions-to-map-your-ideas\/\">ArcGIS Blog: Use Arcade Expressions to Map Your Ideas<\/a><\/li>\n\t<li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2017\/01\/10\/using-arcade-expressions-in-web-apps\/\">ArcGIS Blog: Using Arcade expressions in web apps<\/a><\/li>\n\t<li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2017\/05\/23\/creating-a-predominance-visualization-with-arcade\/\">ArcGIS Blog: Create a predominance visualization with Arcade<\/a><\/li>\n\t<li><a href=\"https:\/\/www.youtube.com\/watch?v=X6_x3SbTeZU&amp;list=PLaPDDLTCmy4Z844nQ0aFdRCTICoNDPf7E&amp;index=101\">YouTube: ArcGIS API for JavaScript: Using Arcade with your Apps<\/a><\/li>\n<\/ul>\n\n<h2>Reusing expressions<\/h2>\n\nCheck out the <a href=\"https:\/\/www.youtube.com\/watch?v=x_3uUznAYOo\">Explore the Arcade Expressions GitHub Repository<\/a> video on YouTube to quickly learn how the repository works.\n\n[embedyt] http:\/\/www.youtube.com\/watch?v=x_3uUznAYOo[\/embedyt]\n\nExpressions are organized based on their intended <a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/profiles\/\">execution profile<\/a>, though it doesn\u2019t necessarily mean they can\u2019t be used in other profiles.\n\nTo reuse an expression, simply browse the profile folders (visualization, popup, labeling, alias, any) and select an expression listed in the General workflow section of the README. For example, click <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/tree\/master\/visualization\">Visualization<\/a>.\n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-viz.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-viz.png\" alt=\"\" width=\"768\" height=\"465\" class=\"alignnone size-full wp-image-102266\" \/><\/a>\n\nThen click <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/blob\/master\/visualization\/predominance.md\">predominance<\/a>. \n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-predominance.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-predominance.png\" alt=\"\" width=\"768\" height=\"465\" class=\"alignnone size-full wp-image-102265\" \/><\/a>\n\nRead the general description of the expression along with the use cases. \n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/description.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/description.png\" alt=\"\" width=\"942\" height=\"420\" class=\"alignnone size-full wp-image-102267\" \/><\/a>\n\nThe <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/blob\/master\/visualization\/predominance.md#workflow\">workflow<\/a> section will highlight the portion of the template you need to be update for it to work for your data. \n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/workflow.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/workflow.png\" alt=\"\" width=\"931\" height=\"613\" class=\"alignnone size-full wp-image-102270\" \/><\/a>\n\nCopy and paste the snippet from the <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/blob\/master\/visualization\/predominance.md#expression-template\">Expression Template<\/a> section into your app\/code and update the necessary parts of the expression as indicated in the \u201cworkflow\u201d section and the code comments.\n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/expression-template.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/expression-template.png\" alt=\"\" width=\"642\" height=\"498\" class=\"alignnone size-full wp-image-102269\" \/><\/a>\n\nYou should also see a section providing a live example of how the expression works with real data.\n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/example-viz.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/example-viz.png\" alt=\"\" width=\"860\" height=\"497\" class=\"alignnone size-full wp-image-102268\" \/><\/a>\n\n<h2>Contributing your Arcade expressions<\/h2>\n\nThis section briefly outlines how to contribute to this project. If you have nothing to share, then you don't need to read any further. However, if you are interested in sharing some of the cool expressions you've found useful in your workflows, then please share them! \n\nIf you are unfamiliar with Git and\/or GitHub, then check out the following resources for getting started:\n\n<ul>\n\t<li><a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Getting-Started-Git-Basics\">Git Basics<\/a><\/li>\n\t<li><a href=\"https:\/\/guides.github.com\/activities\/hello-world\/#pr\">GitHub Guides: Open a Pull Request<\/a><\/li>\n\t<li><a href=\"https:\/\/community.esri.com\/groups\/technical-support\/blog\/2015\/10\/19\/introducing-the-esri-support-github-repository\">Esri support blog post with tips on getting started with GitHub<\/a><\/li>\n\t<li><a href=\"https:\/\/github.com\/esri\/contributing\">Esri guidelines for contributing to GitHub repositories<\/a><\/li>\n<\/ul>\n\nTo contribute, simply fork the repo, clone it locally to your machine, and add a new Markdown file describing the expression. Follow the same format as the existing expressions, providing others with a well documented template they can copy and paste easily into their apps. Also be sure to provide a completed example showing how the expression works for the given profile with a real dataset. Once that is done, submit a PR so your expression can be shared to the world.\n\n[embedyt] http:\/\/www.youtube.com\/watch?v=aI8HkAkUXuY[\/embedyt]\n\nThe goal of this repository is to encourage collaboration and allow everyone to benefit from others\u2019 creativity in using Arcade for solving real problems. Please share this repo and share your awesome Arcade expressions with the ArcGIS community!","post_title":"Share your Arcade expressions as templates","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"share-your-arcade-expressions-as-templates","to_ping":"","pinged":"","post_modified":"2024-11-11 12:38:26","post_modified_gmt":"2024-11-11 20:38:26","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/share-your-arcade-expressions-as-templates\/","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-card.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-banner-final.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>Generating Arcade expressions: what Smart Mapping does for you<\/title>\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\/generating-arcade-expressions-what-smart-mapping-does-for-you\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Generating Arcade expressions: what Smart Mapping does for you\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\" \/>\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=\"2024-11-11T20:37:22+00:00\" \/>\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\/generating-arcade-expressions-what-smart-mapping-does-for-you#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\"},\"author\":{\"name\":\"Kristian Ekenes\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5469f723fbfb78138efbb1da56e6aa9b\"},\"headline\":\"Generating Arcade expressions: what Smart Mapping does for you\",\"datePublished\":\"2018-10-01T15:00:52+00:00\",\"dateModified\":\"2024-11-11T20:37:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"arcade expressions\",\"jsapi4\",\"predominance\",\"relationship mapping\",\"smart mapping\"],\"articleSection\":[\"Arcade\",\"Mapping\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\",\"name\":\"Generating Arcade expressions: what Smart Mapping does for you\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2018-10-01T15:00:52+00:00\",\"dateModified\":\"2024-11-11T20:37:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generating Arcade expressions: what Smart Mapping does for you\"}]},{\"@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\/5469f723fbfb78138efbb1da56e6aa9b\",\"name\":\"Kristian Ekenes\",\"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\/2021\/10\/ekenes-zurich-213x200.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/10\/ekenes-zurich-213x200.png\",\"caption\":\"Kristian Ekenes\"},\"description\":\"Kristian Ekenes is a Principal Product Engineer at Esri specializing in data visualization on the web. He works on the ArcGIS Maps SDK for JavaScript, ArcGIS Arcade, and Map Viewer in ArcGIS Online. Kristian's work focuses on researching and developing new and innovative data visualization capabilities of geospatial data in web maps, Arcade integration in web maps, and applications of generative AI assistants in web maps. Prior to joining Esri, he worked as a GIS Specialist for an environmental consulting company. Kristian has degrees from Brigham Young University and Arizona State University.\",\"sameAs\":[\"https:\/\/github.com\/ekenes\",\"https:\/\/www.linkedin.com\/in\/kristian-ekenes\/\",\"https:\/\/x.com\/kekenes\"],\"gender\":\"male\",\"jobTitle\":\"Principal Product Engineer\",\"worksFor\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/kekenes\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Generating Arcade expressions: what Smart Mapping does for you","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\/generating-arcade-expressions-what-smart-mapping-does-for-you","og_locale":"en_US","og_type":"article","og_title":"Generating Arcade expressions: what Smart Mapping does for you","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2024-11-11T20:37:22+00:00","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\/generating-arcade-expressions-what-smart-mapping-does-for-you#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you"},"author":{"name":"Kristian Ekenes","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5469f723fbfb78138efbb1da56e6aa9b"},"headline":"Generating Arcade expressions: what Smart Mapping does for you","datePublished":"2018-10-01T15:00:52+00:00","dateModified":"2024-11-11T20:37:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you"},"wordCount":9,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["arcade expressions","jsapi4","predominance","relationship mapping","smart mapping"],"articleSection":["Arcade","Mapping"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you","name":"Generating Arcade expressions: what Smart Mapping does for you","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2018-10-01T15:00:52+00:00","dateModified":"2024-11-11T20:37:22+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/generating-arcade-expressions-what-smart-mapping-does-for-you#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Generating Arcade expressions: what Smart Mapping does for you"}]},{"@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\/5469f723fbfb78138efbb1da56e6aa9b","name":"Kristian Ekenes","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\/2021\/10\/ekenes-zurich-213x200.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/10\/ekenes-zurich-213x200.png","caption":"Kristian Ekenes"},"description":"Kristian Ekenes is a Principal Product Engineer at Esri specializing in data visualization on the web. He works on the ArcGIS Maps SDK for JavaScript, ArcGIS Arcade, and Map Viewer in ArcGIS Online. Kristian's work focuses on researching and developing new and innovative data visualization capabilities of geospatial data in web maps, Arcade integration in web maps, and applications of generative AI assistants in web maps. Prior to joining Esri, he worked as a GIS Specialist for an environmental consulting company. Kristian has degrees from Brigham Young University and Arizona State University.","sameAs":["https:\/\/github.com\/ekenes","https:\/\/www.linkedin.com\/in\/kristian-ekenes\/","https:\/\/x.com\/kekenes"],"gender":"male","jobTitle":"Principal Product Engineer","worksFor":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/kekenes"}]}},"text_date":"October 1, 2018","author_name":"Kristian Ekenes","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/kekenes","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/10\/predominance-banner-final.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":32521,"name":"arcade expressions","slug":"arcade-expressions","term_group":0,"term_taxonomy_id":32521,"taxonomy":"post_tag","description":"","parent":0,"count":27,"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":33531,"name":"predominance","slug":"predominance","term_group":0,"term_taxonomy_id":33531,"taxonomy":"post_tag","description":"","parent":0,"count":5,"filter":"raw"},{"term_id":110112,"name":"relationship mapping","slug":"relationship-mapping","term_group":0,"term_taxonomy_id":110112,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":24581,"name":"smart mapping","slug":"smart-mapping","term_group":0,"term_taxonomy_id":24581,"taxonomy":"post_tag","description":"","parent":0,"count":81,"filter":"raw"}],"category_data":[{"term_id":777102,"name":"Arcade","slug":"arcade","term_group":0,"term_taxonomy_id":777102,"taxonomy":"category","description":"","parent":0,"count":98,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2688,"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":362,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":763,"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\/321742","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\/6561"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=321742"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/321742\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=321742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=321742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=321742"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=321742"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=321742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}