Mi primer intento produce puntos a menudo cerca de las regiones polares:
gps = { lat: (Math.random() * (90 - -90) + -90) * Math.PI / 180, lon: (Math.random() * (180 - -180) + -180) * Math.PI / 180, alt: 0 };(sí, estoy convirtiendo a radianes) Rápidamente me di cuenta de que es una distribución desigual. De acuerdo con este sitio https://dosull.github.io/posts/2021-10-20-random-even-points-on-the-globe/ necesitaré usar algún tipo de "acos" (es ese arccos ?) funcionan, pero ni siquiera sé qué idioma es ese. El comentario de whuber en https://gis.stackexchange.com/questions/236321/generating-random-lat-long-coordinates menciona el coseno , pero no estoy seguro de cuál sería exactamente la fórmula.
lat: Math.acos(Math.random() * 2 - 1) - Math.PI / 2,