I’m a teacher at a school of about 700 students. Most of them live too far away from the school for biking to be practical, but it occurs to me that there’s probably room for a lot more carpooling. The main obstacle, I’m guessing, is that most families don’t know the specific other students who live close to them. I think the school can help out with that.
What I’m envisioning is, any parents who are interested can opt in, by submitting their name, address, and email to the school. Then, once everyone who’s interested has opted in, they’d get an email telling them who the other families are who opted in and live near them, and they could take it from there with whatever arrangements they want to make with the other families.
The question is how to make that happen. The first step is straightforward enough: The parents opting in can fill out a Google form, to populate a spreadsheet. If the next step can’t interface directly with a Google sheet, then it can be exported as a CSV.
But then we need to group the families together by location, in clumps of 3ish, and I don’t know how to do that. Ideally, some computer program would look at the spreadsheet (or CSV) and do all of this automatically, and output a list of groups, and maybe even do the emailing back to the groups itself. But I feel like this might be one of those problems that’s difficult to fully automate: If necessary, I’d settle for a system that put all of the dots on a map that I could look at, and manually click the map to form the groupings (and then the program would take what I clicked and add the groups to the spreadsheet). If I have to manually put all of the dots on the map, though, or manually add all of the groupings to the spreadsheet after I’ve identified the groups, that seems like it’ll be too much work.
I don’t know how big an area you draw students from, but one thing to do is to let the parents sort things out themselves from a list with addresses. They would know who is close. They may not appreciate being pre-sorted.
The willingness of any given parent to put email & physical address on a list to be shared electronically with up to 700 sets of parents they don’t know is probably kind of low. Not a lot of people any more are willing to given their addresses to random strangers who might be wackos or worse yet, might try selling Amway to the list. They might be willing to given their address info to the school, provided they were assured the school wouldn’t give them to anyone else.
That would force an initial contact system kinda like craigslist (and I assume other similar sites) where each parent communicates only with the school website that forwards the info to the intended recipient.
Only after you’ve got a potential carpool match of e.g. 3 families would they be approached to drop their secret identities and share real contact info.
To be sure, how much my thoughts are a real concern versus a theoretical one probably depends a lot on where in the country the OP is, SES of the families, politics of the local area, etc.
Break the area into zones of whatever size makes sense. Have the parents fill out the database, not with their address, but with the zone they’re in. Then you can send parents names of the other parents in their same zone (as well as adjacent and /or any other logical zones). From there, the parents can work it out themselves.
Unfortunately it’s probably not as simple as just looking at who is close to each as the crow flies either - local geography and road design will come into play. For example, 2 families might be only half a mile apart on a map, but follow different radii on their route to school, and if there is a train track or river in between the two with no convenient crossing point, it wouldn’t make sense for them to carpool.
It gets messy. What I have found what generally works with my hiking group is 2 methods. 1: Set up a car pool park and ride which may not be applicable to your situation 2: Set up a car pool message board where those who want to participate can post directly and set it up with each other. That one works great in many ways, including removing myself from the coordination effort and also allowing participants to work out their details.
GIS Application Engineer here. Sounds like an interesting app. Have you contacted your county GIS department? Many have free data online that you can down load.
Then of course you will need a GIS app to model it. There should be some free ones out there. I’m sorry I really don’t know of any personally, we buy our systems.
I agree with the points above about privacy and letting the parents who are interested work it out amongst themselves.
However, for the mapping question, I have done this before with a simple mapping tool off the internet - there are a ton of them, like this one (I have not used it, but I think it has a free trial). Look for a free version or free trial of one that suits your needs.
If you are comfortable working in the data or already have the data in an Excel file, you can import your data into Google maps for free as well.
Any reason not to use one of the many existing school carpooling apps for this? Then parents can do their own planning, rather than just a nearest-neighbour algorithm. Seems like re-inventing the wheel.
Well, the main reason would be that I didn’t know that they existed (though in retrospect, I shouldn’t be surprised). Got one that you recommend?
That could work, too, I suppose… For the city of Cleveland itself, there are 34 officially-defined neighborhoods that could work. Most of the suburbs are probably small enough for each to be its own zone. Or maybe ZIP codes, since everyone knows their ZIP code (though they might not know what the neighboring ones are). For the case of closely-adjacent zones, it might make sense to have two neighborhood fields, and let people close to a boundary put in both.
I never participated, but our kid’s school used WoZaKids. However, that was a) paid, b) only South African and c) defunct now.
If you’re OK with paid, GoKid is the US one I see most recommended.
But when I looked for something similar but free at the time, I checked out ZipShare. Development hasn’t continued, but it might serve as a good starting point. ETA: or not I don’t see it on GitHub any more. ETA2: Yes, it is just not at the link from devpost.
Geocode the addresses. (I’d use geopy but you can use ArcGIS or whatever tool seems best.)
Divide the map up into zones by neighborhood.
Apply a kernel density estimate to find approximate geographical groupings of students.
Fiddle with KDE parameters and routing optimization routines to find the most efficient groupings.
Publish a map and a list of suggested groupings.
Watch most parents completely ignore the guidance and continue to drop of children individually, or select carpool groups that are completely suboptimal based upon their personal preferences and kids’ friend groups.
Come to the realization that nobody cares about your efforts to improve their lives with mathematics they don’t understand and save them minutes they’re just going to waste starring at some social media app on their phone which has actually optimized their attention economy to consume all of their free time and interest.
Don’t forget to document all of your code and upload to pypi.org for other people to critique and/or completely ignore.