{"id":1638432,"date":"2022-07-06T09:20:52","date_gmt":"2022-07-06T16:20:52","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1638432"},"modified":"2024-04-12T03:38:39","modified_gmt":"2024-04-12T10:38:39","slug":"binning-now-available-in-the-arcgis-api-for-javascript","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript","title":{"rendered":"Binning now available in the ArcGIS API for JavaScript"},"author":6561,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191,22941],"tags":[30021,25361,26751,758301,765092],"industry":[],"product":[761642,36831,36601],"class_list":["post-1638432","blog","type-blog","status-publish","format-standard","hentry","category-developers","category-mapping","tag-aggregation","tag-binning","tag-clustering","tag-data-viz","tag-whats-new-june-2022","product-platform","product-js-api-arcgis","product-developers"],"acf":{"short_description":"Version 4.24 of the ArcGIS API for JavaScript introduced client-side binning as a new feature reduction method for aggregating points.","flexible_content":[{"acf_fc_layout":"content","content":"<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/4.24\/\">Version 4.24<\/a> of the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/\">ArcGIS API for JavaScript<\/a> (JS API) introduced client-side <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionBinning.html\">binning<\/a> as a new <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html#featureReduction\">feature reduction<\/a> method for visualizing the density of point layers.<\/p>\n<h2>What is binning?<\/h2>\n<p>Binning aggregates data to predefined cells, effectively representing point data as a gridded polygon layer. Typically, bins are styled with a continuous color ramp and labeled with the count of points contained by the bin. The JS API uses the public domain <a href=\"https:\/\/en.wikipedia.org\/wiki\/Geohash\">geohash<\/a> geocoding system to create the bins.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1643382,"id":1643382,"title":"binning-crashes-count","filename":"binning-crashes-count.png","filesize":78724,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/binning-crashes-count","alt":"Motor vehicle crashes in New York City aggregated to geohash bins. Each bin's label describes the total number of crashes that occurred in that area.","author":"6561","description":"","caption":"Motor vehicle crashes in New York City, aggregated to geohash bins. Each bin's label describes the total number of crashes that occurred in the cell.","name":"binning-crashes-count","status":"inherit","uploaded_to":1638432,"date":"2022-06-28 22:21:11","modified":"2022-06-30 23:07:52","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":800,"height":450,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","large-width":800,"large-height":450,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","1536x1536-width":800,"1536x1536-height":450,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","2048x2048-width":800,"2048x2048-height":450,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","card_image-width":800,"card_image-height":450,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-crashes-count.png","wide_image-width":800,"wide_image-height":450}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-binning\/"},{"acf_fc_layout":"image","image":{"ID":1647422,"id":1647422,"title":"binning-not-enabled","filename":"binning-not-enabled.png","filesize":258315,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/binning-not-enabled","alt":"Motor vehicle crashes in New York City.","author":"6561","description":"","caption":"Motor vehicle crashes in New York City. Without binning (or another form of aggregation) it's difficult to view the relative density of features, especially when many points are stacked on top of one another.","name":"binning-not-enabled","status":"inherit","uploaded_to":1638432,"date":"2022-06-30 00:06:28","modified":"2022-06-30 00:09: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":893,"height":582,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled.png","medium-width":400,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled.png","medium_large-width":768,"medium_large-height":501,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled.png","large-width":893,"large-height":582,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled.png","1536x1536-width":893,"1536x1536-height":582,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled.png","2048x2048-width":893,"2048x2048-height":582,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled-713x465.png","card_image-width":713,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/binning-not-enabled.png","wide_image-width":893,"wide_image-height":582}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2>Enable binning on any point layer<\/h2>\n<p>Binning is configured by providing a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionBinning.html\">FeatureReductionBinning<\/a> instance to the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html#featureReduction\">featureReduction<\/a> property of <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html\">FeatureLayer<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-CSVLayer.html\">CSVLayer<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-GeoJSONLayer.html\">GeoJSONLayer<\/a>, <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-WFSLayer.html\">WFSLayer<\/a>, or <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-OGCFeatureLayer.html\">OGCFeatureLayer<\/a>. The FeatureReductionBinning instance can be <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/programming-patterns\/#autocasting\">autocast<\/a> from a plain JavaScript object.<\/p>\n<p>The following snippet shows how to enable binning and highlights a few key properties.<\/p>\n<pre><code style=\"padding: 0.5em; color: #333; background: #f8f8f8;\">layer.featureReduction = {\r\n  type: <span style=\"color: #d14;\">\"binning\"<\/span>,\r\n  fixedBinLevel: <span style=\"color: #008080;\">3<\/span>,\r\n  fields: [\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ add aggregate fields here<\/span>\r\n  ],\r\n  renderer: {\r\n    type: <span style=\"color: #d14;\">\"simple\"<\/span>\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ other renderer properties<\/span>\r\n  },\r\n  popupTemplate: {\r\n    content: <span style=\"color: #d14;\">\"This bin contains &lt;b&gt;{aggregateCount}&lt;\/b&gt; features.\"<\/span>,\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ other popup template content<\/span>\r\n  },\r\n  labelingInfo: [\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ add labels to bins here<\/span>\r\n  ]\r\n};\r\n<\/code><\/pre>\n<p>Let&#8217;s explore each of these properties:<\/p>\n<ul>\n<li><a href=\"#fixed-bin-level\">Fixed bin level<\/a><\/li>\n<li><a href=\"#aggregate-fields\">Aggregate fields<\/a><\/li>\n<li><a href=\"#renderer\">Renderer<\/a><\/li>\n<li><a href=\"#labels\">Labels<\/a><\/li>\n<li><a href=\"#popup-template\">Popup template<\/a><\/li>\n<\/ul>\n<p><a name=\"fixed-bin-level\"><\/a><\/p>\n<h3>Fixed bin level<\/h3>\n<p>The <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionBinning.html#fixedBinLevel\">fixedBinLevel<\/a> property of FeatureReductionBinning defines which geohash level to use for the aggregation. The higher the number, the higher the resolution.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<p>This table lists the approximate bin dimensions at each <code>fixedBinLevel<\/code> when measured on the equator. Bin sizes are smaller the further they are located from the equator. See <a href=\"#spatial-references\">Binning and spatial references<\/a> for more information.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Level<\/strong><\/td>\n<td><strong>Width (\u00b0)<\/strong><\/td>\n<td><strong>Height (\u00b0)<\/strong><\/td>\n<td><strong>Width (km)<\/strong><\/td>\n<td><strong>Height (km)<\/strong><\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>45\u00b0<\/td>\n<td>45\u00b0<\/td>\n<td>5,009<\/td>\n<td>4,985<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>11.25\u00b0<\/td>\n<td>11.25\u00b0<\/td>\n<td>1,252<\/td>\n<td>1,246<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>2.813\u00b0<\/td>\n<td>2.813\u00b0<\/td>\n<td>313<\/td>\n<td>312<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>0.703\u00b0<\/td>\n<td>0.703\u00b0<\/td>\n<td>78<\/td>\n<td>78<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>0.176\u00b0<\/td>\n<td>0.176\u00b0<\/td>\n<td>20<\/td>\n<td>19<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>0.044\u00b0<\/td>\n<td>0.044\u00b0<\/td>\n<td>4.9<\/td>\n<td>4.9<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>0.011\u00b0<\/td>\n<td>0.011\u00b0<\/td>\n<td>1.2<\/td>\n<td>1.2<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>0.003\u00b0<\/td>\n<td>0.003\u00b0<\/td>\n<td>0.306<\/td>\n<td>0.304<\/td>\n<\/tr>\n<tr>\n<td>9<\/td>\n<td>0.001\u00b0<\/td>\n<td>0.001\u00b0<\/td>\n<td>0.076<\/td>\n<td>0.076<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>The following images show examples of the same data aggregated at bin levels 1-3.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1643232,"id":1643232,"title":"lod1","filename":"lod1.png","filesize":139516,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/lod1","alt":"Argo float locations aggregated to a fixed bin level of 1.","author":"6561","description":"","caption":"Argo float locations aggregated at a fixed bin level of 1. This is the coarsest resolution, making it less than ideal for most visualizations.","name":"lod1","status":"inherit","uploaded_to":1638432,"date":"2022-06-28 21:31:54","modified":"2022-06-30 23:14:37","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":1341,"height":671,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1.png","medium-width":464,"medium-height":232,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1.png","medium_large-width":768,"medium_large-height":384,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1.png","large-width":1341,"large-height":671,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1.png","1536x1536-width":1341,"1536x1536-height":671,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1.png","2048x2048-width":1341,"2048x2048-height":671,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1-826x413.png","card_image-width":826,"card_image-height":413,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod1.png","wide_image-width":1341,"wide_image-height":671}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/ekenes.github.io\/binning-experiments\/intro\/buoys-level-1.html"},{"acf_fc_layout":"image","image":{"ID":1643242,"id":1643242,"title":"lod2","filename":"lod2.png","filesize":285866,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/lod2","alt":"Argo float locations aggregated to a fixed bin level of 2.","author":"6561","description":"","caption":"Argo float locations aggregated at a fixed bin level of 2. This is a great resolution for global data.","name":"lod2","status":"inherit","uploaded_to":1638432,"date":"2022-06-28 21:32:00","modified":"2022-06-30 23:15:03","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":1455,"height":699,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2.png","medium-width":464,"medium-height":223,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2.png","medium_large-width":768,"medium_large-height":369,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2.png","large-width":1455,"large-height":699,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2.png","1536x1536-width":1455,"1536x1536-height":699,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2.png","2048x2048-width":1455,"2048x2048-height":699,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2-826x397.png","card_image-width":826,"card_image-height":397,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod2.png","wide_image-width":1455,"wide_image-height":699}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/ekenes.github.io\/binning-experiments\/intro\/buoys-level-2.html"},{"acf_fc_layout":"image","image":{"ID":1643262,"id":1643262,"title":"lod3","filename":"lod3.png","filesize":327074,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/lod3","alt":"Argo float locations aggregated to a fixed bin level of 3.","author":"6561","description":"","caption":"Argo float locations aggregated at a fixed bin level of 3. Level 3 is probably more useful at regional extents, but the global view can be a nice way to show density at a higher resolution.","name":"lod3","status":"inherit","uploaded_to":1638432,"date":"2022-06-28 21:32:10","modified":"2022-06-30 23:14:50","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":1337,"height":666,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3.png","medium-width":464,"medium-height":231,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3.png","medium_large-width":768,"medium_large-height":383,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3.png","large-width":1337,"large-height":666,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3.png","1536x1536-width":1337,"1536x1536-height":666,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3.png","2048x2048-width":1337,"2048x2048-height":666,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3-826x411.png","card_image-width":826,"card_image-height":411,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/lod3.png","wide_image-width":1337,"wide_image-height":666}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/ekenes.github.io\/binning-experiments\/intro\/buoys-level-3.html"},{"acf_fc_layout":"sidebar","content":"<p>The following table provides a guide to which bin levels you should use for various data extents and scale ranges.<\/p>\n<table>\n<tbody>\n<tr style=\"text-align: center;\">\n<td style=\"font-weight: bold;\">Fixed bin levels<\/td>\n<td style=\"font-weight: bold;\">Suggested data extent<\/td>\n<\/tr>\n<tr>\n<td>1-3<\/td>\n<td>Global extents.<\/td>\n<\/tr>\n<tr>\n<td>3-5<\/td>\n<td>Regional extents (e.g. countries and states).<\/td>\n<\/tr>\n<tr>\n<td>5-7<\/td>\n<td>Local communities (e.g. counties and cities).<\/td>\n<\/tr>\n<tr>\n<td>7-9<\/td>\n<td>Hyper local areas (e.g. neighborhoods and buildings).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p><a name=\"aggregate-fields\"><\/a><\/p>\n<h3>Aggregate fields<\/h3>\n<p>Feature count is the most common way to summarize points within bins. For this reason, we provide the <code>aggregateCount<\/code> aggregate field out-of-the box in all binned layers. This field contains the total count of features contained by each bin.<\/p>\n<p>In addition to <code>aggregateCount<\/code>, you may define other <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-AggregateField.html\">aggregate fields<\/a> using the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionBinning.html#fields\">FeatureReductionBinning.fields<\/a> property. This property defines which and how the layer&#8217;s numeric fields will be aggregated within each bin.<\/p>\n<p>For example, the layer representing car crashes in the initial image contains several fields documenting the number and types of people involved in each crash incident (e.g. motorists, cyclists, pedestrians, etc.). Using the <code>FeatureReductionBinning.fields<\/code> property, you can define aggregate fields that sum the total number of injuries and fatalities within each bin.<\/p>\n<pre><code style=\"padding: 0.5em; color: #333; background: #f8f8f8;\">layer.featureReduction = {\r\n  type: <span style=\"color: #d14;\">\"binning\"<\/span>,\r\n\r\n  fields: [{\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ The name of the aggregate field to reference in FeatureReductionBinning<\/span>\r\n    name: <span style=\"color: #d14;\">\"SUM_PERSONS_INJURED\"<\/span>,\r\n    <span style=\"color: #998; font-style: italic;\">\/\/ This field exists on the underlying point layer<\/span>\r\n    onStatisticField: <span style=\"color: #d14;\">\"NUMBER_OF_PERSONS_INJURED\"<\/span>,\r\n    statisticType: <span style=\"color: #d14;\">\"sum\"<\/span>\r\n  }, {\r\n    name: <span style=\"color: #d14;\">\"AVG_PERSONS_INJURED\"<\/span>,\r\n    onStatisticField: <span style=\"color: #d14;\">\"NUMBER_OF_PERSONS_INJURED\"<\/span>,\r\n    statisticType: <span style=\"color: #d14;\">\"avg\"<\/span>\r\n  }, {\r\n    name: <span style=\"color: #d14;\">\"SUM_KILLED\"<\/span>,\r\n    onStatisticField: <span style=\"color: #d14;\">\"NUMBER_OF_PERSONS_KILLED\"<\/span>,\r\n    statisticType: <span style=\"color: #d14;\">\"sum\"<\/span>\r\n  }]\r\n};\r\n<\/code><\/pre>\n<p>Once defined, the fields may now be used in the <code>renderer<\/code>, <code>popupTemplate<\/code>, or <code>labelingInfo<\/code> of the FeatureReductionBinning object.<\/p>\n"},{"acf_fc_layout":"content","content":"<p><a name=\"renderer\"><\/a><\/p>\n<h3>Renderer<\/h3>\n<p>The <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionBinning.html#renderer\">FeatureReductionBinning.renderer<\/a> property defines how the bins will be styled. Any renderer supported for polygon layers can be used for binning visualizations. Unlike <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionCluster.html\">FeatureReductionCluster<\/a>, FeatureReductionBinning does not have a default renderer. Therefore, this property must be defined by the developer.<\/p>\n<p>Typically, the renderer uses the <code>aggregateCount<\/code> field in a color visual variable to visualize the density of features.<\/p>\n<pre><code style=\"padding: 0.5em; color: #333; background: #f8f8f8;\">layer.featureReduction = {\r\n  type: <span style=\"color: #d14;\">\"binning\"<\/span>,\r\n\r\n  renderer: {\r\n    type: <span style=\"color: #d14;\">\"simple\"<\/span>,\r\n    symbol: {\r\n      type: <span style=\"color: #d14;\">\"simple-fill\"<\/span>,\r\n      color: [<span style=\"color: #008080;\">0<\/span>, <span style=\"color: #008080;\">255<\/span>, <span style=\"color: #008080;\">71<\/span>, <span style=\"color: #008080;\">1<\/span>],\r\n      outline: <span style=\"color: #333; font-weight: 500;\">null<\/span>,\r\n      outline: {\r\n        color: <span style=\"color: #d14;\">\"rgba(153, 31, 23, 0.3)\"<\/span>,\r\n        width: <span style=\"color: #008080;\">0.3<\/span>,\r\n      },\r\n    },\r\n    visualVariables: [\r\n      {\r\n        type: <span style=\"color: #d14;\">\"color\"<\/span>,\r\n        field: <span style=\"color: #d14;\">\"aggregateCount\"<\/span>,\r\n        legendOptions: {\r\n          title: <span style=\"color: #d14;\">\"Number of crashes\"<\/span>\r\n        },\r\n        stops: [\r\n          { value: <span style=\"color: #008080;\">0<\/span>, color: <span style=\"color: #d14;\">\"#d7e1ee\"<\/span> },\r\n          { value: <span style=\"color: #008080;\">25<\/span>, color: <span style=\"color: #d14;\">\"#cbd6e4\"<\/span> },\r\n          { value: <span style=\"color: #008080;\">75<\/span>, color: <span style=\"color: #d14;\">\"#b3bfd1\"<\/span> },\r\n          { value: <span style=\"color: #008080;\">200<\/span>, color: <span style=\"color: #d14;\">\"#c86558\"<\/span> },\r\n          { value: <span style=\"color: #008080;\">300<\/span>, color: <span style=\"color: #d14;\">\"#991f17\"<\/span> }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n};\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1646552,"id":1646552,"title":"Screen Shot 2022-06-29 at 1.25.11 PM","filename":"Screen-Shot-2022-06-29-at-1.25.11-PM.png","filesize":107230,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-1-25-11-pm","alt":"Motor vehicle accidents in New York City binned at level 6.","author":"6561","description":"","caption":"Motor vehicle accidents in New York City binned at level 6.","name":"screen-shot-2022-06-29-at-1-25-11-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 20:25:27","modified":"2022-06-29 23:21:39","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":800,"height":462,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","medium-width":452,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","medium_large-width":768,"medium_large-height":444,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","large-width":800,"large-height":462,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","1536x1536-width":800,"1536x1536-height":462,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","2048x2048-width":800,"2048x2048-height":462,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","card_image-width":800,"card_image-height":462,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.25.11-PM.png","wide_image-width":800,"wide_image-height":462}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-binning\/"},{"acf_fc_layout":"content","content":"<p>Renderer settings should target a specific <em>fixed bin level<\/em>. In the example above, the color variable has a range of 0-300. This works well since there are a few outliers with numbers above 300. For example, the bin with the highest number of crashes has an aggregate count of 482. If I adjust the <code>fixedBinLevel<\/code> to 7, the maximum aggregate count is 135. Keeping the same renderer configuration makes the bins looked washed out.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1646692,"id":1646692,"title":"Screen Shot 2022-06-29 at 1.41.12 PM","filename":"Screen-Shot-2022-06-29-at-1.41.12-PM.png","filesize":98240,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-1-41-12-pm","alt":"Motor vehicle accidents in New York City binned at level 7. Without updating the renderer defined at level 6, the colors will wash out making the density of crashes not easily visible.","author":"6561","description":"","caption":"Motor vehicle accidents in New York City binned at level 7. Without updating the renderer defined at level 6, the colors will wash out making the density of crashes not easily visible.","name":"screen-shot-2022-06-29-at-1-41-12-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 20:44:34","modified":"2022-06-29 23:25:19","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":846,"height":475,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM.png","medium_large-width":768,"medium_large-height":431,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM.png","large-width":846,"large-height":475,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM.png","1536x1536-width":846,"1536x1536-height":475,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM.png","2048x2048-width":846,"2048x2048-height":475,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM-826x465.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.41.12-PM.png","wide_image-width":846,"wide_image-height":475}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>On the other hand, the highest aggregate count in level 5 is nearly 6,000. Without adjustments to the renderer defined at level 6, many of the bins will render with the darkest color.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1646702,"id":1646702,"title":"Screen Shot 2022-06-29 at 1.42.52 PM","filename":"Screen-Shot-2022-06-29-at-1.42.52-PM.png","filesize":80798,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-1-42-52-pm","alt":"Motor vehicle accidents in New York City binned at level 5. Without updating the renderer defined at level 6, the deep colors will oversaturate the map.","author":"6561","description":"","caption":"Motor vehicle accidents in New York City binned at level 5. Without updating the renderer defined at level 6, the deep colors will oversaturate the map.","name":"screen-shot-2022-06-29-at-1-42-52-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 20:44:40","modified":"2022-06-29 23:26:14","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":789,"height":617,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM.png","medium-width":334,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM.png","medium_large-width":768,"medium_large-height":601,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM.png","large-width":789,"large-height":617,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM.png","1536x1536-width":789,"1536x1536-height":617,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM.png","2048x2048-width":789,"2048x2048-height":617,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM-595x465.png","card_image-width":595,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-1.42.52-PM.png","wide_image-width":789,"wide_image-height":617}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Therefore, I suggest you determine the desired binning resolution before spending time on configuring the renderer.<\/p>\n<p><a name=\"labels\"><\/a><\/p>\n<h3>Labels<\/h3>\n<p>Labels are defined on the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionBinning.html#labelingInfo\">labelingInfo<\/a> property of FeatureReductionBinning exactly as they are defined on individual features of a layer. Only the <code>aggregateCount<\/code> field and other fields defined in <code>FeatureReduction.fields<\/code> may be used in the label expression.<\/p>\n<pre><code style=\"padding: 0.5em; color: #333; background: #f8f8f8;\">layer.featureReduction = {\r\n  type: <span style=\"color: #d14;\">\"binning\"<\/span>,\r\n\r\n  labelingInfo: [\r\n    <span style=\"color: #333; font-weight: bold;\">new<\/span> LabelClass({\r\n      minScale: <span style=\"color: #008080;\">144448<\/span>,\r\n      maxScale: <span style=\"color: #008080;\">0<\/span>,\r\n      deconflictionStrategy: <span style=\"color: #d14;\">\"none\"<\/span>,\r\n      symbol: {\r\n        type: <span style=\"color: #d14;\">\"text\"<\/span>,\r\n        color: <span style=\"color: #d14;\">\"white\"<\/span>,\r\n        font: {\r\n          family: <span style=\"color: #d14;\">\"Noto Sans\"<\/span>,\r\n          size: <span style=\"color: #008080;\">10<\/span>\r\n        },\r\n        haloColor: <span style=\"color: #d14;\">\"gray\"<\/span>,\r\n        haloSize: <span style=\"color: #008080;\">0.5<\/span>\r\n      },\r\n      labelExpressionInfo: {\r\n        expression: <span style=\"color: #d14;\">\"Text($feature.aggregateCount, '#,###')\"<\/span>\r\n      }\r\n    })\r\n  ]\r\n\r\n  <span style=\"color: #998; font-style: italic;\">\/\/ ... set other binning properties<\/span>\r\n};\r\n<\/code><\/pre>\n<p>You should take time to determine appropriate min and max scale levels for each label class, so the labels are clearly visible, but also don&#8217;t overwhelm the view.<\/p>\n"},{"acf_fc_layout":"content","content":"<p><a name=\"popup-template\"><\/a><\/p>\n<h3>Popup template<\/h3>\n<p>Each bin&#8217;s popup is defined in <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-FeatureReductionBinning.html#popupTemplate\">FeatureReductionBinning.popupTemplate<\/a> using the same API as <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html#popupTemplate\">layer.popupTemplate<\/a>. The following snippet demonstrates how to define a popup template using aggregate fields.<\/p>\n<pre><code style=\"padding: 0.5em; color: #333; background: #f8f8f8;\">layer.featureReduction = {\r\n  type: <span style=\"color: #d14;\">\"binning\"<\/span>,\r\n\r\n  <span style=\"color: #998; font-style: italic;\">\/\/ defines fields that can be used<\/span>\r\n  <span style=\"color: #998; font-style: italic;\">\/\/ in renderer, popupTemplate, labelingInfo<\/span>\r\n  fields: [{\r\n    name: <span style=\"color: #d14;\">\"avg_temperature\"<\/span>,\r\n    onStatisticField: <span style=\"color: #d14;\">\"temperature\"<\/span>,\r\n    statisticType: <span style=\"color: #d14;\">\"avg\"<\/span>\r\n  }],\r\n\r\n  <span style=\"color: #998; font-style: italic;\">\/\/ aggregateCount is a default field<\/span>\r\n  popupTemplate: {\r\n    content: [{\r\n      type: <span style=\"color: #d14;\">\"text\"<\/span>,\r\n      text: <span style=\"color: #d14;\">\"This bin contains &lt;b&gt;{aggregateCount}&lt;\/b&gt; features.\"<\/span>\r\n    }, {\r\n      type: <span style=\"color: #d14;\">\"text\"<\/span>,\r\n      text: <span style=\"color: #d14;\">\"The average temperature in this bin is &lt;b&gt;{avg_temperature}\u00b0 F&lt;\/b&gt;.\"<\/span>\r\n    }],\r\n    fieldInfos: [{\r\n      fieldName: <span style=\"color: #d14;\">\"aggregateCount\"<\/span>,\r\n      format: {\r\n        digitSeparator: <span style=\"color: #333; font-weight: 500;\">true<\/span>,\r\n        places: <span style=\"color: #008080;\">0<\/span>\r\n      }\r\n    }, {\r\n      fieldName: <span style=\"color: #d14;\">\"avg_temperature\"<\/span>,\r\n      format: {\r\n        places: <span style=\"color: #008080;\">1<\/span>\r\n      }\r\n    }]\r\n  }\r\n\r\n  <span style=\"color: #998; font-style: italic;\">\/\/ ...other binning properties<\/span>\r\n};\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<h2>Bringing it all together<\/h2>\n<p>The <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-binning-aggregate-fields\/\">following app<\/a> defines aggregate fields and uses them to visualize the binned crash dataset with a renderer, popup, and labels.<\/p>\n<p>The renderer visualizes each bin with a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-SimpleMarkerSymbol.html\">SimpleMarkerSymbol<\/a> in the bin&#8217;s centroid. The marker size indicates the total number of crashes within the bin. Dark colors are used in bins where the majority of crashes resulted in some kind of injury.<\/p>\n<p><em>Click the image below to view the app and explore the code.<\/em><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1646902,"id":1646902,"title":"Screen Shot 2022-06-29 at 2.39.31 PM","filename":"Screen-Shot-2022-06-29-at-2.39.31-PM.png","filesize":100051,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-2-39-31-pm","alt":"Motor vehicle crashes in New York City. Icon size indicates the total number of crashes in the area. Icon color indicates the percentage of crashes that resulted in injury.","author":"6561","description":"","caption":"Motor vehicle crashes in New York City. Icon size indicates the total number of crashes in the area. Icon color indicates the percentage of crashes that resulted in injury.","name":"screen-shot-2022-06-29-at-2-39-31-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 21:39:52","modified":"2022-06-29 23:28:10","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":1131,"height":595,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM.png","medium-width":464,"medium-height":244,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM.png","medium_large-width":768,"medium_large-height":404,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM.png","large-width":1131,"large-height":595,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM.png","1536x1536-width":1131,"1536x1536-height":595,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM.png","2048x2048-width":1131,"2048x2048-height":595,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM-826x435.png","card_image-width":826,"card_image-height":435,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.39.31-PM.png","wide_image-width":1131,"wide_image-height":595}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurereduction-binning-aggregate-fields\/"},{"acf_fc_layout":"content","content":"<p><a name=\"spatial-references\"><\/a><\/p>\n<h2>Binning and spatial references<\/h2>\n<p>You may have noticed bin sizes look uneven. This is because of a combination of two factors:<\/p>\n<ul>\n<li><strong>Bins are created from geohashes.<\/strong> Geohashes represent a grid of cells equally divided across the earth using latitude\/longitude coordinates. Because the length of one degree of longitude shrinks as you move away from the equator, bin sizes near the poles are significantly smaller than bin sizes near the equator.<\/li>\n<li>Various <strong>map projections distort bin shapes and sizes<\/strong> located far from a projection&#8217;s lines of tangency.<\/li>\n<\/ul>\n<p>Because geohashes are created in equal latitude\/longitude coordinate intervals, bins generally look best (the most even) when viewed in the WGS84 geographic coordinate system. The following images show how the same binning configuration looks when viewed in different spatial references.<\/p>\n<p><a href=\"https:\/\/ekenes.github.io\/binning-experiments\/intro\/explore-projections.html\">Click here<\/a> to explore the app used to create these images.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":1647012,"id":1647012,"title":"Screen Shot 2022-06-29 at 2.52.28 PM","filename":"Screen-Shot-2022-06-29-at-2.52.28-PM.png","filesize":316030,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-2-52-28-pm","alt":"Argo float locations binned in spatial reference WGS84 (wkid 4326).","author":"6561","description":"","caption":"Argo float locations binned in spatial reference WGS84 (wkid 4326). This coordinate system is ideal for preserving the shape of geohash bins. However, areas are not accurately represented.","name":"screen-shot-2022-06-29-at-2-52-28-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 21:56:25","modified":"2022-07-01 16:34:09","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":1671,"height":787,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM.png","medium-width":464,"medium-height":219,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM.png","medium_large-width":768,"medium_large-height":362,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM.png","large-width":1671,"large-height":787,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM-1536x723.png","1536x1536-width":1536,"1536x1536-height":723,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM.png","2048x2048-width":1671,"2048x2048-height":787,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM-826x389.png","card_image-width":826,"card_image-height":389,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM.png","wide_image-width":1671,"wide_image-height":787}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.52.28-PM.png"},{"acf_fc_layout":"image","image":{"ID":1646972,"id":1646972,"title":"Screen Shot 2022-06-29 at 2.53.02 PM","filename":"Screen-Shot-2022-06-29-at-2.53.02-PM.png","filesize":301253,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-2-53-02-pm","alt":"Argo float locations binned in Web Mercator (wkid 3857). Area distortion in locations far from the Equator distort bins so they appear larger than they are in reality.","author":"6561","description":"","caption":"Argo float locations binned in Web Mercator (wkid 3857). This projected coordinate system distorts area so bins near the poles appear much larger than they are in reality.","name":"screen-shot-2022-06-29-at-2-53-02-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 21:55:58","modified":"2022-07-01 16:35:06","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":1604,"height":937,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM.png","medium-width":447,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM.png","medium_large-width":768,"medium_large-height":449,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM.png","large-width":1604,"large-height":937,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM-1536x897.png","1536x1536-width":1536,"1536x1536-height":897,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM.png","2048x2048-width":1604,"2048x2048-height":937,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM-796x465.png","card_image-width":796,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM.png","wide_image-width":1604,"wide_image-height":937}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.02-PM.png"},{"acf_fc_layout":"image","image":{"ID":1647002,"id":1647002,"title":"Screen Shot 2022-06-29 at 2.53.47 PM","filename":"Screen-Shot-2022-06-29-at-2.53.47-PM.png","filesize":265046,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-2-53-47-pm","alt":"Argo float locations binned in the Spilhaus projection (wkid 54099). Area and shape distortion in the corners of the map distort bins so they appear larger than they are in reality.","author":"6561","description":"","caption":"Argo float locations binned in the Spilhaus projection (wkid 54099). This projected coordinate system distorts both area and shape, especially in the corners of the map.","name":"screen-shot-2022-06-29-at-2-53-47-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 21:56:19","modified":"2022-07-01 16:35:53","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":1267,"height":937,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png","medium-width":353,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png","medium_large-width":768,"medium_large-height":568,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png","large-width":1267,"large-height":937,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png","1536x1536-width":1267,"1536x1536-height":937,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png","2048x2048-width":1267,"2048x2048-height":937,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM-629x465.png","card_image-width":629,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png","wide_image-width":1267,"wide_image-height":937}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.53.47-PM.png"},{"acf_fc_layout":"image","image":{"ID":1647022,"id":1647022,"title":"Screen Shot 2022-06-29 at 2.54.25 PM","filename":"Screen-Shot-2022-06-29-at-2.54.25-PM.png","filesize":267260,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-2-54-25-pm","alt":"Argo float locations binned in the Equal Earth projection (wkid 8857).","author":"6561","description":"","caption":"Argo float locations binned in the Equal Earth projection (wkid 8857). This projected coordinate system preserves area, rendering bin sizes accurately across the globe. However, bin shapes do not represent a consistent grid.","name":"screen-shot-2022-06-29-at-2-54-25-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 21:56:36","modified":"2022-07-01 16:37:25","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1519,"height":757,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png","medium-width":464,"medium-height":231,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png","medium_large-width":768,"medium_large-height":383,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png","large-width":1519,"large-height":757,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png","1536x1536-width":1519,"1536x1536-height":757,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png","2048x2048-width":1519,"2048x2048-height":757,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM-826x412.png","card_image-width":826,"card_image-height":412,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png","wide_image-width":1519,"wide_image-height":757}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.54.25-PM.png"},{"acf_fc_layout":"image","image":{"ID":1646992,"id":1646992,"title":"Screen Shot 2022-06-29 at 2.48.27 PM","filename":"Screen-Shot-2022-06-29-at-2.48.27-PM.png","filesize":534387,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\/screen-shot-2022-06-29-at-2-48-27-pm","alt":"Hurricane locations binned in the South Pole Stereographic projection.","author":"6561","description":"","caption":"Hurricane locations binned in the South Pole Stereographic projection.","name":"screen-shot-2022-06-29-at-2-48-27-pm","status":"inherit","uploaded_to":1638432,"date":"2022-06-29 21:56:06","modified":"2022-06-29 23:41: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":1722,"height":943,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM.png","medium-width":464,"medium-height":254,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM.png","medium_large-width":768,"medium_large-height":421,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM.png","large-width":1722,"large-height":943,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM-1536x841.png","1536x1536-width":1536,"1536x1536-height":841,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM.png","2048x2048-width":1722,"2048x2048-height":943,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM-826x452.png","card_image-width":826,"card_image-height":452,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/Screen-Shot-2022-06-29-at-2.48.27-PM.png","wide_image-width":1722,"wide_image-height":943}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/ekenes.github.io\/binning-experiments\/intro\/hurricanes.html"},{"acf_fc_layout":"content","content":"<h2>Future enhancements under consideration<\/h2>\n<p>At JS API version 4.24, FeatureReductionBinning is in <a href=\"https:\/\/next.sites.afd.arcgis.com\/javascript\/latest\/faq\/#what-does-the-beta-tag-mean\">beta<\/a>. The following are enhancements currently under consideration for future releases of the JS API.<\/p>\n<ol>\n<li>Dynamically updating bin level on zoom (i.e. similar to how clusters recalculate on zoom)<\/li>\n<li>Adding additional bin shapes (e.g. hexbins, squares, etc.)<\/li>\n<li>Querying bins<\/li>\n<li>Server-side binning (for datasets so large, individual features cannot be performantly loaded in the browser)<\/li>\n<\/ol>\n<p>Because the initial release is in beta, we&#8217;re seeking your feedback on future binning enhancements. Also, feel free to submit other ideas to improve the experience for aggregating data in general. You can reach out to me individually, or post feedback in the <a href=\"https:\/\/community.esri.com\/t5\/arcgis-api-for-javascript\/ct-p\/arcgis-api-for-javascript\">Esri community<\/a> forum.<\/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":1425582,"post_author":"6561","post_date":"2021-12-09 13:35:57","post_date_gmt":"2021-12-09 21:35:57","post_content":"","post_title":"Techniques for visualizing high density data on the web","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"techniques-for-visualizing-high-density-data-on-the-web","to_ping":"","pinged":"","post_modified":"2024-04-12 03:57:59","post_modified_gmt":"2024-04-12 10:57:59","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1425582","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":686592,"post_author":"6561","post_date":"2020-01-07 08:00:08","post_date_gmt":"2020-01-07 16:00:08","post_content":"","post_title":"Point clustering now available in ArcGIS JavaScript 4.x API","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"point-clustering-now-available-in-arcgis-javascript-4-x-api","to_ping":"","pinged":"","post_modified":"2020-01-07 08:02:58","post_modified_gmt":"2020-01-07 16:02:58","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=686592","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":922831,"post_author":"6561","post_date":"2020-07-09 13:00:29","post_date_gmt":"2020-07-09 20:00:29","post_content":"","post_title":"Labeling support added to point clustering","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"labels-now-supported-in-point-clustering","to_ping":"","pinged":"","post_modified":"2020-07-10 09:45:42","post_modified_gmt":"2020-07-10 16:45:42","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=922831","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"1","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/card-3.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/banner-2.jpg"},"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>Binning now available in the ArcGIS API for JavaScript<\/title>\n<meta name=\"description\" content=\"Version 4.24 of the ArcGIS API for JavaScript introduced client-side binning as a new feature reduction method for aggregating points.\" \/>\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\/binning-now-available-in-the-arcgis-api-for-javascript\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Binning now available in the ArcGIS API for JavaScript\" \/>\n<meta property=\"og:description\" content=\"Version 4.24 of the ArcGIS API for JavaScript introduced client-side binning as a new feature reduction method for aggregating points.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\" \/>\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-04-12T10:38:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2022\/06\/card-3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"826\" \/>\n\t<meta property=\"og:image:height\" content=\"465\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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\/binning-now-available-in-the-arcgis-api-for-javascript#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\"},\"author\":{\"name\":\"Kristian Ekenes\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5469f723fbfb78138efbb1da56e6aa9b\"},\"headline\":\"Binning now available in the ArcGIS API for JavaScript\",\"datePublished\":\"2022-07-06T16:20:52+00:00\",\"dateModified\":\"2024-04-12T10:38:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\"},\"wordCount\":9,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"Aggregation\",\"binning\",\"clustering\",\"data viz\",\"what's new june 2022\"],\"articleSection\":[\"Developers\",\"Mapping\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\",\"name\":\"Binning now available in the ArcGIS API for JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2022-07-06T16:20:52+00:00\",\"dateModified\":\"2024-04-12T10:38:39+00:00\",\"description\":\"Version 4.24 of the ArcGIS API for JavaScript introduced client-side binning as a new feature reduction method for aggregating points.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Binning now available in the ArcGIS API for JavaScript\"}]},{\"@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":"Binning now available in the ArcGIS API for JavaScript","description":"Version 4.24 of the ArcGIS API for JavaScript introduced client-side binning as a new feature reduction method for aggregating points.","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\/binning-now-available-in-the-arcgis-api-for-javascript","og_locale":"en_US","og_type":"article","og_title":"Binning now available in the ArcGIS API for JavaScript","og_description":"Version 4.24 of the ArcGIS API for JavaScript introduced client-side binning as a new feature reduction method for aggregating points.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2024-04-12T10:38:39+00:00","og_image":[{"width":826,"height":465,"url":"https:\/\/www.esri.com\/arcgis-blog\/wp-content\/uploads\/2022\/06\/card-3.jpg","type":"image\/jpeg"}],"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\/binning-now-available-in-the-arcgis-api-for-javascript#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript"},"author":{"name":"Kristian Ekenes","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5469f723fbfb78138efbb1da56e6aa9b"},"headline":"Binning now available in the ArcGIS API for JavaScript","datePublished":"2022-07-06T16:20:52+00:00","dateModified":"2024-04-12T10:38:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript"},"wordCount":9,"commentCount":1,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["Aggregation","binning","clustering","data viz","what's new june 2022"],"articleSection":["Developers","Mapping"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript","name":"Binning now available in the ArcGIS API for JavaScript","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2022-07-06T16:20:52+00:00","dateModified":"2024-04-12T10:38:39+00:00","description":"Version 4.24 of the ArcGIS API for JavaScript introduced client-side binning as a new feature reduction method for aggregating points.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/binning-now-available-in-the-arcgis-api-for-javascript#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Binning now available in the ArcGIS API for JavaScript"}]},{"@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":"July 6, 2022","author_name":"Kristian Ekenes","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/kekenes","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/06\/banner-2.jpg","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":30021,"name":"Aggregation","slug":"aggregation","term_group":0,"term_taxonomy_id":30021,"taxonomy":"post_tag","description":"","parent":0,"count":14,"filter":"raw"},{"term_id":25361,"name":"binning","slug":"binning","term_group":0,"term_taxonomy_id":25361,"taxonomy":"post_tag","description":"","parent":0,"count":10,"filter":"raw"},{"term_id":26751,"name":"clustering","slug":"clustering","term_group":0,"term_taxonomy_id":26751,"taxonomy":"post_tag","description":"","parent":0,"count":23,"filter":"raw"},{"term_id":758301,"name":"data viz","slug":"data-viz","term_group":0,"term_taxonomy_id":758301,"taxonomy":"post_tag","description":"","parent":0,"count":9,"filter":"raw"},{"term_id":765092,"name":"what's new june 2022","slug":"whats-new-june-2022","term_group":0,"term_taxonomy_id":765092,"taxonomy":"post_tag","description":"","parent":0,"count":27,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":420,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2686,"filter":"raw"}],"product_data":[{"term_id":761642,"name":"ArcGIS Location Platform","slug":"platform","term_group":0,"term_taxonomy_id":761642,"taxonomy":"product","description":"","parent":36601,"count":213,"filter":"raw"},{"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":361,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":762,"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\/1638432","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=1638432"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1638432\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=1638432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=1638432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=1638432"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=1638432"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=1638432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}