{"id":466762,"date":"2023-06-22T22:27:23","date_gmt":"2023-06-22T22:27:23","guid":{"rendered":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/?post_type=blog&#038;p=466762"},"modified":"2025-04-07T22:19:29","modified_gmt":"2025-04-07T22:19:29","slug":"use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results","title":{"rendered":"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"h-feeling-boxed-in\"><strong>Feeling Boxed In?<\/strong><\/h2>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Whether you call them chem boxes, analytical callouts, spider diagrams, or exceedance tables, chances are you\u2019ve been frustrated by putting them on a map. The process to plot these tables, typically displayed on maps for environmental remediation, Phase I and Phase II site impact assessments, and environmental compliance projects, is nothing less than laborious.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Test results of air, soil, and water values of chemical analytes are compared against the Maximum Contaminant Levels (MCLs) and Regional Screening Levels (RSLs) to determine if there are anomalies on a project site. The formatted tables have typically been manually added to maps. After getting the lab results as flat Excel files and formatting them into tables that correspond to specific locations at a project site, GIS staff then copy and paste the tables as static images onto a map, taking care to ensure the leader lines pointing from a table to the mapped location avoids crossing any other lines or tables. If that doesn\u2019t sound tedious enough, test results are continuous throughout the project lifecycle and therefore changes are inevitable, requiring revisions and updates to the information inside the tables or to their placements on the map. There could be changes needed to style and scale, too. Sound daunting? We agree and there is a better way. Streamline the workflow and create tables that can be more easily modified by leveraging ArcGIS Arcade.<br><\/p>\n\n<h2 class=\"wp-block-heading\" id=\"h-try-it-out\"><strong>Try It Out<\/strong><\/h2>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Sample data and quick start instructions are available in this community post titled \u201c<a href=\"https:\/\/community.esri.com\/t5\/aec-architecture-engineering-and-construction-blog\/use-arcgis-arcade-for-environmental-analytical\/ba-p\/1299345\" target=\"_blank\" rel=\"noreferrer noopener\">Use ArcGIS Arcade for Environmental Analytical Callout Tables in ArcGIS Pro, ArcGIS Online, and Enterprise<\/a>\u201d. The ArcGIS Pro project with sample data as well as a foundational Arcade script to build the data tables in both ArcGIS Pro and ArcGIS Online are in the zip file which includes (\u2026Analytical_Callout_Chem_Box_Files):<\/p>\n\n<ul class=\"wp-block-list\"><li>Environmental_Sample_Data.gdb \u2013 includes the Sample Points feature layer<\/li><li>ArcGIS Pro Analytical Callout Chem Box Arcade Script \u2013 to create a new label class and display labels in ArcGIS Pro<\/li><li>ArcGIS Online Analytical Callout Chem Box Arcade Script \u2013 to display pop-ups in web apps in ArcGIS Online<\/li><li>Analytical_Callout_Chem_Box_Files.aprx \u2013 an ArcGIS Pro 3.1 project file with Arcade label script applied to Sample Points layer<\/li><\/ul>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">For this exercise, the script is referencing the Sample Points feature layer and is written using variable list functions. Variables enable you to make quick changes to the fields of specific analyte result feature layers or feature services specific to work with your projects. This workflow dynamically generates labels of the analyte result tables on a map, which can then be exported as a PDF, to support your regulatory reporting workflow. Let\u2019s get started below.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"619\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png\" alt=\"\" class=\"wp-image-469162\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/Example_output_tables-1024x619.png 1024w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/Example_output_tables-300x181.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/Example_output_tables-768x464.png 768w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/Example_output_tables.png 1192w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption><em>These are the dynamic, easily modified tables you are looking for.<\/em><\/figcaption><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"h-arcgis-pro-creating-custom-callout-box-labels-with-arcade\"><strong>ArcGIS Pro: Creating Custom Callout Box Labels with Arcade<\/strong><\/h2>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Arcade allows you to customize the appearance of the labels including the column width, colors used to display exceedances or default values, and font styles for highlighting specific results. Right click the Sample Points feature layer in the Table of Contents and go to the Labeling Properties to begin defining the analyte, result, and exceedance variables to be displayed.&nbsp; In the Label Class pane, choose \u201cCreate label class.\u201d<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"204\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/2_ArcGIS_Pro_New_Label_Class.png\" alt=\"\" class=\"wp-image-469172\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/2_ArcGIS_Pro_New_Label_Class.png 491w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/2_ArcGIS_Pro_New_Label_Class-300x125.png 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><figcaption><em>Create new label class for Sample Points.<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">The Arcade script is structured in such a way so that the displayed table is built from individual cells and the format settings are applied to customize how each cell in the table will appear in color, style, and font. This Arcade script is designed to have minimal input from the user and to leverage the built-in font styles of ArcGIS Pro.<\/p>\n\n<ol class=\"wp-block-list\"><li>The example project file (Analytical_Callout_Chem_Box_Files.aprx) includes a customized script for the Sample Points label class, as seen in the Enviro Callout Box above.<\/li><li>Copy and paste the script into the new label class you just created.<\/li><li>Since the script was built using variables, you will replace the analyte, result, and exceedance fields referenced by the&nbsp;<a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/variables\/\">variable feature<\/a>&nbsp;with those listed in the Fields section of the Label Class pane.<\/li><li>Decide on which analyte and result fields to include in the table and set the variable list of these fields in lines of the script 4 to 10. Replace the placeholder fields denoted by &lt; &gt; brackets (e.g.&nbsp;<strong>&lt;analyte 1&gt;<\/strong>,<strong>&nbsp;&lt;result 1&gt;<\/strong>,<strong>&nbsp;&lt;exceed 1&gt;<\/strong>) with a choice in the Fields list such as&nbsp;<strong>$feature.Test1<\/strong>.&nbsp;<\/li><\/ol>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"352\" height=\"721\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/3_ArcGIS_Pro_New_Label_Class_and_Arcade.png\" alt=\"\" class=\"wp-image-469182\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/3_ArcGIS_Pro_New_Label_Class_and_Arcade.png 352w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/3_ArcGIS_Pro_New_Label_Class_and_Arcade-146x300.png 146w\" sizes=\"auto, (max-width: 352px) 100vw, 352px\" \/><figcaption><em>Name the new label class, paste sample Arcade code into Expression box, and update the field names.<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">You can further customize the script to change the appearance of the table.&nbsp; Justification and spacing of the cell are defined by the maximum length of the text value. Adjust the cell spacing with the column width variable.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\"><em>REMEMBER: The \u201c<strong>Insert fields with coded value description function<\/strong>\u201d and \u201c<strong>Remove extra line breaks<\/strong>\u201d will be unchecked each time changes are made to the Arcade script, so ensure these are enabled after each applied edit.<\/em><\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"198\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/4.png\" alt=\"\" class=\"wp-image-469212\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/4.png 833w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/4-300x71.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/4-768x183.png 768w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><figcaption><em>Set each of the column widths for the table.<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">If you would like to choose a different font color, font style, cell background, or cell outline, use the function \u201cFormatFont(label, name, style, size)\u201d. These customizations can be helpful when highlighting a value or exceedance above the MCL or RSL.<\/p>\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"834\" height=\"312\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/5.png\" alt=\"\" class=\"wp-image-469222\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/5.png 834w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/5-300x112.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/5-768x287.png 768w\" sizes=\"auto, (max-width: 834px) 100vw, 834px\" \/><figcaption><em>Use the FormatFont function to customize the font if it will be different than the system font style.<\/em><\/figcaption><\/figure>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Add sample, result, and exceedance headings with defined variables and use a \u201cn\u201d soft break for multiline text.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"264\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/6.png\" alt=\"\" class=\"wp-image-469232\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/6.png 833w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/6-300x95.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/6-768x243.png 768w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><figcaption><em> <em>Customize the table headings by adjusting the text color and justification<\/em> <\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Exceedances are defined with an&nbsp;<a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/logical_functions\/#iif\">IIf function<\/a>&nbsp;and styled using the functions \u201cFormatBO\u201d and \u201cFormatFont.\u201d The section of code below handles those properties.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"831\" height=\"639\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/7.png\" alt=\"\" class=\"wp-image-469242\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/7.png 831w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/7-300x231.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/7-768x591.png 768w\" sizes=\"auto, (max-width: 831px) 100vw, 831px\" \/><figcaption><em>Use this IIf function to create the style for each row. This will be repeated for the total number of columns that will be displayed.<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">There are a few ways to structure the dataset. For example, you could define the MCL or RSL and compare results to whether they are greater or lesser than those standards.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">For simplicity&#8217;s sake, this script assumes there is a field that is categorized by a \u201cY\u201d (yes) or \u201cN\u201d (no) value indicating whether the result is exceeding or not.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"830\" height=\"248\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/8_Sample_Points_Exceed_Yes_No.png\" alt=\"\" class=\"wp-image-469252\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/8_Sample_Points_Exceed_Yes_No.png 830w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/8_Sample_Points_Exceed_Yes_No-300x90.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/8_Sample_Points_Exceed_Yes_No-768x229.png 768w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><figcaption><em>Choose a field to use for displaying exceedances, such as a &#8220;Yes&#8221; or &#8220;No&#8221; value<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Lastly, a table title is defined using one or more fields of your choice. The table is built from individual cells and the \u201c&lt;LIN Leading\u2026&gt;\u201d value will need to be adjusted based on the type of font and font size used. The cells may overlap or appear with a gap between the cells depending on the ArcGIS Pro monospaced font chosen. Display the cells cohesively as a table by adjusting the \u201cLIN leading\u201d as either a positive or negative number.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"832\" height=\"263\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/9.png\" alt=\"\" class=\"wp-image-469262\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/9.png 832w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/9-300x95.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/9-768x243.png 768w\" sizes=\"auto, (max-width: 832px) 100vw, 832px\" \/><figcaption><em>Create the table title and adjust the line leading value as either positive or negative to account for the font used in the table.<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Once the tables have been made, you may want to move the tables around to the best fit on the figure or map. This can be done by converting the labels to annotation on the \u201cSample Points\u201d layer. Select feature-linked annotation if you plan on having frequent updates to the sampling data.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"569\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/10_Feature_Linked_Annotation.png\" alt=\"\" class=\"wp-image-469272\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/10_Feature_Linked_Annotation.png 480w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/10_Feature_Linked_Annotation-253x300.png 253w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><figcaption><em>Check on the &#8220;Create feature-linked annotation&#8221; to link the output annotation feature class to the features in the Sample Data feature class.<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">This workflow still involves the need to manually move the tables in a figure layout, however the effort is greatly reduced by the dynamic nature of feature-linked annotation. When feature class updates are made through QA\/QC review the annotation will be automatically updated.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Now that you\u2019ve created custom labels in ArcGIS Pro, here are some helpful reminders:&nbsp;<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Once you are ready to apply the script, ensure that the \u201c<strong>Insert fields with scripted value description function<\/strong>\u201d and \u201c<strong>Remove extra line breaks<\/strong>\u201d are checked on to show the cells in an evenly spaced table. These will be unchecked each time changes are made to the Arcade script, so ensure these are enabled after each applied edit. See below for a screen capture of how this looks.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"352\" height=\"225\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/11_Best_Practices_Label_Class-1.png\" alt=\"\" class=\"wp-image-469922\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/11_Best_Practices_Label_Class-1.png 352w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/11_Best_Practices_Label_Class-1-300x192.png 300w\" sizes=\"auto, (max-width: 352px) 100vw, 352px\" \/><figcaption><em>Check on the &#8220;Insert fields with scripted value description function&#8221; and &#8220;Remove extra line breaks&#8221; for displaying tables uniformly<\/em><\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Using the Maplex Label engine, choose a monospaced font like Courier New or Consolas to display the result tables in an aligned, spaced, and structured way. If a non-monospaced font is used, you\u2019ll notice the cells that make up the table are not evenly spaced, and each cell will be a different size based on the maximum length of the text or value in the cell.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"h-arcgis-online-and-arcgis-enterprise-creating-custom-pop-ups\"><strong>ArcGIS Online and ArcGIS Enterprise: Creating Custom Pop-ups<\/strong><\/h2>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">If you\u2019re using ArcGIS Online or ArcGIS Enterprise, you will need to develop result tables through <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/configure-pop-ups-basics\/\">pop-ups instead<\/a> <br><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/configure-pop-ups-basics\/\">https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/configure-pop-ups-basics\/<\/a><\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">The pop-ups code is a combination of an Arcade script and&nbsp;<a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/reference\/supported-html.htm\">HTML tags<\/a>. The code below shows the last few lines of the Arcade script have a text return with the HTML formatted tags that individually build the cells of the table.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"831\" height=\"671\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/12-1.png\" alt=\"\" class=\"wp-image-469822\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/12-1.png 831w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/12-1-300x242.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/12-1-768x620.png 768w\" sizes=\"auto, (max-width: 831px) 100vw, 831px\" \/><figcaption> <em>HTML code that can be customized to reflect the columns that will be included in the overall table.<\/em> <\/figcaption><\/figure><\/div>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">By sharing the Sample Points feature layer to your ArcGIS Online or ArcGIS Enterprise environment you can create a pop-up using the \u201cArcGIS Online Analytical Callout Chem Box Arcade Script\u201d as a starting point. This script will dynamically show lab results in the web app environment. When you receive new or updated lab data, use the Append tool and newly extended&nbsp;<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/upsert-your-datasets-using-the-append-tool-in-arcgis-pro-3-1\/\">\u201cupsert\u201d functionality<\/a> to insert new records and update existing records. This enables you to communicate more effectively with project managers and stakeholders throughout the project lifecycle.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Begin by selecting the Sample Points feature layer, then in the Pop-ups pane click \u201cAdd content\u201d and choose Arcade. Add the script from the \u201cArcGIS Online Analytical Callout Chem Box Arcade Script\u201d file in the window and choose a new name for the title of your script.&nbsp; The script includes a listing of variables that reflect the analyte and result fields within the feature service, as well as variables used to define the style and coloring based on whether the result exceeds the MCL or RSL standards. Review the previous ArcGIS Pro section for more information.<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"340\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/13_Environmental-Callouts-in-ArcGIS-Online-Popup.gif\" alt=\"\" class=\"wp-image-469292\" \/><figcaption>W<em>alkthrough adding pop-up code of Arcade script and HTML tags in ArcGIS Online<\/em><\/figcaption><\/figure><\/div>\n\n<h2 class=\"wp-block-heading\" id=\"h-ready-to-play-with-arcade\"><strong>Ready to Play with Arcade?<\/strong><\/h2>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">If you are new to Arcade, <a href=\"https:\/\/learn.arcgis.com\/en\/paths\/try-arcade\/\">this learning path<\/a>&nbsp;is a great place to begin.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">In addition, this blog post \u201c<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/developers\/im-a-developer-do-i-really-need-arcade\/?hsamp_network=linkedin&amp;hsamp=bSwM2sdi3A4k\">I\u2019m a developer. Do I really need Arcade?<\/a>\u201d provides context with use cases, which can help demonstrate the benefits of adding Arcade to one\u2019s existing arsenal of programming languages.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Additional resources:&nbsp;<a href=\"https:\/\/developers.arcgis.com\/arcade\/\">Updated Arcade documentation<\/a>, this post from a&nbsp;<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/discover-the-arcade-editors-powerful-new-features\/\">November 2022 release<\/a>, and a blog on&nbsp;<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/pop-ups-arcade-essentials\/\">pop-up<\/a> Arcade essentials.<\/p>\n\n<p class=\"undefined block-editor-paragraph wp-block-paragraph\">Arcade can provide a dynamic approach to visualizing environmental analyte results as a table on a map. We can\u2019t wait for you to tell us what you do with it, and how you plan to spend all that free time now that you\u2019re spending less time moving around static table images. <\/p>","protected":false},"author":171,"featured_media":0,"parent":0,"menu_order":0,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[2162],"tags":[],"class_list":["post-466762","blog","type-blog","status-publish","format-standard","hentry","category-environmental-consulting-and-management","industry-architecture-engineering-and-construction"],"acf":[],"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>Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results<\/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\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results\" \/>\n<meta property=\"og:description\" content=\"Feeling Boxed In? Whether you call them chem boxes, analytical callouts, spider diagrams, or exceedance tables, chances are you\u2019ve been frustrated by putting them on a map. The process to plot these tables, typically displayed on maps for environmental remediation, Phase I and Phase II site impact assessments, and environmental compliance projects, is nothing less [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results\" \/>\n<meta property=\"og:site_name\" content=\"Industry Blogs\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-07T22:19:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results\",\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results\",\"name\":\"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#primaryimage\"},\"thumbnailUrl\":\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png\",\"datePublished\":\"2023-06-22T22:27:23+00:00\",\"dateModified\":\"2025-04-07T22:19:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#primaryimage\",\"url\":\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png\",\"contentUrl\":\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website\",\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/\",\"name\":\"Industry Blogs\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/8c4f3e5f3a29e928c1e880346bbdeb44\",\"name\":\"Laurence Litrico\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2026\/06\/Laurence-Litrico-6-150x150.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2026\/06\/Laurence-Litrico-6-150x150.jpg\",\"caption\":\"Laurence Litrico\"},\"description\":\"As a marketing manager at Esri, Laurence works closely with Esri sales and professional services teams, and business partners to promote awareness of GIS to Architecture, Engineering, and Construction firms. With 20+ years of experience in developing marketing strategies for software and GIS solutions, she has a passion for building community and empowering customers to become GIS champions and advocates.\",\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/author\/laurence-litrico\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results","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\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results","og_locale":"en_US","og_type":"article","og_title":"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results","og_description":"Feeling Boxed In? Whether you call them chem boxes, analytical callouts, spider diagrams, or exceedance tables, chances are you\u2019ve been frustrated by putting them on a map. The process to plot these tables, typically displayed on maps for environmental remediation, Phase I and Phase II site impact assessments, and environmental compliance projects, is nothing less [&hellip;]","og_url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results","og_site_name":"Industry Blogs","article_modified_time":"2025-04-07T22:19:29+00:00","og_image":[{"url":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results","url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results","name":"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results","isPartOf":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#primaryimage"},"image":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#primaryimage"},"thumbnailUrl":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png","datePublished":"2023-06-22T22:27:23+00:00","dateModified":"2025-04-07T22:19:29+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#primaryimage","url":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png","contentUrl":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2023\/06\/Example_output_tables-1024x619.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/en-us\/industries\/blog"},{"@type":"ListItem","position":2,"name":"Use ArcGIS Arcade to Step Out of the Static Environmental Callout Box and Into Dynamic Results"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website","url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/","name":"Industry Blogs","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/en-us\/industries\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/8c4f3e5f3a29e928c1e880346bbdeb44","name":"Laurence Litrico","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2026\/06\/Laurence-Litrico-6-150x150.jpg","contentUrl":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2026\/06\/Laurence-Litrico-6-150x150.jpg","caption":"Laurence Litrico"},"description":"As a marketing manager at Esri, Laurence works closely with Esri sales and professional services teams, and business partners to promote awareness of GIS to Architecture, Engineering, and Construction firms. With 20+ years of experience in developing marketing strategies for software and GIS solutions, she has a passion for building community and empowering customers to become GIS champions and advocates.","url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/author\/laurence-litrico"}]}},"text_date":"June 22, 2023","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/use-arcgis-arcade-to-step-out-of-the-static-environmental-callout-box-and-into-dynamic-results","custom_image":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/Banner_Example_output_tables_v5_LL.png","primary_product":"Architecture, Engineering, and Construction","tag_data":[],"category_data":[{"term_id":2162,"name":"Environmental Consulting and Management","slug":"environmental-consulting-and-management","term_group":0,"term_taxonomy_id":2162,"taxonomy":"category","description":"","parent":0,"count":5,"filter":"raw"}],"product_data":{"errors":{"invalid_taxonomy":["Invalid taxonomy."]},"error_data":[]},"primary_product_link":"https:\/\/www.esri.com\/en-us\/industries\/blog\/industry\/architecture-engineering-and-construction","short_description":"Use ArcGIS Arcade to dynamically display environmental results as labels in ArcGIS Pro or as pop-ups in ArcGIS Online and ArcGIS Enterprise.","image":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2023\/06\/Banner_Example_output_tables_v5_LL_card.png","_links":{"self":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/article\/466762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/users\/171"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/article\/466762\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/media?parent=466762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/categories?post=466762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/tags?post=466762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}