Select to view content in your preferred language

Dynamic choropleth map using filters

134
1
2 weeks ago
adimuro1
New Contributor

I have two layers in my ARCGIS Pro map. One has polygon geometry with divisions (about 30 rows), and the other is point geometry for incident data (date, time, incident number, etc. Which eventually could have over 100,000 rows). Using spatial join I have created a choropleth map with graduated symbology indicating which divisions have the highest incident count. However the issue is that the attribute table associated with this map condenses to only the 30 rows, but I think I will need row per incident data for detailed filtering. I want to keep this choropleth symbology for my end result, but would like the map to be more dynamic so users can filter for certain dates, incident numbers, etc and the map will adjust the visuals (colors and labels) for that selected filter. I do have lat long data for my incidents, however I do not want the end user to be able to see the specific lat longs. Ideally the map would be displayed in a PowerBI dashboard, but please let me know if other platforms would work better such as storymaps, etc.

Any help on how to dynamically display incident data at the divisional level allowing for filtering would be greatly appreciated! 

 

0 Kudos
1 Reply
VenkataKondepati
Occasional Contributor

If you want to keep a choropleth view at the division (polygon) level but still allow users to filter incidents by date, number, etc., the key is not to collapse the data with a spatial join.

Why Spatial Join Isn’t Ideal

  • A spatial join reduces your incident table to only ~30 rows (divisions).
  • That’s fine for static mapping, but it loses row-level detail, so you can’t filter dynamically by incident attributes.

Better Approach – Dynamic Aggregation

  • Keep your full incident table (100k+ rows) as-is.
  • Publish both the incidents and the division polygons as feature layers.
  • Use ArcGIS Online Dashboards or ArcGIS for Power BI to aggregate counts by division dynamically.
  • Filtering by date, incident number, or type will recalc the counts and recolor your divisions on the choropleth.
  • You can hide or disable raw point display if you don’t want users to see individual coordinates.

Platform Options

  • ArcGIS Dashboards → Best Esri-native option for filtering + dynamic aggregation.
  • ArcGIS for Power BI → Ideal if you’re embedding with other KPIs and reports.
  • Experience Builder → For more flexibility in UI and storytelling.
  • Avoid StoryMaps for this use case — not built for dynamic filters.

Recommended Workflow

  • Publish incidents (points) + divisions (polygons).
  • Build a dashboard (or Power BI model).
  • Symbolize divisions with Arcade or summarization → incident counts.
  • Add filters (date, number, type).
  • Choropleth symbology updates in real time.

Don’t collapse with spatial join. Keep all incident rows, use dashboards or Power BI to aggregate dynamically by division. That way, filters drive your choropleth updates without exposing lat/longs.

I hope this helps and let me know.

 

Regards,
Venkat