{"id":2536462,"date":"2024-11-25T08:00:44","date_gmt":"2024-11-25T16:00:44","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2536462"},"modified":"2024-11-25T07:23:08","modified_gmt":"2024-11-25T15:23:08","slug":"improved-arcade-support-for-csv-geojson-and-wfs-layers","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers","title":{"rendered":"Improved Arcade Support for CSV, GeoJSON, and WFS Layers"},"author":319692,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[777102,22941],"tags":[32551,29641,25721,34651,212872],"industry":[],"product":[36551],"class_list":["post-2536462","blog","type-blog","status-publish","format-standard","hentry","category-arcade","category-mapping","tag-arcade","tag-csv","tag-geojson","tag-labels","tag-popups","product-arcgis-online"],"acf":{"authors":[{"ID":319692,"user_firstname":"Taylor","user_lastname":"McNeil","nickname":"Taylor McNeil","user_nicename":"tmcneil","display_name":"Taylor McNeil","user_email":"tmcneil@esri.com","user_url":"","user_registered":"2022-10-06 12:43:53","user_description":"Taylor is a Product Engineer on the ArcGIS Online team based in Nova Scotia, Canada. She has received a BSc in Biology and a MSc in Applied Geomatics. When she's not at work, she can be found taking care of her houseplants, reading copious amounts of fiction, and exploring local thrift stores.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/BlogProfilePicCrop-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"short_description":"Learn more about how you can use Arcade with labels and pop-ups for your CSV, GeoJSON, and WFS layers in ArcGIS Online. ","flexible_content":[{"acf_fc_layout":"content","content":"<p>This year at the 2024 User Conference, many individuals expressed an interest in being able to do more with Arcade and non-feature layer items. Well, you asked, and we listened! With the latest update of ArcGIS Online, we are excited to announce that we have improved Arcade support for CSV, GeoJSON, and WFS layers. In addition to the Visualization profile (where there was already support for these layers), these layer types are now fully supported within the context of the Arcade Popup and Labeling profiles. Let\u2019s dive into what this support entails before providing some examples of how you can take advantage of this new functionality during the map authoring experience.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Adding and working with CSV, GeoJSON, and WFS layers<\/h2>\n<p>There are multiple ways to create and work with <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-CSVLayer.html\" target=\"_blank\" rel=\"noopener\">CSV<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-GeoJSONLayer.html\" target=\"_blank\" rel=\"noopener\">GeoJSON<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-WFSLayer.html\" target=\"_blank\" rel=\"noopener\">WFS<\/a> layers in Map Viewer. All three of these layer types can be added directly to your web map <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/add-layers-from-url.htm\" target=\"_blank\" rel=\"noopener\">using a URL<\/a>, or <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/add-layers-from-file.htm\" target=\"_blank\" rel=\"noopener\">via file upload<\/a> (GeoJSON and CSV only). Additionally, a WFS layer can be created from a pre-existing feature layer you own using the <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-wfs.htm\" target=\"_blank\" rel=\"noopener\">Publish<\/a> option on the layer\u2019s item details page.<\/p>\n<p>If a GeoJSON layer already exists in your organization, you can also add it directly to the map using the <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/browse-layers.htm\" target=\"_blank\" rel=\"noopener\">browse layers workflow<\/a>. After opening the browse experience in Map Viewer, click the Refine content option and apply a filter where the item type is \u2018GeoJSON\u2019.<\/p>\n<p>Once you\u2019ve added your layer(s) to the map, it\u2019s time to start writing some Arcade.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Labeling profile support<\/h2>\n<p>Arcade\u2019s labeling profile is used to dynamically label features within your map. Now, when you open the Label pane in Map Viewer with a CSV, GeoJSON, or WFS layer as your active layer, you will see the option to label the feature with an Arcade expression. When authoring your expression, you\u2019ll only have access to attributes for that feature. Like the Visualization profile, FeatureSets and their functions are not supported in the Labeling profile for <a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/featuresets\/#featuresets-in-visualization\">performance reasons<\/a>.<\/p>\n"},{"acf_fc_layout":"content","content":"<h3>An example<\/h3>\n<p>Let\u2019s say you\u2019ve just found a WFS layer that indicates lakes in and around California that would be perfect for your map. In the map, you want to label each lake to show the name and the relevant state(s) where it is located. Fortunately, there are fields that contain this information. Unfortunately, the attribute values aren\u2019t formatted as you\u2019d like to display them in the label. That\u2019s where Arcade comes in.<\/p>\n<p>In the expression below, the name of the lake has been capitalized with the <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/text_functions\/#upper\" target=\"_blank\" rel=\"noopener\">Upper()<\/a> function to ensure it\u2019s prominence in the label. Then, the <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/logical_functions\/#decode\" target=\"_blank\" rel=\"noopener\">Decode()<\/a> function is used to map the various attribute state codes to more easily understood strings.<\/p>\n"},{"acf_fc_layout":"content","content":"<pre><code style=\"color: #24292e;background: #fff;padding: 1em\"><span style=\"color: #6a737d\">\/\/ Get the name and state fields from the layer<\/span>\r\n<span style=\"color: #bf4900\">var<\/span><span style=\"color: #0000b3\"> name<\/span> = <span style=\"color: #0000b3\">Upper($feature.NAME)<\/span>;\r\n<span style=\"color: #bf4900\">var<\/span><span style=\"color: #0000b3\"> state<\/span> = <span style=\"color: #0000b3\">$feature.STATE<\/span>;\r\n\r\n<span style=\"color: #6a737d\">\/\/ Get the relevant text string according to attribute value<\/span>\r\n<span style=\"color: #0000b3\">state<\/span> = <span style=\"color: #0000b3\">Decode(<\/span>\r\n  <span style=\"color: #0000b3\">state<\/span>,\r\n  <span style=\"color: #a31515\">\"CA\"<\/span>, <span style=\"color: #a31515\">\"California\"<\/span>,\r\n  <span style=\"color: #a31515\">\"CA-OR\"<\/span>, <span style=\"color: #a31515\">\"California\/Oregon\"<\/span>,\r\n  <span style=\"color: #a31515\">\"AZ-CA\"<\/span>, <span style=\"color: #a31515\">\"California\/Arizona\"<\/span>,\r\n  <span style=\"color: #a31515\">\"CA-NV\"<\/span>, <span style=\"color: #a31515\">\"California\/Nevada\"<\/span>,\r\n  <span style=\"color: #a31515\">\"AZ-CA-NV\"<\/span>, <span style=\"color: #a31515\">\"California\/Arizona\/Nevada\"<\/span>,\r\n  <span style=\"color: #a31515\">\"AZ\"<\/span>, <span style=\"color: #a31515\">\"Arizona\"<\/span>,\r\n  <span style=\"color: #a31515\">\"State unknown\"<\/span>\r\n<span style=\"color: #0000b3\">)<\/span>;\r\n\r\n<span style=\"color: #6a737d\">\/\/ Return formatted fields in the feature's label<\/span>\r\n<span style=\"color: #bf4900\">return<\/span><span style=\"color: #a31515\"> `<\/span><span style=\"color: #0000b3\">${name}<\/span>(<span style=\"color: #0000b3\">${state}<\/span><span style=\"color: #a31515\">)`<\/span>\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<p>After saving the expression, the feature labels will look like this.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2594712,"id":2594712,"title":"lake_label","filename":"lake_label.png","filesize":604115,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\/lake_label","alt":"A feature that is labelled with Arcade to show the lake's name and the state(s) it is found in.","author":"319692","description":"","caption":"Arcade can be used to dynamically label features in a WFS, GeoJSON, or CSV layer in Map Viewer. ","name":"lake_label","status":"inherit","uploaded_to":2536462,"date":"2024-11-19 23:09:03","modified":"2024-11-20 18:12:16","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":426,"height":641,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label.png","medium-width":173,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label.png","medium_large-width":426,"medium_large-height":641,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label.png","large-width":426,"large-height":641,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label.png","1536x1536-width":426,"1536x1536-height":641,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label.png","2048x2048-width":426,"2048x2048-height":641,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label-309x465.png","card_image-width":309,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/lake_label.png","wide_image-width":426,"wide_image-height":641}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This is just one example of the myriad ways Arcade can be used to label features. Other possibilities include returning multi-line labels with a <a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/template-literals\/\" target=\"_blank\" rel=\"noopener\">template literal<\/a>, or performing on the fly conversions (e.g., \u00b0F \u2194 \u00b0C) and mathematical calculations.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Popup profile support<\/h2>\n<p>Authoring both attribute expressions and <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/mapping\/part-1-introducing-arcade-pop-up-content-elements\/\" target=\"_blank\" rel=\"noopener\">Arcade content elements<\/a> is now fully supported for CSV, GeoJSON, and WFS layer pop-ups in Map Viewer. Prior to this update, Arcade expressions could only be authored on CSV and GeoJSON layers, and available profile variables were limited to $feature. Now that we\u2019ve added support for additional profile variables ($layer, $map, $userInput) and <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/featureset_functions\/\" target=\"_blank\" rel=\"noopener\">FeatureSet functions<\/a>, you can go even further with your layer pop-ups.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<p>Note: Make sure to use FeatureSets responsibly in your Arcade expressions. Iterating through FeatureSets or making data requests within a loop can have performance and scalability concerns, particularly when you&#8217;re working with a large number of features.<\/p>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<h3>Attribute expressions<\/h3>\n<p>The ability to use other $map and FeatureSet functions in your pop-ups makes it incredibly easy to determine spatial relationships between different map layers. In the example below, we have a map with two distinct WFS layers that contain counties and golf courses in the state of California. With just one Arcade expression (and some HTML for formatting) we can create a dynamic rich text element in the county layer pop-up that displays the number of golf courses in each county.<\/p>\n"},{"acf_fc_layout":"content","content":"<pre><code style=\"color: #24292e;background: #fff;padding: 1em\">\r\n<span style=\"color: #6a737d\">\/\/ Get featureset of all golf courses in the state<\/span>\r\n<span style=\"color: #bf4900\">var<\/span><span style=\"color: #0000b3\"> golf<\/span> = <span style=\"color: #0000b3\">FeatureSetById<\/span>(<span style=\"color: #0000b3\">$map<\/span>, <span style=\"color: #a31515\">\"193033f7032-layer-7\"<\/span>, [<span style=\"color: #a31515\">\"NAME\"<\/span>]);\r\n\r\n<span style=\"color: #6a737d\">\/\/ find golf courses that intersect the county and determine count<\/span>\r\n<span style=\"color: #bf4900\">var<\/span><span style=\"color: #0000b3\"> int_golf<\/span> = <span style=\"color: #0000b3\">Intersects<\/span>(<span style=\"color: #0000b3\">golf<\/span>, <span style=\"color: #0000b3\">$feature<\/span>);\r\n<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">cnt_golf<\/span> = <span style=\"color: #0000b3\">Count(int_golf)<\/span>;\r\n\r\n<span style=\"color: #6a737d\">\/\/ return value in pop-up<\/span>\r\n<span style=\"color: #bf4900\">return<\/span><span style=\"color: #0000b3\"> cnt_golf<\/span>\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":2596642,"id":2596642,"title":"expression_popup_with_pic","filename":"expression_popup_with_pic.png","filesize":88646,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\/expression_popup_with_pic","alt":"A pop-up formatted with HTML that indicates the number of golf courses in Sonoma county alongside a picture of a golfer teeing off.","author":"319692","description":"","caption":"The pop-up uses an Arcade attribute expression to indicate the number of golf courses in Sonoma County, California.","name":"expression_popup_with_pic","status":"inherit","uploaded_to":2536462,"date":"2024-11-20 22:55:30","modified":"2024-11-20 22:56: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":337,"height":285,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","medium-width":309,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","medium_large-width":337,"medium_large-height":285,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","large-width":337,"large-height":285,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","1536x1536-width":337,"1536x1536-height":285,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","2048x2048-width":337,"2048x2048-height":285,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","card_image-width":337,"card_image-height":285,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/expression_popup_with_pic.png","wide_image-width":337,"wide_image-height":285}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3>Content element<\/h3>\n<p>An Arcade content element is another way to dynamic create charts, rich text, or fields lists in your pop-up. In this example, we have a map that contains a GeoJSON layer added via URL. This layer updates daily to show global earthquakes occurrences in the past week that have a recorded magnitude of 2 or more. Within the content element, the $layer profile variable is used alongside the <a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/featureset_functions\/#groupby\" target=\"_blank\" rel=\"noopener\">GroupBy()<\/a> function to group the number of earthquakes by their magnitude. After the count of earthquakes within each magnitude range are determined, these values are passed into the attributes dictionary for the chart element. Finally, text and a dynamic date range is added to the chart description to provide additional context for consumers of the pop-up.<\/p>\n"},{"acf_fc_layout":"content","content":"<pre><code style=\"color: #24292e;background: #fff;padding: 1em\">\r\n<span style=\"color: #6a737d\">\/\/ get all quakes in the layer<\/span>\r\n<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">quakes<\/span> = <span style=\"color: #0000b3\">$layer<\/span>;\r\n\r\n<span style=\"color: #6a737d\">\/\/ group the earthquakes by magnitude and determine count<\/span>\r\n<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">stats<\/span> = <span style=\"color: #0000b3\">GroupBy<\/span>(\r\n  <span style=\"color: #0000b3\">quakes<\/span>,\r\n  [{ <span style=\"color: #0000b3\">name<\/span>: <span style=\"color: #a31515\">\"mag\"<\/span>, <span style=\"color: #0000b3\">expression<\/span>: <span style=\"color: #a31515\">\"FLOOR(mag)\"<\/span> }],\r\n  { <span style=\"color: #0000b3\">name<\/span>: <span style=\"color: #a31515\">\"num_quakes\"<\/span>, <span style=\"color: #0000b3\">expression<\/span>: <span style=\"color: #a31515\">\"1\"<\/span>, <span style=\"color: #0000b3\">statistic<\/span>: <span style=\"color: #a31515\">\"count\"<\/span> }\r\n);\r\n\r\n<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">attributes<\/span> = {};\r\n<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">fields<\/span> = [];\r\n\r\n<span style=\"color: #6a737d\">\/\/ populate dictionary and array with the magnitude level and earthquake count to use as chart attributes<\/span>\r\n<span style=\"color: #bf4900\">for<\/span> (<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">group<\/span> <span style=\"color: #bf4900\">in<\/span> <span style=\"color: #0000b3\">stats<\/span>) {\r\n  <span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">fieldName<\/span> = <span style=\"color: #032f62\"><span style=\"color: #a31515\">`magnitude<\/span><span style=\"color: #0000b3\">${group.mag}<\/span><span style=\"color: #a31515\">`<\/span>;\r\n  <span style=\"color: #0000b3\">attributes[fieldName]<\/span> = <span style=\"color: #0000b3\">group.num_quakes<\/span>;\r\n  <span style=\"color: #0000b3\">Push<\/span>(<span style=\"color: #0000b3\">fields<\/span>, <span style=\"color: #0000b3\">fieldName<\/span>);\r\n}\r\n\r\n<span style=\"color: #6a737d\">\/\/ get date range of earthquake observations to return in chart<\/span>\r\n<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">start_date<\/span> = <span style=\"color: #0000b3\">Text<\/span>(<span style=\"color: #0000b3\">DateOnly<\/span>(<span style=\"color: #0000b3\">Min<\/span>(quakes, <span style=\"color: #a31515\">\"time\"<\/span>)), <span style=\"color: #a31515\">\"MMM D, Y\"<\/span>);\r\n<span style=\"color: #bf4900\">var<\/span> <span style=\"color: #0000b3\">end_date<\/span> = <span style=\"color: #0000b3\">Text<\/span>(<span style=\"color: #0000b3\">DateOnly<\/span>(<span style=\"color: #0000b3\">Max<\/span>(<span style=\"color: #0000b3\">quakes<\/span>, <span style=\"color: #a31515\">\"time\"<\/span>)), <span style=\"color: #a31515\">\"MMM D, Y\"<\/span>);\r\n\r\n<span style=\"color: #6a737d\">\/\/ return chart element in pop-up<\/span>\r\n<span style=\"color: #bf4900\">return<\/span> {\r\n  <span style=\"color: #0000b3\">type<\/span>: <span style=\"color: #a31515\">\"media\"<\/span>,\r\n  <span style=\"color: #0000b3\">title<\/span>: <span style=\"color: #a31515\">\"Earthquakes in the past week\"<\/span>,\r\n  <span style=\"color: #0000b3\">description<\/span>: <span style=\"color: #a31515\">`<\/span><span style=\"color: #0000b3\">${start_date}<\/span> <span style=\"color: #a31515\">to<\/span> <span style=\"color: #0000b3\">${end_date}<\/span><span style=\"color: #a31515\">`<\/span>,\r\n  <span style=\"color: #0000b3\">attributes<\/span>,\r\n  <span style=\"color: #0000b3\">mediaInfos<\/span>: [\r\n    {\r\n      <span style=\"color: #0000b3\">type<\/span>: <span style=\"color: #a31515\">\"barchart\"<\/span>,\r\n      <span style=\"color: #0000b3\">title<\/span>:\r\n        <span style=\"color: #a31515\">\"Global earthquake occurrences (magnitude 2+) in the past week categorized by magnitude\"<\/span>,\r\n      <span style=\"color: #0000b3\">altText<\/span>:\r\n        <span style=\"color: #a31515\">\"A bar chart indicating the number of earthquakes with a magnitude of 2 or greater that have occurred globally in the past week categorized by magnitude.\"<\/span>,\r\n      <span style=\"color: #0000b3\">value<\/span>: <span style=\"color: #0000b3\">{ fields }<\/span>\r\n    }\r\n  ]\r\n};\r\n<\/span><\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<p>Once the expression is saved, the pop-up for the GeoJSON layer will look like this (see below). Because the expression returns an entire element in your pop-up, rather than a single value, using a content element can reduce the need to write multiple attribute expressions for your layer. If we were to build out this same chart using the chart pop-up element instead, several attribute expressions would need to be authored to achieve a similar result.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2599782,"id":2599782,"title":"content_element_popup","filename":"content_element_popup-1.png","filesize":33824,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\/content_element_popup-2","alt":"A pop-up containing an Arcade content element that returns a bar chart of all global earthquakes in the past week grouped by magnitude.","author":"319692","description":"","caption":"An Arcade content element can be used to return a dynamic bar chart in the pop-up indicating all earthquakes (magnitude 2+) that have occurred in the past week grouped by magnitude.","name":"content_element_popup-2","status":"inherit","uploaded_to":2536462,"date":"2024-11-22 21:39:47","modified":"2024-11-22 21:40:55","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":579,"height":468,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1.png","medium-width":323,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1.png","medium_large-width":579,"medium_large-height":468,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1.png","large-width":579,"large-height":468,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1.png","1536x1536-width":579,"1536x1536-height":468,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1.png","2048x2048-width":579,"2048x2048-height":468,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1-575x465.png","card_image-width":575,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/10\/content_element_popup-1.png","wide_image-width":579,"wide_image-height":468}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2><\/h2>\n<h2>What&#8217;s next?<\/h2>\n<p>We hope you are excited about the enhanced Arcade functionality in labels and pop-ups we\u2019ve introduced for CSV, GeoJSON, and WFS layers in ArcGIS Online. Keep an eye out for more Arcade support on other layer types in future updates.<\/p>\n<p>Do you have any suggestions on how we can continue to improve Arcade? Let us know on <a href=\"https:\/\/community.esri.com\/t5\/arcgis-online-ideas\/idb-p\/arcgis-online-ideas\">Esri Community<\/a>!<\/p>\n"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/ArcCard.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/arcWide.jpg","show_article_image":false},"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>Improved Arcade Support for CSV, GeoJSON, and WFS Layers<\/title>\n<meta name=\"description\" content=\"Learn more about how you can use Arcade with labels and pop-ups for your CSV, GeoJSON, and WFS layers in ArcGIS Online.\" \/>\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\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Improved Arcade Support for CSV, GeoJSON, and WFS Layers\" \/>\n<meta property=\"og:description\" content=\"Learn more about how you can use Arcade with labels and pop-ups for your CSV, GeoJSON, and WFS layers in ArcGIS Online.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\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\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\"},\"author\":{\"name\":\"Taylor McNeil\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/63839a1126b72563ed17ee37fc4a3257\"},\"headline\":\"Improved Arcade Support for CSV, GeoJSON, and WFS Layers\",\"datePublished\":\"2024-11-25T16:00:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\"},\"wordCount\":9,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"arcade\",\"CSV\",\"GeoJSON\",\"labels\",\"popups\"],\"articleSection\":[\"Arcade\",\"Mapping\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\",\"name\":\"Improved Arcade Support for CSV, GeoJSON, and WFS Layers\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2024-11-25T16:00:44+00:00\",\"description\":\"Learn more about how you can use Arcade with labels and pop-ups for your CSV, GeoJSON, and WFS layers in ArcGIS Online.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Improved Arcade Support for CSV, GeoJSON, and WFS Layers\"}]},{\"@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\/63839a1126b72563ed17ee37fc4a3257\",\"name\":\"Taylor McNeil\",\"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\/2022\/10\/BlogProfilePicCrop-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/BlogProfilePicCrop-213x200.jpg\",\"caption\":\"Taylor McNeil\"},\"description\":\"Taylor is a Product Engineer on the ArcGIS Online team based in Nova Scotia, Canada. She has received a BSc in Biology and a MSc in Applied Geomatics. When she's not at work, she can be found taking care of her houseplants, reading copious amounts of fiction, and exploring local thrift stores.\",\"jobTitle\":\"product engineer\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/tmcneil\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Improved Arcade Support for CSV, GeoJSON, and WFS Layers","description":"Learn more about how you can use Arcade with labels and pop-ups for your CSV, GeoJSON, and WFS layers in ArcGIS Online.","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\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers","og_locale":"en_US","og_type":"article","og_title":"Improved Arcade Support for CSV, GeoJSON, and WFS Layers","og_description":"Learn more about how you can use Arcade with labels and pop-ups for your CSV, GeoJSON, and WFS layers in ArcGIS Online.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers"},"author":{"name":"Taylor McNeil","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/63839a1126b72563ed17ee37fc4a3257"},"headline":"Improved Arcade Support for CSV, GeoJSON, and WFS Layers","datePublished":"2024-11-25T16:00:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["arcade","CSV","GeoJSON","labels","popups"],"articleSection":["Arcade","Mapping"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers","name":"Improved Arcade Support for CSV, GeoJSON, and WFS Layers","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2024-11-25T16:00:44+00:00","description":"Learn more about how you can use Arcade with labels and pop-ups for your CSV, GeoJSON, and WFS layers in ArcGIS Online.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/arcade\/improved-arcade-support-for-csv-geojson-and-wfs-layers#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Improved Arcade Support for CSV, GeoJSON, and WFS Layers"}]},{"@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\/63839a1126b72563ed17ee37fc4a3257","name":"Taylor McNeil","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\/2022\/10\/BlogProfilePicCrop-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/BlogProfilePicCrop-213x200.jpg","caption":"Taylor McNeil"},"description":"Taylor is a Product Engineer on the ArcGIS Online team based in Nova Scotia, Canada. She has received a BSc in Biology and a MSc in Applied Geomatics. When she's not at work, she can be found taking care of her houseplants, reading copious amounts of fiction, and exploring local thrift stores.","jobTitle":"product engineer","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/tmcneil"}]}},"text_date":"November 25, 2024","author_name":"Taylor McNeil","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/tmcneil","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/10\/arcWide.jpg","primary_product":"ArcGIS Online","tag_data":[{"term_id":32551,"name":"arcade","slug":"arcade","term_group":0,"term_taxonomy_id":32551,"taxonomy":"post_tag","description":"","parent":0,"count":113,"filter":"raw"},{"term_id":29641,"name":"CSV","slug":"csv","term_group":0,"term_taxonomy_id":29641,"taxonomy":"post_tag","description":"","parent":0,"count":12,"filter":"raw"},{"term_id":25721,"name":"GeoJSON","slug":"geojson","term_group":0,"term_taxonomy_id":25721,"taxonomy":"post_tag","description":"","parent":0,"count":10,"filter":"raw"},{"term_id":34651,"name":"labels","slug":"labels","term_group":0,"term_taxonomy_id":34651,"taxonomy":"post_tag","description":"","parent":0,"count":21,"filter":"raw"},{"term_id":212872,"name":"popups","slug":"popups","term_group":0,"term_taxonomy_id":212872,"taxonomy":"post_tag","description":"","parent":0,"count":12,"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":2698,"filter":"raw"}],"product_data":[{"term_id":36551,"name":"ArcGIS Online","slug":"arcgis-online","term_group":0,"term_taxonomy_id":36551,"taxonomy":"product","description":"","parent":0,"count":2433,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-online","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2536462","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\/319692"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2536462"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2536462\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2536462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2536462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2536462"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2536462"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2536462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}