codeforboston / willtheytow.me

Will they tow me? Check whether you've parked on an emergency snow route.
willtheytow.me
MIT License
12 stars 6 forks source link

Detect if I am not in a city that supports Will They Tow Me #5

Open WheresHJ opened 10 years ago

WheresHJ commented 10 years ago

As a driver, I want to know if my location is not currently supported by Will They Tow Me so that I can get my city / town to support it.


If the user is outside the scope of the data we have in the app, we should display a message and allow them to contact us.

WheresHJ commented 10 years ago

See #8 for more detail and screenshot.

sutt commented 10 years ago

We can "gray out" all non-participating town areas. Here's an MA town dataset in kml (which I can convert to geojson/topojson when needed). https://www.google.com/fusiontables/DataSource?docid=1EXKraEUbg2cloljNos3lYO26BFL2gE3v25HUgaw&pli=1#map:id=3

One thing to note from a UX experience is: I might not yet be parked and asking the question, but looking for "green zone" to move my car to. Then graying out non-participating towns shows me that these roads aren't highlighted as tow zones, nor are they greenlighted either.

If you want to do "point-in-polygon" with the users current location (to determine if they're in a participating area), I use R, but I've seen people do it in python too.

thecristen commented 10 years ago

Great. Then maybe we can add some interactivity to each of the 'greyed out' MA towns that gives a call to action to contact the town and urge them to open up their data.

For the point-in-polygon problem, I imagine we could use something like this: https://github.com/mapbox/leaflet-pip

sutt commented 10 years ago

Good find! I'll give it a try.

One thing to consider is for each town-polygon we want to check, we have to pass that data to the client, and then do pip processing. But just doing is it in/out of the polygon representing all available towns (Boston+Camb+Sommerville+(?)) should be very manageable.

One thing I thought is it should say something funny if you open the app in the middle of the Charles River, just like they used to do in Nintendo games.

calvinmetcalf commented 10 years ago

You guys don't want to do a point in polygon, you want to do an intersect, rbush is the lib to use If there is a guy named Sean there from esri he can help, otherwise I can help on Tuesday On Feb 22, 2014 4:28 PM, "sutt" notifications@github.com wrote:

Good find! I'll give it a try.

One thing to consider is for each town-polygon we want to check, we have to pass that data to the client, and then do pip processing. But just doing is it in/out of the polygon representing all available towns (Boston+Camb+Sommerville+(?)) should be very manageable.

One thing I thought is it should say something funny if you open the app in the middle of the Charles River, just like they used to do in Nintendo games.

Reply to this email directly or view it on GitHubhttps://github.com/codeforboston/willtheytow.me/issues/5#issuecomment-35815398 .

sutt commented 10 years ago

RBush to run on a node server, or in the mobile client?

For the client it cuts down processing but you still have transfer the full dataset.

Server should be efficent but then we have to post location to the server and it opens up back-end work. Calvin, can you advise?

calvinmetcalf commented 10 years ago

You can simplify the data to about 30k (ballpark from memory) for all 351 cities/towns On Feb 22, 2014 6:10 PM, "sutt" notifications@github.com wrote:

RBush to run on a node server, or in the mobile client?

For the client it cuts down processing but you still have transfer the full dataset.

Server should be efficent but then we have to post location to the server and it opens up back-end work. Calvin, can you advise?

Reply to this email directly or view it on GitHubhttps://github.com/codeforboston/willtheytow.me/issues/5#issuecomment-35818244 .

calvinmetcalf commented 10 years ago

(benefit is that it will work off line)