Hanscong 发表于 2020-8-24 00:30

分享一个自编的辅助天文观测的软件——深空天体导航

动机&思路:      本人是一个学生党,也是一个天文爱好者。在观测的过程中,经常会有“今天有什么天体好看呢?”的困惑。Stellarium当然可以看到现在的夜空,但是却比较难快速找出其中的深空天体,特别是适合观测的深空天体,结果最终还是去看了那些熟悉的M31M42M45之类。因此,从2019年开始着手自己写一款实现一键获取可观测深空天体的软件,自己用,也分享给同好们。(放在文章的最后)
      本人非计算机专业,学过一些python,但技术不高,纯属一边学一边写。后来逐渐摸索,确定了利用tkinter编写ui,再用pyinstaller转换为exe文件,这样就可以方便地在任意一台电脑上使用,这是基本思路了。(虽然后来逐渐发现tkinter的局限性,但是已经开始就没法回头了。。)
      因为学业繁忙,中间断断续续地写了很久,主要靠着寒暑假在写,就这样到现在才基本实现了当初设想的功能。其实明眼人很容易看出来这也只是一个阶段性成果,还有很多地方可以改进,但是我还是决定先发出来。一是让各位同好可以先用上,二是让大家提提建议,避免闭门造车。不管是出于功能上建议,还是程序本身的建议,我都十分欢迎!


软件介绍:

      第一步:时间自动获取,地点需要手动输入(也许以后可以做一个定位系统,实现自动化),同好可以自己添加位置信息。
      第二步:有一些筛选和排序的选项,如星等,地平高度角,星体目录。高级里还可筛选星体类型,大小,表面亮度等。(星座还没做出来,不过似乎意义不大)

      第三步:生成!生成一张报表,包含了所有符合条件的可观测的深空天体,还包括了高度角等信息,可翻页。时间可以是当前时间,也可以在右侧设定的某个时间,后者可以用来制定观测/拍摄计划。


实现过程:
      要解决的主要问题无非就是:确定了时间和观测者的地理位置以及天体的位置,求出天体的方位角和高度角。一开始是参照http://lifeng.lamost.org/kepu/basic/basic2.htm这篇文章写的公式,后来从https://zhuanlan.zhihu.com/p/97325585这篇文章里发现python的ephrm库竟然就可以实现这个功能,就当造了个轮子(泪目)。
         时间和观测者的位置只需输入即可,天体的位置一开始找了梅西耶星表,后来找到了SAC俱乐部的数据库,包含了NGC,Mel,IC等数十个星表,于是拿来扩充了一下软件的星体数据,这些星表对于业余爱好者来说是足够了。数据详见http://www.saguaroastro.org/sac-downloads/。
         其余的就是一些操作和显示上的东西,虽然难度不高,却非常繁琐,耗费了不少时间。


进一步改进:
      下面提出我所设想的改进空间,但是个人能力有限,各位的意见建议更为宝贵!
      1、功能上的改进,比如增加“浏览星体的更多信息”,给出别名,表面亮度等信息。也可以给出天体照片,不过这无疑会增加软件大小,但是可以让使用者直观看到天体样貌。还有一点,比较模糊的设想,就是把已经看过的/拍过的在这个软件里作出标记,可以为某一次观测/拍摄留下记录,类似这样的功能。
      2、界面的改进。虽说我已经加了一些着色,但是还是透露出一股“原始”的气息(捂脸)。假如要让界面更好看,恐怕只能改用Pyqt5了,这应该是一项大工程。换用别的语言写就更不用提了。
      3、性能优化。只要你的筛选条件不要太宽松,基本能保证1秒内出结果。当然代码上还是有优化的空间,不过这点暂时应该不是主要方向。
      4、兼容性优化。说实话,现在这个软件只在我的电脑上运行过,在别的电脑上的结果还是个未知数。一个已经预见到的问题就是屏幕分辨率不同导致的内容显示问题,分辨率小导致显示不全,分辨率过高则会导致内容过小(大概)。不过这个我似乎暂时无法解决,不知有没有同好提出建议。现在软件的左上角有个全屏的选项,大概能够保证1280*720分辨率及以上的屏幕能够显示全。
      5、还是那句话,同好的建议更为重要!欢迎大家使用并留言!


      下面放出软件及配套数据,解压后打开exe文件即可使用。进入可能需要等待几秒钟。





      个人能力有限,难免出现bug,欢迎欢迎所有人在下面留言,提出改进意见。
         PS:假如有同好感兴趣的话,可以私戳我要源码。牧夫ID:Hanscong,Email:543295761@qq.com
      
      愿所有天文爱好者都可以自由自在地仰望星空!

蝶梦 发表于 2020-8-24 00:51

这功能,可以写一个Stellarium的插件。

puppis 发表于 2020-8-24 01:10

赞一个。

文玩核桃 发表于 2020-8-24 01:23

试了一下,不错,支持鼓励!

bee8888 发表于 2020-8-24 04:40

技术不懂,就是来支持楼主的,感谢楼主的无私奉献

Hanscong 发表于 2020-8-24 09:22

蝶梦 发表于 2020-8-24 00:51
这功能,可以写一个Stellarium的插件。

感谢建议~

捕星人 发表于 2020-8-24 09:40

造福星友 赞

ycgsxdl 发表于 2020-8-24 11:03

对于这么无私造福星友的必须给个大大的赞!

Diablo00 发表于 2020-8-24 11:11

Diablo00 发表于 2020-8-24 11:22

能否增加天体的中天高度和过中天的时间,对摄影目标的选择会很有帮助

Hanscong 发表于 2020-8-24 11:50

Diablo00 发表于 2020-8-24 11:22
能否增加天体的中天高度和过中天的时间,对摄影目标的选择会很有帮助

感谢建议~会考虑做这个功能

msrogcbgsw 发表于 2020-8-24 15:09

建议楼主把修复了之前说的bug后的版本再发上来::loveliness::

snzsy 发表于 2020-8-24 16:34

几个建议:
功能上和很多软件的what's up tonight有很大重合,建议做出差异化,比如加个预览图?
外观上,不建议Qt,上手不算容易,要好看更不容易。建议往web发展,模板、教程大把的有。把现有部分做成服务,用web做前端。
分发,走web的另一个好处是你可以做成网站/小程序,随时用。
开发,开源一下?

Hanscong 发表于 2020-8-24 18:02

msrogcbgsw 发表于 2020-8-24 15:09
建议楼主把修复了之前说的bug后的版本再发上来

感谢msrogcbgsw汇报的添加地区无法使用的bug,更新的软件如下





Hanscong 发表于 2020-8-24 18:10

snzsy 发表于 2020-8-24 16:34
几个建议:
功能上和很多软件的what's up tonight有很大重合,建议做出差异化,比如加个预览图?
外观上, ...

非常感谢你的建议,私聊

2949749043 发表于 2020-8-24 18:53

nb,支持

Hanscong 发表于 2020-8-24 19:16

snzsy 发表于 2020-8-24 16:34
几个建议:
功能上和很多软件的what's up tonight有很大重合,建议做出差异化,比如加个预览图?
外观上, ...

Web和小程序我真的是一窍不通,本人不一定有精力去开发,不过思路是好的。
移动端我发现pydroid3可以运行py程序,就是没有tk的ui了

栗子酱鸡666 发表于 2020-8-24 23:35

不明觉厉,先顶

宋金德垚 发表于 2020-8-26 18:03

介意分享一下源码?

冰清竹 发表于 2020-8-26 19:44

我这边打不开...提示数据错误......
页: [1] 2
查看完整版本: 分享一个自编的辅助天文观测的软件——深空天体导航