Closed pietervdvn closed 2 years ago
Perhaps the smartphone could be made into a measuring tape, using the rotation sensors and the camera.
…if that works (is accurate enough), that is an awesome idea!
With triangulation:
The distance on the ground is then h * tan (abs(α-β))
, basically.
(user must measure that once with a measuring tape and then commit to always holding the smartphone in the same height when measuring)
Wow, no. That's a terrible UX… Especially as the user very likely won't try this at home as they do not even know they need to do so. And when they are asked to do this in the middle of mapping (on the street) that is too bad. The only way I see is to make a "calibration" menu item, so it is clear to the user this needs to be done. And, when possible, offer some default values… huh… (or just manual inut? or hide the quest?, etc.)
But if you want to do so, just FYI: The app Velocity Calculator does some similar stuff, and also needs to be calibrated.
And you may always show the calculated width and let the user confirm it (maybe also show the image taken – with a red arrow or so to show what it measured), so that if the number is unrealistic the user can catch it and notice they may have mis-calibrated their device.
In Michigan, a true bicycle lane has to be signed and at least 4 feet when the road is 45 mph or less and 5 feet when over 45 mph, otherwise, it is just a shoulder. I found this posting, and am piggybacking off of it, as rather than specifying widths, I was going to ask if it would be possible to include the "shoulder" tag as an option in the cycleway quest, for those "lanes" that are too small or missing their sign and/or lane markings.
I am an avid cyclist, but... are there any routers that consider this data at the moment?
Consider as well riding has many 'modes': commute, commute through a sea of pedestrians and dog walkers, road cycling, mountain bike singletrack, bmx, etc etc. IE on my cyclocross bike I am happy to hit surface=unpaved, road bike... less so.
I dont think either opencyclemap or strava, ridewithgps have cracked the 'different ride' routing barrier yet.
I do agree we should gather the data so they can long term give great cycle routing options, but its a bit "chicken or egg came first" at the mo - almost to the extent I would say lets not prompt unless cycle infrastructure is commonly "too narrow to safely use in two directions"
@CloCkWeRX
[...] are there any routers that consider this data at the moment? [...] I dont think either opencyclemap or strava, ridewithgps have cracked the 'different ride' routing barrier yet.
More or less experimental routing, with several profiles or custom profiles:
For places with established cycleways standards like big cities this quest would create massive amount of repetitive answers.
https://github.com/hollma/abstandrechner does something similar in JS. (see demo with lines, where you can likely also esimate the street width)
I'm still not very fond of quest with that margin of error as I believe that having no data is better than wrong input. Unless we specifically ask for proper measurement or allow only 3 general answers, the results derived from the same place depending on the user may vary too much to ignore it. That dismisses this quest completely to me.
By now, I did clone streetcomplete and wrote my own quest for this and related issues.
To measure, I have bought a laser meter. Furthermore, this is a bit complicated to do (changes in width, ...) so this is indeed not a quest suited for streetcomplete.
It still is viable. However, what needs to be done is https://github.com/westnordost/StreetComplete/issues/698#issuecomment-345820083
Here is an old mockup I did how the interface could look
Really cool, but it can't beat the distance sensor I'm using - which is like 'point to the curb at the other side; press a button; done'
I'm afraid current tech is not accurate enough to measure this from a smartphone
It only needs a precise rotation sensor. At least the rotation sensor of my smartphone is quite precise. In any case, it is to be determined if the precision is really not sufficient. The precision of the rotation sensor of each device can be calculated by looking at how big is the noise.
Basically, your distance sensor functions using a laser distance measurement (very precise) and a rotation sensor as well.
The smartphone method would use the rotation sensor and the pre-entered (eye-)height of the person using it plus the instruction(/assumption) that the user is holding it like a mirror (orthogonal to his view direction).
Interesting...
I've looked at ARCore again and most halfway modern devices are now supported by it. So maybe a better solution would be to ("just"?) make use of ARCore and only enable these quest types on devices that support it.
I am very happy to walk around town with a scale - that is what I am doing anyway. My only problem is that I can t get my data into OSM. I ve found the GUI of the iD Editor horrible to edit the with of bike lanes. It is so confusing that I refrained from touching it. My concerns are rather about the quality of data because the cycle path may not have a consistent width. Should we then ask for the most narrow width?
My concerns are rather about the quality of data because the cycle path may not have a consistent width. Should we then ask for the most narrow width?
In my opinion, no. Median/Mode width is more useful than a path that occasionally drops to 2/3 width when winding around an obstacle. Obviously the best outcome would be splitting the path and tagging segments separately, but I think the "normal" path width is more valuable than its narrowest point, at least for cycling.
Maybe for wheelchair access that's different. I am not sure.
A very unconventional idea: how about measuring how many foot-lengths you need to cross the cycleway? There are tables converting shoe size to foot length. Then add 1.5 cm for the shoe around the foot. So shoe size 41 (26 cm), 3.5 feet (actual feet, not the unit) -> (26 + 1.5) * 3.5 = 96 cm cycleway width.
I know this is not perfectly accurate, but maybe good enough? having the cycleway width +/- 10 cm might be better than no data?
See https://github.com/streetcomplete/StreetComplete/issues/698#issuecomment-654943802
This hasn't been implemented yet not because it is not feasible or not possible, but nobody did this yet.
@AlexandraKapp that's actually a pretty neat idea. Maybe just let the user specify the shoe length when enabling the quest the first time, with a small info text on what exactly to enter here. :)
The user could enter a name for the pair of shoes which is always shown when entering the "shoe lengths", like 2.5 times the "black pair of sneakers". This way the user will catch the error when he wears other shoes.
I've looked at ARCore again and most halfway modern devices are now supported by it. So maybe a better solution would be to ("just"?) make use of ARCore and only enable these quest types on devices that support it.
There's the measure app by Google (com.google.tango.measure). Can we just link it, to open by a button press?
@RubenKelevra Let's not have StreetComplete depend on other apps, especially if they're not also open source software available on f-droid.org (and even then, I'd probably lean toward incorporating code inside SC instead on depending on another app). I'd hate to see SC degrading people who care about privacy to second-class citizens, unable to fully utilize the SC.
As for the it being saved, just a note: shoe size dialog should be shown with each quest (but persisting last entered value is good idea). That is because some devices (esp. tablets) are often used by different people of same household (or even lent to someone else for the walk, now that we have Team mode and are waiting for COVID-19 to die down).
@mnalis Yeah, sorry this was a bit overly specific. I thought more about a link to "AR measure apps" as we have currently for geo-apps. I actually like the "measure" App from Google a lot. It's precise, there are no ads and it just does its job.
Is the AR Core itself open source? If not I think the whole open source vs closed source discussion isn't really working for this usecase. If you need a Closed Source library in your operating system.
Is the AR Core itself open source?
Given Google has renamed it to “Google Play Service for AR” officially, I doubt that… Sad to see how Google puts all good Android things/new features into their proprietary stuff there…
Oh okay then SDK is FLOSS at least, but according to AlternativeTo it's still proprietary.
FLOSS alternatives seem to be rare. Only ARToolKit does exist, which looks quite okay and seems to be maintained and updated though.
Oh okay then SDK is FLOSS at least, but according to AlternativeTo it's still proprietary.
FLOSS alternatives seem to be rare. Only ARToolKit does exist, which looks quite okay and seems to be maintained and updated though.
The description sounds different than what a measuring App would need.
Could we just check if the measure app (or a limited list of others) are installed and if so put a button in the quest to open it? Otherwise the user can use a measuring tape or select 'x shoe length, and specify a shoe length in cm'.
This dialog could be universal. There are other stuff, like sidewalks and street width which could be measured this way.
@RubenKelevra I'd really hate to see StreetComplete promote non-free software in such a way.
Though, I'm impartial to the idea of SC having a quick-key that launches some app of users own choosing (by letting user choosing any app on the system to be invoked when that key is pressed, and not having them choose from a predefined list of software). It would at least be neutral that way, and not actively engaging in reducing user privacy and freedoms (as neither code nor official documentation would be suggesting freedom-reducing software solutions)
@mnalis that's sounds like a good solution if it's not possible to link "ar measure apps" with a neutral link, like "geo apps" currently are linked when pressing long on the map.
Also: Using the feet method are pretty fast, compared to use an app. But that's only available to people without a wheelchair for example.
So I think SC should support both.
There's the measure app by Google (com.google.tango.measure). Can we just link it, to open by a button press?
That is now discontinued: https://www.androidpolice.com/2021/06/08/google-kills-measure-its-ar-based-measurement-taking-app/
Maybe worth considering and developing in the future: using LIDAR, as used in the latest iPhone and iPad, for measuring tasks. I'm not familiar with it but I guess it could potentially be used for many mapping quests. E.g. (precise) mapping of poles, trees, stairs, doors, buildings,...
Of course this would be of very limited use as most users do not use an iPhone for mapping (is street complete even available for ios?), but I'm quite sure the technology will be used by Android devices in the future, too.
@vehrmann there is no iOS version of StreetComplete (at least not yet - see https://github.com/streetcomplete/StreetComplete/issues/1892), but nice idea
but I'm quite sure the technology will be used by Android devices in the future, too.
My Samsung Galaxy S20 has a depth sensor, which it uses to provide AR measurements. When I measured a 90cm tape on the ground it said 88cm, so pretty accurate for measuring foot/cycle path widths.
By now, I did clone streetcomplete and wrote my own quest for this and related issues.
@PanierAvide @pietervdvn any chance that's open source somewhere?
@andrewharvey I think you mentioned wrong user; AddStreetWidth
quest seems to be available at expected place in pietervdvn GitHub fork: https://github.com/streetcomplete/StreetComplete/compare/master...pietervdvn:master
By now, I did clone streetcomplete and wrote my own quest for this and related issues.
@~PanierAvide~ @pietervdvn any chance that's open source somewhere?
Yeah, they are somewhere in my fork, but that clone was very basic.
General
Another factor in the comfort of cyclists is the width of a cycleway/cyclelane. A two meter cycleway is way nicer to drive then a 1m one.
Example question:
What is the width of this cycleway (in meters)?
Affected key(s) (or tags) to be modified: width
Checklist
Checklist for quest suggestions (see guidelines):
This is not an easy question. Users should have a measuring tape on them. Therefore, I propose that this quest be disabled by default. Furthermore, measuring widths of cycleways can hinder other cyclists or can be dangerous. A warning message should be included.
Ideas for implementation
Element selection:
Proposed GUI: a number field.
It should show a few examples of how to measure, e.g.