{"id":554902,"date":"2019-07-02T00:40:03","date_gmt":"2019-07-02T07:40:03","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=554902"},"modified":"2021-11-07T22:30:28","modified_gmt":"2021-11-08T06:30:28","slug":"dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis","title":{"rendered":"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS"},"author":5971,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341,22941],"tags":[30021,425842,425822,145432,425832],"industry":[],"product":[36561],"class_list":["post-554902","blog","type-blog","status-publish","format-standard","hentry","category-analytics","category-mapping","tag-aggregation","tag-anomaly","tag-moving-average","tag-query-layer","tag-rolling-average","product-arcgis-pro"],"acf":{"short_description":"Display features with aggregated results such as total or moving or rolling averages etc. from time series data.","flexible_content":[{"acf_fc_layout":"content","content":"<p>Starting ArcGIS Pro 2.8, authoring this kind of layers is made very easy using Make Aggregation Query Layer. Please read about this in the following blog and ArcGIS Pro help:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/announcements\/make-aggregation-query-layer-a-new-geoprocessing-tool-to-compute-and-view-dynamic-summary-statistics-from-related-records\/\">Make Aggregation Query Layer &#8211; a new geoprocessing tool to compute and view dynamic summary statistics from related records<\/a><\/li>\n<li><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/data-management\/make-aggregation-query-layer.htm\">https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/data-management\/make-aggregation-query-layer.htm<\/a><\/li>\n<\/ul>\n<hr \/>\n"},{"acf_fc_layout":"content","content":"<p>I have written two blog posts previously on this topic. There were basically two drawbacks in the approaches described in those posts:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/mapping\/mapping\/visualizing-features-with-on-the-fly-aggregated-values-from-time-series-or-historical-observation-data\/\">In one approach<\/a>, even though the computation was dynamic, the time window\/duration and time steps had to be predefined and fixed.<\/li>\n<li>In <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/mapping\/mapping\/server-object-interceptor-soi-to-visualize-features-with-on-the-fly-aggregated-values-from-time-series-or-historical-observation-data\/\">the other one<\/a>, expertise in <a href=\"https:\/\/enterprise.arcgis.com\/en\/server\/latest\/develop\/windows\/about-extending-services.htm\">server object extension (SOE)\/server object interceptor (SOI)<\/a> is required.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>To overcome these limitations, in ArcGIS Pro 1.4 we introduced <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/query-layers\/define-parameters-in-a-query-layer.htm\">parameters<\/a> to <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/query-layers\/what-is-a-query-layer-.htm\">query layers<\/a>, allowing you to perform spatiotemporal and aggregate analysis dynamically from related tables. The advantages are significant with this new approach:<\/p>\n<ul>\n<li>You can compute basic statistical (aggregated) results dynamically.\n<ul>\n<li>Since the computation is dynamic, you always get aggregated results from the latest updates.<\/li>\n<\/ul>\n<\/li>\n<li>Any time duration and time steps can be used.<\/li>\n<li>It performs well since computation occurs at the database level.<\/li>\n<li>No programming knowledge is needed. All you need is some basic SQL knowledge.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"content","content":"<h1>Consider<\/h1>\n<p><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/query-layers\/what-is-a-query-layer-.htm\">Query layer<\/a> is the only kind of layer in ArcGIS Pro whose source can be a SQL statement, which could be as simple as &#8220;SELECT * FROM aTable&#8221; or very complex with joins, aggregated results, etc. The SQL query gets evaluated by the database, results get sent back, and a query layer draws the result in ArcGIS Pro. Query layers are only supported for enterprise databases such as SQL Server, PostgreSQL, and Oracle\u2014they are not supported for file geodatabases. For that reason, the data needs to be copied to the enterprise database of your choice.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Prepare the Data<\/h1>\n<p>Let&#8217;s get started:<\/p>\n<ul>\n<li>Download an <a href=\"https:\/\/arcg.is\/1LjWie0\">ArcGIS Pro package<\/a> to get started with sample data.<\/li>\n<li>Double-click the package file you downloaded to open it in ArcGIS Pro.<br \/>\nThe Rainfall Data map appears. It contains one layer and two tables:<\/p>\n<ul>\n<li>The Rainfall Stations layer\u2014This has 79 stations with their locations and some basic attributes.<\/li>\n<li>The Rainfall TimeSeries table\u2014This contains each station&#8217;s rainfall amount with dates and times, collected at 15-minute intervals over four months. It has about 28k records.<\/li>\n<li>The Rainfall Monthly Avg table\u2014This has the historic average monthly rainfall for all but one of the stations.<\/li>\n<\/ul>\n<\/li>\n<li>Create a new database connection to your enterprise database<\/li>\n<li>Go to the <strong>Catalog<\/strong> pane, then navigate to Databases\\Rainfall_IL.gdb.<\/li>\n<li>Copy all feature classes and tables from the file geodatabase to your enterprise database.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":554882,"id":554882,"title":"CatalogPane","filename":"CatalogView.png","filesize":5921,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","link":"https:\/\/www.esri.com\/arcgis-blog\/?attachment_id=554882","alt":"Catalog Pane - showing Rainfall.gdb","author":"5971","description":"","caption":"Catalog Pane - showing Rainfall.gdb","name":"catalogview","status":"inherit","uploaded_to":554862,"date":"2019-07-02 05:27:19","modified":"2019-07-02 05:28:00","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":310,"height":335,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","medium-width":242,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","medium_large-width":310,"medium_large-height":335,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","large-width":310,"large-height":335,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","1536x1536-width":310,"1536x1536-height":335,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","2048x2048-width":310,"2048x2048-height":335,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","card_image-width":310,"card_image-height":335,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/CatalogView.png","wide_image-width":310,"wide_image-height":335}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Compute Total Rainfall for Each Station<\/h1>\n<p>Next, we&#8217;ll create a table:<\/p>\n<ul>\n<li>Click the <strong>Query Layer<\/strong> option from the<strong> Add Data<\/strong> command on the Map.<\/li>\n<li>Select your database connection.<\/li>\n<li>Give it a name such as Total Rainfall.<\/li>\n<li>Copy the following query and paste it in the <strong>Query<\/strong> text box:<br \/>\n<code>SELECT site_no, SUM(rainfall_inch) AS Total_Rainfall FROM USGS_Rainfall_TimeSeries_IL GROUP BY site_no<\/code><\/li>\n<li>Click <strong>Validate<\/strong>.<\/li>\n<li>Click <strong>Next<\/strong>.<\/li>\n<li>Check the <strong>site_no<\/strong> checkbox in the <strong>Unique Identifier Field(s)<\/strong> list.<\/li>\n<li>Click on <strong>Finish<\/strong>.<\/li>\n<li>Open the newly added table.<\/li>\n<\/ul>\n<p>You will see that the table contains the total rainfall (dynamically computed) at each station for the entire four months. Since this table does not have spatial data, it cannot be drawn on a map.<\/p>\n<p>This section is just to provide some background information. If you want, you can remove this table.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Visualize Total Rainfall on a Map<\/h1>\n<p>The USGS_Rainfall_Stations_IL feature class contains spatial data. We need to combine the computed total rainfall with spatial data. For this, we will use SQL <a href=\"https:\/\/www.w3schools.com\/sql\/sql_join_inner.asp\">joins<\/a> and do the following:<\/p>\n<ul>\n<li>Add another query layer with the following SQL query:<\/li>\n<li><code>SELECT s.*, r.Total_Rainfall<br \/>\nFROM USGS_RAINFALL_STATIONS_IL s<br \/>\nINNER JOIN<br \/>\n(SELECT site_no,<br \/>\nSUM(rainfall_inch) AS Total_Rainfall<br \/>\nFROM USGS_RAINFALL_TIMESERIES_IL<br \/>\nGROUP BY site_no) r<br \/>\nON s.site_no = r.site_no<\/code><\/li>\n<li>This time, a query layer gets added to the map:\n<ul>\n<li>Click any station on the map and see the total amount of rainfall (in inches) measured at that location on the Popup.<\/li>\n<li>Symbolize the layer with <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/mapping\/layer-properties\/proportional-symbology.htm\">proportional symbology<\/a> using the Total_Rainfall attribute.<\/li>\n<li><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/mapping\/text\/labeling-basics.htm\">Label<\/a> the features using values in the Total_Rainfall attribute as well.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n"},{"acf_fc_layout":"content","content":"<h1>Compute Total Rainfall for Any Time Duration<\/h1>\n<p>What we have so far is a layer where each station is populated with its total rainfall computed from all records off the time series table. What we want now is to draw rainfall stations with the total rainfall from a specific time duration\u2014for instance, a week, a month, a three-day period, or any arbitrary time window.<\/p>\n<ul>\n<li>Open the <strong>Layer Properties<\/strong> page of the query layer created in the last section, and click its <strong>Source<\/strong> tab.<\/li>\n<li>Click the blue pencil icon to open the <strong>Edit Query Layer<\/strong> dialog box.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":555162,"id":555162,"title":"LayerPropertiesSource","filename":"LayerPropertiesSource.png","filesize":15276,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/layerpropertiessource","alt":"Source tab on a Layer Properties page","author":"5971","description":"","caption":"Source tab on a Layer Properties page","name":"layerpropertiessource","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:10:25","modified":"2019-07-02 06:10:58","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":519,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource.png","medium-width":402,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource.png","medium_large-width":768,"medium_large-height":498,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource.png","large-width":800,"large-height":519,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource.png","1536x1536-width":800,"1536x1536-height":519,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource.png","2048x2048-width":800,"2048x2048-height":519,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource-717x465.png","card_image-width":717,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/LayerPropertiesSource.png","wide_image-width":800,"wide_image-height":519}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<ul>\n<li>Insert a WHERE clause with the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/query-layers\/define-parameters-in-a-query-layer.htm#GUID-CDEF0CD3-6B41-4F8E-B053-E6045D153EDC\">range parameter<\/a> right after the time series table name.<br \/>\nWHERE <strong>::r:timeRange<\/strong><\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":555192,"id":555192,"title":"RangeParameter_Time","filename":"RangeParameter_Time.png","filesize":7804,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/rangeparameter_time","alt":"Declare a range parameter in a SQL statement","author":"5971","description":"","caption":"Declare a range parameter in a SQL statement","name":"rangeparameter_time","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:17:02","modified":"2019-07-02 06:17:28","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":504,"height":209,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","medium-width":464,"medium-height":192,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","medium_large-width":504,"medium_large-height":209,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","large-width":504,"large-height":209,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","1536x1536-width":504,"1536x1536-height":209,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","2048x2048-width":504,"2048x2048-height":209,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","card_image-width":504,"card_image-height":209,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time.png","wide_image-width":504,"wide_image-height":209}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<ul>\n<li>Click the pencil icon to bring up an inline editor to define the parameter.<\/li>\n<li>Fill in all the necessary information as shown in the following screenshot:\n<ol>\n<li>Field or Expression\u2014Type <strong>date_time<\/strong>.<\/li>\n<li>Data Type\u2014Choose <strong>Date<\/strong>.<\/li>\n<li>Default value\u2014Uncheck the check box.<\/li>\n<li>Name of the table the field belongs to\u2014Type <strong>USGS_RAINFALL_TIMESERIES_IL<\/strong>.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":555212,"id":555212,"title":"RangeParameter_Time_Definition","filename":"RangeParameter_Time_Definition.png","filesize":16576,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/rangeparameter_time_definition","alt":"Define a date range parameter","author":"5971","description":"","caption":"Define a date range parameter","name":"rangeparameter_time_definition","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:19:47","modified":"2019-07-02 06:20: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":726,"height":336,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","medium-width":464,"medium-height":215,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","medium_large-width":726,"medium_large-height":336,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","large-width":726,"large-height":336,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","1536x1536-width":726,"1536x1536-height":336,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","2048x2048-width":726,"2048x2048-height":336,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","card_image-width":726,"card_image-height":336,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/RangeParameter_Time_Definition.png","wide_image-width":726,"wide_image-height":336}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<ul>\n<li>Click <strong>Done<\/strong>.<\/li>\n<li>Validate the SQL query layer.<\/li>\n<li>Click <strong>Next<\/strong>.<\/li>\n<li>Click <strong>Finish<\/strong>.<\/li>\n<\/ul>\n<p>If you click the <strong>Time<\/strong> tab on the<strong> Layer Properties<\/strong> page now, you will see that the time settings got automatically defined. When you define a range parameter of the Date data type, the layer is automatically made time aware and will start honoring the map&#8217;s time slider&#8217;s settings.<\/p>\n<ul>\n<li>Click OK.<\/li>\n<\/ul>\n<p>The time slider appears on the map.<\/p>\n<ul>\n<li>Enable time slider from the <strong>Time<\/strong> tab.<\/li>\n<li>Set the time span to 1 week.<\/li>\n<\/ul>\n<p>You will see stations with their rainfall measurements for that week.<\/p>\n<p>Use the time slider to go to another week, or change the time settings to view results for another window of time. If you want you can set the time span to bi-weekly or any arbitrary time duration, and you will see map is updated with dynamically computed total rainfall for that time duration.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":555232,"id":555232,"title":"WeeklyTotalRainfall_Animation","filename":"WeeklyTotalRainfall_Animation.gif","filesize":618198,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/weeklytotalrainfall_animation","alt":"Map showing total rainfall at stations for the week set on the time slider","author":"5971","description":"","caption":"Map showing total rainfall at stations for the week set on the time slider","name":"weeklytotalrainfall_animation","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:21:16","modified":"2019-07-02 06:23:18","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":474,"height":760,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation.gif","medium-width":163,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation.gif","medium_large-width":474,"medium_large-height":760,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation.gif","large-width":474,"large-height":760,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation.gif","1536x1536-width":474,"1536x1536-height":760,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation.gif","2048x2048-width":474,"2048x2048-height":760,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation-290x465.gif","card_image-width":290,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_Animation.gif","wide_image-width":474,"wide_image-height":760}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Visualize Data with Moving\/Rolling Averages<\/h1>\n<p>Now we&#8217;ll use time settings to view stations with moving\/rolling averages while stepping through time:<\/p>\n<ul>\n<li>Open the <strong>Layer Properties<\/strong> page of the query layer created in the last section, and click its <strong>Source<\/strong> tab.<\/li>\n<li>Click the blue pencil icon to open the <strong>Edit Query Layer<\/strong> dialog box.<\/li>\n<li>Insert the following aggregated field (including the comma at the beginning) into the SQL query right after Total_Rainfall:<br \/>\n<code>, AVG(rainfall_inch) AS Avg_Rainfall<\/code><\/li>\n<li>Step through the <strong>Edit Query Layer<\/strong> wizard and update the layer.<\/li>\n<li>Change the layer&#8217;s proportional symbology to use the Avg_Rainfall attribute.<\/li>\n<li>Change the layer&#8217;s Label properties to use the Avg_Rainfall attribute.<\/li>\n<li>View the three-day moving\/rolling rainfall average by making the following changes on the <strong>Time<\/strong> tab:\n<ol>\n<li>Span\u2014Set to 3 days.<\/li>\n<li>Use Time Span\u2014Uncheck the check box.<\/li>\n<li>Step Interval\u2014Set to 1 day.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":555262,"id":555262,"title":"TimeTab","filename":"TimeTab.png","filesize":14745,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/timetab","alt":"Time tab settings to compute moving\/rolling average rainfall","author":"5971","description":"","caption":"Time tab settings to compute moving\/rolling average rainfall","name":"timetab","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:25:37","modified":"2019-07-02 06:42: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":1095,"height":148,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab-213x148.png","thumbnail-width":213,"thumbnail-height":148,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab.png","medium-width":464,"medium-height":63,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab.png","medium_large-width":768,"medium_large-height":104,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab.png","large-width":1095,"large-height":148,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab.png","1536x1536-width":1095,"1536x1536-height":148,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab.png","2048x2048-width":1095,"2048x2048-height":148,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab-826x112.png","card_image-width":826,"card_image-height":112,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab.png","wide_image-width":1095,"wide_image-height":148}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Now step through time with the time slider. You will see that features are drawn with the three-day moving\/rolling average as it moves forward one day for each time step. If you want to see weekly moving average, all you need to do is to set the Span value to 1 week.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Show Anomalies<\/h1>\n<p>In this section, we will see how to draw stations differently when their monthly rainfall exceeds the historical rainfall average for a given month.<\/p>\n<p>&nbsp;<\/p>\n<p>In this case monthly rainfall averages are stored in a separate table named USGS_Rainfall_Avg table. We will now use data from that table to produce a map showing stations with anomalies in red:<\/p>\n<ul>\n<li>Create a new query layer with the following SQL query:<\/li>\n<li><code>SELECT s.*, r.Total_Rainfall, av.Avg_Monthly_Rainfall, r.mo<br \/>\nFROM USGS_Rainfall_Stations_IL s<br \/>\nINNER JOIN<br \/>\n(<br \/>\nSELECT site_no,<br \/>\nSUM(rainfall_inch) AS Total_Rainfall,<br \/>\nMonth(date_time) as mo<br \/>\nFROM USGS_RAINFALL_TIMESERIES_IL<br \/>\nWHERE <strong>::r:timeRange<\/strong><br \/>\nGROUP BY site_no, Month(date_time)<br \/>\n) r<br \/>\nON s.site_no = r.site_no<br \/>\nLEFT OUTER JOIN<br \/>\nUSGS_Rainfall_Monthly_Avg av<br \/>\nON r.site_no = av.site_no<br \/>\nAND r.mo = av.Month_num<\/code><\/p>\n<ul>\n<li><span style=\"text-decoration: underline\">Note<\/span>: <em>I have used <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/functions\/month-transact-sql?view=sql-server-2017\">Month()<\/a> function in the SQL since I have had data in a SQL Server instance. For Oracle and PostgreSQL, you might want to use Extract() function; for other database, please refer to the database documentation.<\/em><\/li>\n<\/ul>\n<\/li>\n<li>Define the <strong>::r:timeRange<\/strong> range parameter exactly the same way as we defined the range parameter earlier.<\/li>\n<li>Symbolize the layer with proportion symbols using the Total_Rainfall attribute.<\/li>\n<li>Select the layer in the <strong>Content<\/strong> pane then\n<ol>\n<li>Click the<strong> Vary Symbology by Attributes<\/strong> tab in the <strong>Symbology<\/strong> pane.<\/li>\n<li>Set the following ArcGIS Arcade expression to vary the color when the amount of rainfall during the current month exceeds a station&#8217;s historic average for that month:<br \/>\n<code>iif($feature.Total_Rainfall &gt; $feature.Avg_Monthly_Rainfall, 1, -1)<\/code><\/li>\n<\/ol>\n<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":555282,"id":555282,"title":"SymbologyPane","filename":"SymbologyPane.png","filesize":14288,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/symbologypane","alt":"Arcade expression to draw anomalies with different color","author":"5971","description":"","caption":"Arcade expression to draw anomalies with different color","name":"symbologypane","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:27:58","modified":"2019-07-02 06:28: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":402,"height":715,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane.png","medium-width":147,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane.png","medium_large-width":402,"medium_large-height":715,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane.png","large-width":402,"large-height":715,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane.png","1536x1536-width":402,"1536x1536-height":715,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane.png","2048x2048-width":402,"2048x2048-height":715,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane-261x465.png","card_image-width":261,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/SymbologyPane.png","wide_image-width":402,"wide_image-height":715}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<ul>\n<li>Go to the <strong>Time<\/strong> tab and update the settings to match the screenshot below:<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":555302,"id":555302,"title":"TimeTab2","filename":"TimeTab2.png","filesize":14628,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/timetab2","alt":"Time tab's setting to show monthly anomalies","author":"5971","description":"","caption":"Time tab's setting to show monthly anomalies","name":"timetab2","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:30:26","modified":"2019-07-02 06:31: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":1086,"height":148,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2-213x148.png","thumbnail-width":213,"thumbnail-height":148,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2.png","medium-width":464,"medium-height":63,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2.png","medium_large-width":768,"medium_large-height":105,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2.png","large-width":1086,"large-height":148,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2.png","1536x1536-width":1086,"1536x1536-height":148,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2.png","2048x2048-width":1086,"2048x2048-height":148,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2-826x113.png","card_image-width":826,"card_image-height":113,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/TimeTab2.png","wide_image-width":1086,"wide_image-height":148}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This produces a map like the one below, where stations in red are the ones whose total rainfall for January 2013 exceeded the historic average rainfall for January.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":555312,"id":555312,"title":"MonthlyTotalRainfallAnomalies_Animation","filename":"MonthlyTotalRainfallAnomalies_Animation.gif","filesize":266106,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\/monthlytotalrainfallanomalies_animation","alt":"Map showing monthly total rainfall and anomalies","author":"5971","description":"","caption":"Map showing monthly total rainfall and anomalies","name":"monthlytotalrainfallanomalies_animation","status":"inherit","uploaded_to":554902,"date":"2019-07-02 06:32:03","modified":"2019-07-02 06:32:33","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":474,"height":760,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation.gif","medium-width":163,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation.gif","medium_large-width":474,"medium_large-height":760,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation.gif","large-width":474,"large-height":760,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation.gif","1536x1536-width":474,"1536x1536-height":760,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation.gif","2048x2048-width":474,"2048x2048-height":760,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation-290x465.gif","card_image-width":290,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfallAnomalies_Animation.gif","wide_image-width":474,"wide_image-height":760}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Share and Consume Data in Web Maps<\/h1>\n<p>You can do the following:<\/p>\n<ul>\n<li><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/sharing\/overview\/map-image-layer.htm\">Share<\/a> the map as a map image layer (or <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/sharing\/overview\/publish-a-map-service.htm\">map service<\/a>).<\/li>\n<li>Consume that on a web application such as ArcGIS Online or a portal map viewer or a Web AppBuilder for ArcGIS application.<\/li>\n<li>Use the time slider to see the same results.<\/li>\n<\/ul>\n"}],"authors":[{"ID":5971,"user_firstname":"Tanu","user_lastname":"Hoque","nickname":"Tanu Hoque","user_nicename":"mahoque","display_name":"Tanu Hoque","user_email":"ahoque@esri.com","user_url":"","user_registered":"2018-03-02 00:17:50","user_description":"Tanu is a product engineer on Esri Mapping Team focusing on map service, print service, and ArcGIS Pro. He also works on spatio-temporal analysis, spatial aggregation and real-time data. Tanu\u2019s background includes a masters in Urban Planning from University of Akron, Ohio, USA and a bachelor degree from Khulna University, Bangladesh, and worked as GIS Coordinator in City of West Springfield, and GIS Specialist in a hydrology modeling center in Bangladesh before joining Esri.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/tanu-hoque2-e1609364913822-213x200.jpeg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":71051,"post_author":"5971","post_date":"2016-03-04 16:00:12","post_date_gmt":"2016-03-04 16:00:12","post_content":"","post_title":"Visualizing Features with On The Fly Aggregated Values from Time-Series or Historical Observation Data","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"visualizing-features-with-on-the-fly-aggregated-values-from-time-series-or-historical-observation-data","to_ping":"","pinged":"","post_modified":"2020-06-23 23:44:23","post_modified_gmt":"2020-06-24 06:44:23","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/visualizing-features-with-on-the-fly-aggregated-values-from-time-series-or-historical-observation-data\/","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":556392,"post_author":"5971","post_date":"2019-07-03 00:40:53","post_date_gmt":"2019-07-03 07:40:53","post_content":"","post_title":"Transform Dynamically Aggregated Time Series Results into Polygons in ArcGIS","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"transform-aggregated-time-series-results-into-polygons-in-arcgis","to_ping":"","pinged":"","post_modified":"2020-03-02 15:20:56","post_modified_gmt":"2020-03-02 23:20:56","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=556392","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"2","filter":"raw"},{"ID":558482,"post_author":"5971","post_date":"2019-07-04 17:31:57","post_date_gmt":"2019-07-05 00:31:57","post_content":"","post_title":"Dynamic Aggregate Points within Polygon Features for Exploratory Analysis","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"dynamic-aggregate-points-within-polygon-features-for-exploratory-analysis","to_ping":"","pinged":"","post_modified":"2021-11-07 22:25:26","post_modified_gmt":"2021-11-08 06:25:26","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=558482","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":72511,"post_author":"5971","post_date":"2016-06-21 16:00:03","post_date_gmt":"2016-06-21 23:00:03","post_content":"","post_title":"Server Object Interceptor (SOI) to Visualize Features with On The Fly Aggregated Values from Time-Series or Historical Observation Data","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"open","post_password":"","post_name":"server-object-interceptor-soi-to-visualize-features-with-on-the-fly-aggregated-values-from-time-series-or-historical-observation-data","to_ping":"","pinged":"","post_modified":"2020-03-26 09:07:21","post_modified_gmt":"2020-03-26 16:07:21","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/server-object-interceptor-soi-to-visualize-features-with-on-the-fly-aggregated-values-from-time-series-or-historical-observation-data\/","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/WeeklyTotalRainfall_animation-826x465.gif","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfall_animation-1920x1080.gif"},"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>Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS<\/title>\n<meta name=\"description\" content=\"Exploratory spatiotemporal analysis with aggregated results off time series data\" \/>\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-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS\" \/>\n<meta property=\"og:description\" content=\"Exploratory spatiotemporal analysis with aggregated results off time series data\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\" \/>\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=\"2021-11-08T06:30:28+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\"},\"author\":{\"name\":\"Tanu Hoque\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/9932dde4f8a6dae58fd1b485d1ddf017\"},\"headline\":\"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS\",\"datePublished\":\"2019-07-02T07:40:03+00:00\",\"dateModified\":\"2021-11-08T06:30:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\"},\"wordCount\":13,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"Aggregation\",\"anomaly\",\"moving average\",\"query layer\",\"rolling average\"],\"articleSection\":[\"Analytics\",\"Mapping\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\",\"name\":\"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2019-07-02T07:40:03+00:00\",\"dateModified\":\"2021-11-08T06:30:28+00:00\",\"description\":\"Exploratory spatiotemporal analysis with aggregated results off time series data\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS\"}]},{\"@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\/9932dde4f8a6dae58fd1b485d1ddf017\",\"name\":\"Tanu Hoque\",\"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\/2020\/12\/tanu-hoque2-e1609364913822-213x200.jpeg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/tanu-hoque2-e1609364913822-213x200.jpeg\",\"caption\":\"Tanu Hoque\"},\"description\":\"Tanu is a product engineer on Esri Mapping Team focusing on map service, print service, and ArcGIS Pro. He also works on spatio-temporal analysis, spatial aggregation and real-time data. Tanu\u2019s background includes a masters in Urban Planning from University of Akron, Ohio, USA and a bachelor degree from Khulna University, Bangladesh, and worked as GIS Coordinator in City of West Springfield, and GIS Specialist in a hydrology modeling center in Bangladesh before joining Esri.\",\"sameAs\":[\"https:\/\/x.com\/ArcGISPro\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/mahoque\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS","description":"Exploratory spatiotemporal analysis with aggregated results off time series data","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-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis","og_locale":"en_US","og_type":"article","og_title":"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS","og_description":"Exploratory spatiotemporal analysis with aggregated results off time series data","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2021-11-08T06:30:28+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis"},"author":{"name":"Tanu Hoque","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/9932dde4f8a6dae58fd1b485d1ddf017"},"headline":"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS","datePublished":"2019-07-02T07:40:03+00:00","dateModified":"2021-11-08T06:30:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis"},"wordCount":13,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["Aggregation","anomaly","moving average","query layer","rolling average"],"articleSection":["Analytics","Mapping"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis","name":"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2019-07-02T07:40:03+00:00","dateModified":"2021-11-08T06:30:28+00:00","description":"Exploratory spatiotemporal analysis with aggregated results off time series data","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/mapping\/dynamic-spatiotemporal-exploratory-analysis-with-aggregated-results-using-time-series-data-in-arcgis#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Dynamic Spatiotemporal Exploratory Analysis with Aggregated Results Using Time Series Data in ArcGIS"}]},{"@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\/9932dde4f8a6dae58fd1b485d1ddf017","name":"Tanu Hoque","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\/2020\/12\/tanu-hoque2-e1609364913822-213x200.jpeg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/12\/tanu-hoque2-e1609364913822-213x200.jpeg","caption":"Tanu Hoque"},"description":"Tanu is a product engineer on Esri Mapping Team focusing on map service, print service, and ArcGIS Pro. He also works on spatio-temporal analysis, spatial aggregation and real-time data. Tanu\u2019s background includes a masters in Urban Planning from University of Akron, Ohio, USA and a bachelor degree from Khulna University, Bangladesh, and worked as GIS Coordinator in City of West Springfield, and GIS Specialist in a hydrology modeling center in Bangladesh before joining Esri.","sameAs":["https:\/\/x.com\/ArcGISPro"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/mahoque"}]}},"text_date":"July 2, 2019","author_name":"Tanu Hoque","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/mahoque","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/MonthlyTotalRainfall_animation-1920x1080.gif","primary_product":"ArcGIS Pro","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":425842,"name":"anomaly","slug":"anomaly","term_group":0,"term_taxonomy_id":425842,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":425822,"name":"moving average","slug":"moving-average","term_group":0,"term_taxonomy_id":425822,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":145432,"name":"query layer","slug":"query-layer","term_group":0,"term_taxonomy_id":145432,"taxonomy":"post_tag","description":"","parent":0,"count":6,"filter":"raw"},{"term_id":425832,"name":"rolling average","slug":"rolling-average","term_group":0,"term_taxonomy_id":425832,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1345,"filter":"raw"},{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2716,"filter":"raw"}],"product_data":[{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2091,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-pro","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/554902","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\/5971"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=554902"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/554902\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=554902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=554902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=554902"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=554902"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=554902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}