Select to view content in your preferred language

Using JavaScript Maps SDK to Optimize User Interactions with Large Related Datasets

112
0
2 weeks ago
rwrenner_abtglobal
Occasional Contributor

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!

 

0 Kudos
0 Replies