Hacker News new | ask | show | jobs
Ask HN: Figure out the routes of LA Street Cleaners from 500K parking tickets?
6 points by davidhegarty 4083 days ago
HN - we're looking for some help. We have 500K Street Cleaning tickets from LA. Each ticket has the address of where the ticket was issued, and the date/time of when the ticket was issued.

From the time sequence of these tickets, we'd like to plot on a map the routes that the Street Cleaning Vehicles drive with the approximate start and stop times.

Complications: 1) At any given time, there could be multiple street cleaning vehicles out there. 2) Street Cleaning vehicles follow both daily/weekly/bi-weekly/monthly schedules 3) In general, the tickets are issued at roughly the same time that the street cleaning vehicle passes.... but sometimes it can be 10-15 minutes beforehand.

Okay, that's our problem... give us your best suggested solutions.

Thanks!

4 comments

You should create geographic bins and sort your tickets into them. Then for each bin, you should identify the number of peaks in the distribution of ticket timestamps associated with a bin. Operating under the assumption that the distribution of timestamps is the sum of multiple distributions (a convolution) each with a well defined mean, each peak represents the mean time when -a- vehicle arrives at your designated geographic bin to assign a ticket.

Now, with all your peaks sorted out for each bin, you want to construct a graph from bin to bin where your graph is constructed where an adjacent node in the graph is added if the numerical distance between the two peaks is the smallest of all choices. You should iteratively repeat the process until all the relevant bins are connected

Then brute force the permutations of arrangements of peaks and you should get a rough approximation of the path of the person issuing tickets.

@shortoncash - I like that approach! If you live up to your username, do you've any interest in doing it as a side project?
@shortoncash: I like this solution a lot!

@David, are you able to put up a small test batch of the data on GitHub?

Great. We have a blog post up: http://blog.fixed.com/post/116649853902/a-problem-we-need-he...

... I'll setup a GitHub later today.

I'm booked through August, unfortunately. It's an interesting problem, though.
Be-friend someone who works for the city? I'm dead serious. I mean, you could solve this challenging technical problem only to have the schedule changed from underneath you without any notice.
When I lived LA, they would ticket 15mins after the start time. Also in LA there is a whole entire Parking Enforcement division. You might find multiple tickets clustered around the same time. Typically that means 1 officer working there way up the street if the address is similar. Also I think they can ticket at anytime during street cleaning even if the cleaner has passed thru.
Something like a* pathfinding might be useful, commonly used in games to plot courses between points on a grid - there may be something similar for street maps.

http://qiao.github.io/PathFinding.js/visual/