Project Overview
This application is a custom Spatial Intelligence Dashboard designed to analyze Michigan NIBRS
(National Incident-Based Reporting System) Crime Data for the year 2022.
It was built using the ArcGIS Maps SDK for JavaScript, demonstrating advanced
techniques in dynamic filtering, client-side analytics, and responsive design.
Legend & Filtering
The map displays law enforcement agencies symbolized by type. You can use the
Dropdown Filter in the header to isolate specific agencies. The filter
utilizes server-side definition queries to ensure accuracy across large datasets.
AGENCY TYPES (Dropdown Options)
- ● City
- ● Township
- ● County
(Metropolitan & Nonmetropolitan)
- ● State Police
- ● University/College
- ● Tribal
- ● Other
Technical Features Implemented
The bar chart in the sidebar is not static. It uses a Reactive
Watcher to monitor the map's extent. Every time you zoom or pan, the
application queries the visible features in real-time, calculates the sum of crimes
(Persons, Property, Society), and updates the chart instantly.
The search widget is configured to query two distinct datasets simultaneously:
- Agencies (Points): Searches by Agency Name or ID. Zooms to
street level (Scale 1:16,000).
- Counties (Polygons): Searches by County Name. Zooms to the
county boundary.
The application includes "bulletproof" logic to handle dirty data. It uses
Server-Side Definition Expressions to filter layers, ensuring that
even if the local browser hasn't downloaded all points, the map reflects the correct
query state. It also auto-detects field names to prevent errors if the database
schema changes.