¿Existe una fórmula simple pero precisa para determinar en qué parte de la Tierra el Sol y la Luna están directamente sobre su cabeza?

Estoy tratando de mejorar un sitio que muestra la región de la Tierra actualmente bajo la luz del día, y necesito una fórmula que, dada la hora actual, indique dónde (latitud/longitud) se encuentran el sol y la luna, con una precisión de 1 milla. ¿Alguien puede pensar en uno?

Idealmente, espero obtener algo que JavaScript pueda calcular a una "velocidad razonable" sin recursividad, bucles o bibliotecas adicionales.

He intentado varias cosas (por ejemplo, la serie de Fourier en RA/DEC del Sol/Luna), pero nada parece lo suficientemente preciso.

Nota: Me doy cuenta de que mis cálculos para la salida/puesta del sol/luna ignoran la refracción y el paralaje lunar: por ahora, me estoy enfocando en encontrar las posiciones superiores. Me doy cuenta de que puedo extraer datos de un programa CGI que no sea JavaScript (y lo he intentado), pero parece un acceso innecesario a la red.

EDITAR: Gracias, Dustin y todos.

En realidad, conozco http://ssd.jpl.nasa.gov/?horizons e incluso escribí programas para descargar y analizar sus datos ( https://github.com/barrycarter/bcapps/blob/master/bc- email-horizons.pl y https://github.com/barrycarter/bcapps/blob/master/bc-parse-horizons.pl ) con la esperanza de encontrar fórmulas simples ( https://github.com/barrycarter/bcapps/ blob/master/bc-fourier-cont.m y otros), pero no llegó a ninguna parte.

Me doy cuenta de que podría codificar los datos en mi JavaScript, pero eso haría que el script fuera innecesariamente grande.

Actualmente, reconstruyo el script cada minuto ( https://github.com/barrycarter/bcapps/blob/master/bc-sun-always-shines.pl ) usando datos JPL interpolados (los archivos sun/moonfakex/y.txt en https://github.com/barrycarter/bcapps/tree/master/data ), pero esto parece increíblemente complicado.

Esta puede ser una pregunta intrínsecamente difícil y/o sin sentido: para obtener una precisión de 1 milla, debe calcular la posición dentro de los 52 segundos del arco, que es considerablemente más pequeño que el ancho de 30 minutos (1800 segundos) del sol y la luna. .

El objetivo final es permitir que las personas se acerquen a su ciudad en los mapas de Google y vean la puesta de sol "barrer" sobre su ciudad (es decir, predecir que el sol se está poniendo sobre cierta parte de la ciudad y hacer que la gente en esa parte de la ciudad lo confirme ), pero dada la refracción y el paralaje, esto puede ser imposible.

Puede ser más fácil recuperar los datos de una base de datos en línea que calcularlos.
El Jet Propulsion Lab de Cal Tech tiene una herramienta de efemérides en línea. Creo que puedes configurar un trabajo cron para conectarte. JPL Cal Tech Acabo de verificarlo y se llama el servicio telnet. Probablemente pueda configurar algo a través de una máquina Linux. Si quieres, puedo hacer de esto una respuesta.

Respuestas (1)

Nadie más ha respondido, así que lo haré, pero voy a ignorar los detalles y hablaré con la geometría. La latitud del punto subsolar es simplemente la declinación del Sol. Deberías poder convencerte fácilmente de eso. La longitud es un poco más desafiante. Sabes que cuando el Sol está en el cenit, también debe estar en el meridiano celeste local. Eso significa que su ángulo horario local (LHA) debe ser cero. Sabes que LHA es la diferencia entre la hora sideral local (LST) y la ascensión recta (RA) del Sol. Para que LHA sea cero, debe tener LHA = RA. Si conoce LHA y la hora sidérea en Greenwich (GST), la diferencia entre las dos es la longitud requerida. Descuidé la diferencia entre el tiempo sideral medio y aparente y las coordenadas medias, aparentes y topocéntricas del Sol. Puede dar cuenta de estos.

Se puede aplicar un proceso similar a la Luna para encontrar el punto sublunar.

Gracias, @JoeH. La dificultad que tengo es encontrar una fórmula simple para la RA y DEC del sol (y especialmente de la luna) que sea fácil de calcular y lo suficientemente precisa como para encontrar el punto subsolar/sublunar dentro de 1 milla. Hay varias formas de estimar esto, pero ninguna es súper precisa.
@JoeH, ¡Sí! ¡El tiene razón! Este es el método que pensé cuando vi la pregunta por primera vez, pero no es lo suficientemente preciso en el mundo real. El movimiento celeste es mucho más complejo de lo que lo hacen en el papel.