พระอาทิตย์ขึ้นและข้อมูลทางดาราศาสตร์อื่น ๆ จากบรรทัดคำสั่ง


18

มีโปรแกรมบรรทัดคำสั่งแบบโอเพนซอร์สแบบง่าย ๆ ที่สามารถแสดงเวลาพระอาทิตย์ขึ้นและพระอาทิตย์ตกในวันและสถานที่ที่ให้มาและอาจมีข้อมูลดวงจันทร์และดาวเคราะห์ด้วยหรือไม่?

เรียกดูฐานข้อมูลแพคเกจ Debian และการค้นหาของ Google ฉันไม่พบสิ่งที่เกี่ยวข้อง สิ่งนี้ทำให้ฉันประหลาดใจเมื่อพิจารณาจากจำนวนคนที่มีทั้งดาราศาสตร์และยูนิกซ์ฉันคาดว่าจะเป็นมาตรฐานแบบพฤตินัยsunrise(1)(หรือบางทีsunrise(6))

ฉันไม่สนใจโปรแกรมที่ซับซ้อนมากขึ้นซึ่งบังเอิญทำการคำนวณเช่นแผนที่ท้องฟ้า (celestia, kstars, starplot, stellarium), แผนที่โลก (sunclock, xplanet), ปฏิทิน / agendas (emacs, เตือน), นาฬิกา (glunarclock, wmsun ), almanachs ไทด์ (xtide) บางทีอาจมีaa( ดาราศาสตร์ - ปูม ) แต่ฉันไม่เห็นวิธีที่ง่ายในการถามว่าเวลาดวงอาทิตย์จะขึ้นในวันนี้ที่ลองจิจูดและละติจูดเหล่านี้

ฉันพลาดอะไร?

คำตอบ:


1

สำหรับคนขี้เกียจเพราะฉันมีโปรแกรมง่าย ๆ ที่เรียกว่าhdateซึ่งมีอยู่ในหลายดิสทริบิวชัน ( apt-get install hdateบน Debian / Ubuntu / …):

hdate -s -l N50 -L E14 -z2

เอาท์พุท:

Wednesday, 26 June 2019, 23 Sivan 5779
sunrise: 04:55
sunset: 21:17

ตัวเลือก :

  • -s sunset sunrise
  • -l, -L: ระดับความสูงและละติจูดของปราก (50 ° 05′N 14 ° 25′E)
  • -z zone: SELC = + 2

תודהרבהיהודיםחכמים :-)


แน่นอนว่ามันสะดวกดีและไม่ใช่ที่ที่ฉันคิดว่าจะดู (ไม่มีคำแนะนำเกี่ยวกับความสามารถนี้ในรายละเอียดแพ็คเกจ) ขอขอบคุณ!
Gilles 'หยุดความชั่วร้าย' ใน

ฉันต้องจัดการกับเจ้าหน้าที่ดาราศาสตร์ / โหราศาสตร์โบราณเกี่ยวกับ Star of Bethlem ( betlemskahvezda.klimes.us ) มันซับซ้อนและคลุมเครือจริง ๆ ดังนั้นฉันจึงก่อตั้งโดยไม่ตั้งใจ ... :-)
xerostomus

11

คุณลองsunwaitไหม

http://www.risacher.org/sunwait/

Sunwait เป็นโปรแกรม C ขนาดเล็กสำหรับการคำนวณพระอาทิตย์ขึ้นและพระอาทิตย์ตกเช่นเดียวกับ twilights พลเรือนทะเลและดาราศาสตร์ [ .. ]


6

ฉันลงเอยด้วยการใช้ Perl DateTime::Event::Sunriseเพราะมันมีแนวโน้มที่จะง่ายขึ้นสำหรับฉันที่จะปรับใช้โมดูลจาก CPAN กว่าเพื่อรวบรวมโปรแกรม C

ตัวอย่างการใช้งาน:

use DateTime;
use DateTime::Astro::Sunrise;
$latitude = "+48.857"; $longitude = "+2.351"; 
$sr = DateTime::Astro::Sunrise->new($longitude, $latitude, 0, 3);
$date = DateTime->now; $date->set_time_zone("local");
($rise, $set) = $sr->sunrise($date);
$rise->set_time_zone("local"); $set->set_time_zone("local");
print $rise, " to ", $set, "\n";

ฉันsunriseสคริปต์


3

สำหรับ Python มีโมดูลแอสตาร์ ไม่ใช่บรรทัดคำสั่ง แต่การนำโปรแกรมบรรทัดคำสั่งไปใช้ควรเป็นเรื่องเล็กน้อย (เช่นตัวอย่าง Perl ของคุณ) เอกสารและตัวอย่างที่มีความhttp://astral.readthedocs.io/en/latest/index.html


3

ลองดูสิ Linux Home Automation เว็บไซต์Linux Home Automationและค้นหาหน้า "sunrise" มีโปรแกรมบรรทัดคำสั่งบางโปรแกรมจาก c 2528 ที่เรียบง่าย ฉันมีซอร์สโค้ดสำหรับโปรแกรมที่เกี่ยวข้องจำนวนหนึ่งจากยุคนั้น แต่ฉันไม่พบพวกเขาบนเว็บ

อัปเดต: ฉันเพิ่งพบแหล่งที่มาของผู้อื่นไม่กี่รายรวมถึง sdate ในหน้าตัวบันทึกเหตุการณ์นี้ ค้นหาหน้า "Rise_set"

ปรับปรุง 2017/12/23: ในลินุกซ์ Home Automationโครงการได้ย้าย แต่ดูเหมือนว่าโปรแกรมบรรทัดคำสั่งสำหรับพระอาทิตย์ขึ้นพระอาทิตย์ตกและอื่น ๆ ยังคงมีอยู่ที่นี่และที่นี่ ฉันขีดฆ่าลิงก์ไปยังหน้าต้นฉบับ แต่เก็บไว้เพื่ออ้างอิงและเพิ่มลิงค์ไปยังหน้าใหม่


ลิงค์Linux Home Automation ใช้งานไม่ได้!
nath

1
@nath: อัปเดต ขอบคุณสำหรับการชี้ให้เห็นว่า
garyjohn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.