Hi all!
I'm working with a fairly large dataset (~1.4 million points) trying to create a heatmap visualization in Dashboards that can be customized via a set of Selectors to filter by time, geographic area, and category. I have the Dashboard framework set up, and the Action logic is working fine as confirmed by Indicators and Gauges behaving as intended. However, the rendering of each heatmap per selection is taking on the order of several minutes to complete. I have found at least one other Community Topic from 2015 discussing the fact that rendering 61,000 points takes up to 17 seconds in Chrome for this user, so my worry is that the rendering time is just a function of the heatmap process with especially large data layers.
I am using:
Am I missing something obvious to make the render time of these visualizations faster, or is this just inherent to the process?
Thanks so much for the help!
Have you explored general best practices for displaying features on a map?
There may be other symbology effects like aggregating the data into hex bins that perform better with similar visual results.
It's hard to fully optimise feature layers if you're making dynamic requests that'll reach the database and then render as a heat map. E.g. a relative date filter will always reach the database. So every time that's a few million points to load and symbolise, and you lose out on the best performance mechanisms.
Thanks for these tips! I've tried to follow as many as I can (AGOL won't let me generate indices for some of the fields beyond OBJECTID -- go figure), but the process was still taking way too long. I followed your advice and tried to switch to the data aggregation and binning feature and while trying to display a filtered subset of 16,000 points it took 2 minutes 45 seconds to render. The dates are simply a "Year" field which I'd hope isn't as resource intensive as the relative date but it seems like I still have a decent amount of optimization to do. I might have to break this 10 year dataset down into two or three separate ones just to get things working at speed