Soy estudiante universitario y tengo experiencia de nivel principiante en desarrollo web (NodeJS, MongoDB) Estoy desarrollando un sitio web para la asistencia de los estudiantes si un estudiante está presente en el aula en un tiempo determinado y completa la asistencia presionando un botón y luego su la asistencia debe marcarse como presente.
Lo estoy haciendo accediendo a la ubicación del usuario...
Estoy usando la API de geolocalización para acceder a la ubicación del usuario: https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation
devuelve un valor como:
Latitud: 20.7819165
Longitud: 22.5789159
pero muchas veces da diferentes valores para el mismo punto de ubicación (variando los últimos cuatro dígitos) y no puedo encontrar ningún criterio para diferenciar al usuario que está dentro del aula y fuera del aula.
Casi el mismo valor para ambos puntos en la imagen de arriba
Creo que necesito aplicar algunas matemáticas, pero no sé qué debo hacer exactamente.
Por favor dar alguna sugerencia....
Es posible o no ?
¿Hay alguna otra forma (aparte del uso de la ubicación) para hacerlo?
Localmente, la superficie de la Tierra es plana. Suponiendo que está lo suficientemente lejos de los postes y el salón de clases es pequeño, la ecuación para las líneas rectas es aproximadamente
a*longitude + b*latitude + c = 0entonces, si puede encontrar (a, b, c) que describen las paredes del salón de clases, puede derivar 4 verificaciones
a_i*longitude + b_i*latitude + c_i >= 0? i=1,2,3,4que tienen que cumplirse para que una persona esté dentro del rectángulo.
Por supuesto, también asumimos que obtiene la ubicación de la persona y del salón de clases con suficiente precisión.