计算地球轨道位置和旋转

发布于 2024-10-05 03:51:05 字数 136 浏览 10 评论 0原文

我想计算给定日期和时间的地球位置(相对于太阳)和轴旋转。可以假设太阳静止在 0,0,0 坐标处。非常小的偏转,例如由于月球引力引起的偏转,也可以忽略不计。任何精确度在一个度左右的范围内就足够了。

是否有任何库/源/数据可以帮助我实现这一目标?

I want to compute the Earth position (relative to the sun) and axis rotations for a given date and time. It's ok to assume the Sun is stationary at the 0,0,0 coordinate. Very minor deflections, due to the Moons gravitational pull for example, can also be ignored. Anything accurate within a degree or so is good enough.

Are there any libraries/source/data out there that will help me accomplish this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

淡紫姑娘! 2024-10-12 03:51:06

aa-56 代码可以从此处下载,其中包含可能会满足您需求的太阳星历表。对于高精度工作,您需要更精确的东西,例如 JPL 的 DE421,但是涉及到一些不方便的大系数表,如果您对 1 度的精度感到满意,那么它可能是极端的矫枉过正。

给定时间的地球自转由格林威治恒星时给出。
Jean Meeus 的“天文算法”(对于这些类型来说是一个很好的参考
计算!)给出了 theta0 的公式(累积旋转角度,以度为单位)
就儒略日期 JD 而言:

T = (JD - 2451545.0 ) / 36525

theta0 = 280.46061837 + 360.98564736629*(JD-2451545.0) + 
           0.000387933*T*T - T*T*T/38710000.0

theta0 = 0 度 mod 360 表示格林威治子午线与天球坐标中的赤经 0:00 对齐的时刻。

The aa-56 code, which can be downloaded from here, includes a solar ephemeris that will probably meet your needs. For high-precision work you'd want something more accurate like JPL's DE421, but there are some inconveniently large tables of coefficients involved, and it's probably extreme overkill if you're happy with 1 degree accuracy.

The Earth's rotation at a given time is given by the Greenwich sidereal time.
Jean Meeus' "Astronomical Algorithms" (a good reference to have for these sorts
of calculations!) gives a formula for theta0 (cumulative rotation angle in degrees)
in terms of the Julian date JD:

T = (JD - 2451545.0 ) / 36525

theta0 = 280.46061837 + 360.98564736629*(JD-2451545.0) + 
           0.000387933*T*T - T*T*T/38710000.0

theta0 = 0 degrees mod 360 represents the instant when the Greenwich meridian is aligned with right ascension 0:00 in celestial coordinates.

七颜 2024-10-12 03:51:06

是的。您需要的是 Ephemeris 包。

JPL 有一个在线星历服务,可以为您进行计算,所以如果您在网络上-有能力的你可以做到这一点。

我也找到了一个免费的 Ephermeris 包,但看起来它只是在 JPL 网站上为您提供的。不过,那里有一个链接可以下载 JPL 的数据库并让它发挥作用。因此,如果您想离线工作并且不介意时不时地从 JPL 手动更新数据库,这可能是一个选择。

Yes. What you need is an Ephemeris package.

The JPL has an online Ephemeris service that will do the computations for you, so if you are web-capable you can hit that up.

I found a free Ephermeris package too, but it looks like it just hits the JPL site for you. However, there's a link there to download the JPL's database and have it work off of that. So if you want to work offline and don't mind updating your database from the JPL manually every now and then, that might be an option.

浅暮の光 2024-10-12 03:51:06

在 Python 中,使用 ephem 库:

>>> import ephem
>>> sun = ephem.Sun()
>>> sun.compute(ephem.now())
>>> sun.hlong, sun.hlat, sun.earth_distance
(69:41:32.6, 0:00:00.2, 0.98602390289306641)

ephem 不会不能提供地球作为一个物体的方便表示,但 sun.hlongsun.hlat 给出了地球的日心经度和纬度。这可以更好地记录下来。

对于地球自转,也许您可​​以在这里说出您正在寻找的值。 (通常我们使用一天中的时间,但我认为如何掌握它通常很清楚!)

In Python, using the ephem library:

>>> import ephem
>>> sun = ephem.Sun()
>>> sun.compute(ephem.now())
>>> sun.hlong, sun.hlat, sun.earth_distance
(69:41:32.6, 0:00:00.2, 0.98602390289306641)

ephem doesn't provide a convenient representation of the Earth as a body, but sun.hlong and sun.hlat give the heliocentric longitude and latitude of the Earth. This could be better documented.

For Earth rotation, maybe you can say what value you're looking for here. (Normally we use the time of day, but I think it's generally clear how to get hold of that!)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文