We're looking for guidance on how to extend the functionality of ArcGIS Dashboards and/or Experience Builder using the JavaScript Maps SDK.
The map in our app visualizes a many-to-many relationship between points and polygons:
- Each polygon is affected by multiple points.
- Each point affects multiple polygons.
We’ve used a join to simplify this into a 1-many relationship, but the underlying data still reflects a many-to-many relationship.
The goal: create an interactive experience where the user can click a polygon to display the points affecting it. Currently we envision representing points as a multipoint feature but are open to alternatives.
The challenge: These interactions are currently very slow. We suspect the bottleneck stems from the size of the data being queried and/or the process of rendering it on the map.
Therefore we’re interested in exploring how the JavaScript Maps SDK can operate within or alongside Dashboards or ExB to:
- Improve query efficiency for interacting with large datasets.
- While the current approach simplifies the many-to-many relationship into a 1-M relationship via data joins, we are considering alternative methods. For instance, one suggestion was to use a querying table to work more directly with the many-to-many relationship, rather than relying on the 1-M data structure in the map. If this approach is feasible, we wonder whether it could reduce the amount of data being processed at once and improve performance.
- Optimize rendering of geometries, especially for large or complex datasets.
- Potentially precompute or cache results to speed up filtering actions
(e.g., clicking a polygon to view the points that affect it)- We’ve encountered challenges with getting a vector tile layer (with feature enabled) to cache in AGOL and consistently fails without explanation
We’d appreciate guidance on:
- Best practices or patterns for using the JavaScript SDK in similar scenarios.
- Resources or examples of using the SDK to enhance ArcGIS Dashboard or Experience Builder performance.
- Tips for leveraging SDK features (e.g., FeatureLayers, custom widgets, or client-side processing).
If you’ve tackled similar performance or querying challenges using the JavaScript Maps SDK, we’d love to hear your insights! If there is a more appropriate question board on which to post this inquiry, that would also be helpful to know.
Thanks in advance!