MINOR DÜZENLEME: Aşağıda, JPL'nin Horizons kütüphanesinin açık kaynak olmadığını söylüyorum. Aslında, ve burada kullanılabilir: J2000 doğru yükselmeyi Epoch'tan ne 0 derece doğu enlem http://naif.jpl.nasa.gov/naif/tutorials.htmlpyephem, libnova, stellarium, JPL Horizons ay RA/DEC konusunda katılmıyorum?
2013-01-01 00:00:00 UTC 0 derecede kuzey enlem, deniz seviyesi yükselmesi, ve ayın düşüşü? Ne yazık ki, farklı kütüphaneler biraz farklı cevaplar veriyorlar. dereceye Dönüştürülen, özetlenmiş sonuçları (RA ilk):
Stellarium: 141.9408333000, 9.8899166666 [precision: .0004166640, .0000277777]
Pyephem: 142.1278749990, 9.8274722221 [precision .0000416655, .0000277777]
Libnova: 141.320712606865, 9.76909442356909 [precision unknown]
Horizons: 141.9455833320, 9.8878888888 [precision: .0000416655, .0000277777]
Sorum: neden? Notlar:
Ben bu farklılıkların küçük farkındayım ama:
Ben güneş/ay yükselişi/set hesaplamak için pyephem ve libnova kullanın ve bu kez de pozisyona çok hassas olabilir daha yüksek enlemler (örn. gece yarısı güneşi).
JPL'nin Ufuklar kütüphanesinin açık kaynak olmamasını, , ancak diğer üçünü anlıyorum. Birisi bu kütüphanelerdeki farklılıklarını çalıştırmamalı ve bunları birleştirmemeli mi? Bu benim ana şikayetim. Stellarium/pyephem/libnova kütüphanesi yazarlarının bu hesaplamaları nasıl yapabilecekleri konusunda temel bir fark var mı? sadece kodlarını birleştirmek için mi ihtiyaçları var? Ayrıca hesaplamalar farklı olan başka nedenler olabilir gerçekleştirmek ve bu olası hataları giderildikten herhangi bir yardım takdir ediyorum
:
- Pyephem ve Libnova çağı ait kullanıyor olabilir
J2000
yerine tarih Bu gözlemcinin konumu RA/DEC (paralaks etkisi) etkileyebilecek kadar yakındır.
Bu kütüphanelerin orijinal C uygulamalarını değil, Perl'in Astro :: Nova ve Python's pyephem kullanıyorum. Ancak, bu farkları Perl/Python kullanarak neden olursa, bu benim düşüncemde önemlidir.
- Pyephem ve Libnova çağı ait kullanıyor olabilir
My kodu (ham sonuçlar/ağırlık):
- Birinci, Perl ve Astro :: Nova:
#!/bin/perl # RA/DEC of moon at 0N 0E at 0000 UTC 01 Jan 2013 use Astro::Nova; # 1356998400 == 01 Jan 2013 0000 UTC $jd = Astro::Nova::get_julian_from_timet(1356998400); $coords = Astro::Nova::get_lunar_equ_coords($jd); print join(",",($coords->get_ra(), $coords->get_dec())),"\n"; RESULT: 141.320712606865,9.76909442356909
- Second, Python and pyephem:
#!/usr/local/bin/python # RA/DEC of moon at 0N 0E at 0000 UTC 01 Jan 2013 import ephem; e = ephem.Observer(); e.date = '2013/01/01 00:00:00'; moon = ephem.Moon(); moon.compute(e); print moon.ra, moon.dec RESULT: 9:28:30.69 9:49:38.9
- The JPL Horizons result (snapshot):
[JPL Horizons (gerçekten, ama taklit) POST veri gerektirir, bu yüzden bir URL gönderemedik].
- Onları (tembel) bağlı değilse, ama benim kendi sorulardan bazıları dahil olmak üzere birçok cevapsız etkin bir bu soruyu (hassas astronomik kütüphanelerin tutarsızlık) azaltabilir stackoverflow sorular, olduğuna inanıyorum
. Ben Stellarium ne yaptığını hiçbir fikri https://github.com/barrycarter/bcapps/tree/master/ASTRO
Bu muhteşem, teşekkürler! Söylediğin her şeyi kontrol etmedim ama birazdan – barrycarter