Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Determine if user is indoor or outdoor?

Is there any way to determine if a user is indoor or outdoor? I'm not interested in indoor mapping, just if the user is indoor or not without asking the user.

If the user is using Wifi then maybe the user is indoor or if the user is standing on the road for example.

like image 648
willi Avatar asked Dec 02 '12 13:12

willi


4 Answers

There is no way you can know 100% sure. Generally, the GPS signal would be weaker indoor, but not always. Also, the fact that the user coordinates are on a road tells you nothing, he could be indoor and the signal strength could be week and the coordinates flawed. However, depending on how accurate you want your algorithm to be, you could rely on the signal strength ( and maybe position ) to give you something.

If you want to take it to the next level, although it could prove to be a waste of time, given the fact that the user usually has movement patterns (home to work, work to shop, Sunday in the park, etc) you could try the above, plus several other parameters like a pedometer (moving, walking, running), speed (high speed, no movement from the pedometer, means he's in a car), noise, brightness etc. and run a logistic regression algorithm maybe asking for user feedback as training set. However, as you can see, this would become pretty large, and definitely not worth it if your app is small.

like image 63
Rad'Val Avatar answered Nov 05 '22 08:11

Rad'Val


No, there is no API to check for that. Looking at things like Wifi won't help you either, because it's possible that the user uses a mobile hotspot and is currently standing on a field. I'm afraid that you have to ask the user wether they are indoors or outdoors, however, are you sure that you are solving the right problem here?

like image 23
JustSid Avatar answered Nov 05 '22 09:11

JustSid


You wouldn't be able to definitively state whether or not the user is inside or outside (and WIFI vs. Cellular wouldn't help... you can use WIFI when outside and cellular when inside). I think the closest you could get (and even this has too many variances to be trustworthy) is to note changes in GPS signal strength (horizontalAccuracy, verticalAccuracy, etc.).

Bottom line is that there isn't a programmatic way to check this.

like image 1
J Shapiro Avatar answered Nov 05 '22 08:11

J Shapiro


It seems that any single sensor based approach does not solve the problem. A research work tackled your problem with combining all the mentioned techniques in this thread.

Pengfei Zhou et al.[1], proposed IODetector('Indoor/Outdoor Detector'), a sensing service that detects indoor/outdoor environment. It uses various sensors including accelerometer, proximity sensor, light sensor, magnetometer. It also observes celltower signals. According to their experiment, detection performance of the system(precision/recall) is about 85%.

1 Pengfei Zhou, Yuanqing Zheng, Zhenjiang Li, Mo Li, and Guobin Shen. 2012. IODetector: a generic service for indoor outdoor detection. In Proceedings of the 10th ACM Conference on Embedded Network Sensor Systems (SenSys '12), 113-126.8

like image 1
Wonjung Kim Avatar answered Nov 05 '22 08:11

Wonjung Kim