determining time in hotspots with the help of fme
TRANSCRIPT
Time in Hotspot
Brett Lord-CastilloGIS ProgrammerSt Louis County Emergency Management
April 10th, 2013
A simple problem
Given a set of designated crime “Hotspots” Find out how much time police vehicles spend in those hotspots Which hotspots? Which days? What hours? Which cars?
The data
Automatic Vehicle Location (AVL) Car ID Latitude/Longitude Timestamp
Every 30 seconds per vehicle Hundreds of thousands of records per day
The data-complications
No specific order Transmitters malfunction (and we lose a car) Receiver malfunctions (and we lose hours) 5 minute stopped = stops transmitting
(But GPS Drift can bring it back on) Thirty seconds is rarely thirty seconds New dataset every day
(And sometimes we even lose a day)
Manual method
Convert Latitude/Longitude to XY Point table Select by Location with Hotspots polygons
Export and sum up number of returns Assume each return is 30 seconds
-or- Manually assign times to each point Sum up time on all returns
Why manual doesn’t work
Very time consuming, especially with manually assigned times
Have to redo selections for each dimension By Hotspot By Car By Day of Week By Time of Day
The Workspace
Not as complicated as it looks
Initialize and collect recordswith a blocking transformer
Inside the Loop: Three Date Formats
Day of the Week: String created by format %a (Name of day of week)Hour of Day: Number created by format %H (24-hour hour of day)epoch: Number created by format %s (seconds since epoch)_totaltime: Placeholder to assign time for each GPS return
Get some more information
fme_feature_type: Keep track of which points are from this week_prevcar: Car ID from the last feature processed
(We store this later)
Assign the time this return is worth
Set aside info for next feature
Spatial FilterSelect by Location, Spatial Join,and Blocking Transformer all in one
Output: Save Our Work(With fanout writer)
Week1019_1025 Pings1019_1025
Points for analysisAnd one sheet in an Excel Workbook
Last two sheets in the workbook
Outcomes
Comparison
First manual attempt took over 4 hours (To process one day) And assumed one point = 30 seconds Single stat (total time by hotspot)
FME ran entire week in under 30 minutes Automated Less assumptions More dimensions (By Car, By Day, By Hour)
Thank You!
Questions?
For more information: Brett Lord-Castillo, [email protected]
St Louis County Emergency Management
@blordcastillo https://github.com/marigolds6