Список форумов Форум @ BelAstro.Net Форум @ BelAstro.Net
Форум белорусской любительской астрономической сети
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   Администрация форумаАдминистрация форума   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Рыба растет всего быстрее между той минутой, когда ее поймали, и той, когда об этом рассказывают.

Планетарий PyStars

зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегистрированные пользователи: Нет
На страницу 1, 2, 3, 4  След.
Начать новую тему   Ответить на тему    Список форумов Форум @ BelAstro.Net -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 14:27    Заголовок сообщения: Планетарий PyStars Ответить с цитатой

Здравствуйте.
Написал небольшой планетарий на языке Python. По образованию я не программист, программу стал писать просто из любопытства (что за питон такой?...) Потом втянулся, и получилось то, что получилось.
В общем, программа тут:
http://www.ekosterev.belastro.net/pystars.htm
[/url]

_________________
http://ekosterev.belastro.net/
Поблагодарили(2): Alexander, Lupus
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Май 04, 2018 14:34    Заголовок сообщения: Ответить с цитатой

Что-то оно под линуксом не особо хочет запускаться. Сначала было так:
Код:
/usr/bin/python3 ./PyStars.py
==================================PyStars V.1.0================================
author of the program: Evgeniy Kosterev, Belarus, Gomel
project home page: http://www.ekosterev.belastro.net/pystars.htm
===============================================================================
Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 36, in <module>
    import _tkinter
ImportError: No module named '_tkinter'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./PyStars.py", line 10, in <module>
    from tkinter import *
  File "/usr/lib/python3.5/tkinter/__init__.py", line 38, in <module>
    raise ImportError(str(msg) + ', please install the python3-tk package')
ImportError: No module named '_tkinter', please install the python3-tk package

OK, поставил python3-tk. Теперь так:
Код:
/usr/bin/python3 ./PyStars.py
==================================PyStars V.1.0================================
author of the program: Evgeniy Kosterev, Belarus, Gomel
project home page: http://www.ekosterev.belastro.net/pystars.htm
===============================================================================
program.ini ... OK

constlabel.dat ... OK
data source: constlabel.cla from Cartes du Ciel
https://www.ap-i.net/skychart/ru/start

asteroids.txt ... OK
data source: Minor Planet Center
https://minorplanetcenter.net/iau/Ephemerides/Bright/2017/Soft01Bright.txt

comets.txt ... OK
data source: Minor Planet Center
https://minorplanetcenter.net/iau/Ephemerides/Comets/Soft01Cmt.txt

catalog.dat ... OK
data source: The Bright Star Catalogue
http://tdc-www.harvard.edu/catalogs/bsc5.html

hipparcos.dat ... OK
data source: VizieR query
http://vizier.u-strasbg.fr/viz-bin/VizieR

dso1.dat ... OK
data source: Deepsky level 1.hnd from HNSKY
http://www.hnsky.org/

dso2.dat ... OK
data source: Deepsky level 2.hnd from HNSKY
http://www.hnsky.org/

ConstLCoord.dat ... OK
data source: DefaultConstL.cln from Cartes du Ciel
https://www.ap-i.net/skychart/ru/start

constb.dat ... OK
data source: constb.cby from Cartes du Ciel
https://www.ap-i.net/skychart/ru/start
===============================================================================
Traceback (most recent call last):
  File "./PyStars.py", line 3602, in <module>
    root.iconbitmap("PyStars.ico")
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1719, in wm_iconbitmap
    return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "PyStars.ico" not defined

Файл с иконкой на месте:
Код:
-rw-rw-r-- 1 alexandr alexandr 1150 Apr 19 14:45 PyStars.ico

_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 14:44    Заголовок сообщения: Ответить с цитатой

Странно.
У меня линукса нигде нет, чтобы попробовать.
Можно 3602 строчку стереть, может быть заработает без иконки.

_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Май 04, 2018 14:52    Заголовок сообщения: Ответить с цитатой

Эх, опять сисадмин прграммы ковыряет Smile. Заработало. Очень интересное приложение. Можно как-то локально подгружать данные по объектам? Сейчас, насколько я понял, программа их из интернета берет.
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 14:55    Заголовок сообщения: Ответить с цитатой

Ура! Вы первый, кто запустил это под линуксом.
Все в локальных файлах пока, ничего из интернета не берется.

_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 14:57    Заголовок сообщения: Ответить с цитатой

Это при старте программы я ссылки дал на источники, откуда брал все данные.
_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Май 04, 2018 15:03    Заголовок сообщения: Ответить с цитатой

А, ясно. Тогда вообще отлично. Нашел небольшую опечатку: в выводе в консоль данных по объекту яркость обозначена словом BRIGH, букву T в конце потеряли. В коде это строки:
Код:
if dso1db[i].br!="": strbr=" BRIGH="+dso1db[i].br
if dso2db[i].br!="": strbr=" BRIGH="+dso2db[i].br

_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 15:09    Заголовок сообщения: Ответить с цитатой

Это я так сокращал, чтобы букв меньше было, не всегда удачно может. Потом поправлю, спасибо.
_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 15:12    Заголовок сообщения: Ответить с цитатой

Хорошо бы еще знать, как правильно ставить на окно иконку, чтобы работало под линуксом тоже.
_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Май 04, 2018 15:15    Заголовок сообщения: Ответить с цитатой

Из нерабочего - кнопки "d" и "i" вместо открытия браузера выбрасывают ошибки:
Код:
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1553, in __call__
    return self.func(*args)
  File "./PyStars.py", line 3407, in startdssurl
    os.startfile("DSS.url")
AttributeError: module 'os' has no attribute 'startfile'

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1553, in __call__
    return self.func(*args)
  File "./PyStars.py", line 3433, in startisearchurl
    os.startfile("ISEARCH.url")
AttributeError: module 'os' has no attribute 'startfile'

_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 15:24    Заголовок сообщения: Ответить с цитатой

Почитаю еще и попробую как-нибудь по-другому запускать файлы и ставить иконку, чтобы на всех ОС работало.
_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Май 04, 2018 15:26    Заголовок сообщения: Ответить с цитатой

Нашел вот здесь решение для мультиплатформенной работы: https://stackoverflow.com/questions/17317219/is-there-an-pla...valent-of-os-startfile/17317468#17317468
_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Май 04, 2018 15:34    Заголовок сообщения: Ответить с цитатой

Елки-палки, и здесь нельзя сообщения редактировать. Подсунул вместо виндового вызова такой код для DSS:
Код:
def startdssurl(*args):
    subprocess.call(["xdg-open", "http://archive.stsci.edu/cgi-bin/dss_search?v=all&r=8.73317%2000&d=18.04844&e=J2000&h=30&w=30&f=gif&c=none&fov=NONE&v3="])


При этом должен быть импортирован модуль subprocess.call:
Код:
import subprocess, sys


Теперь открывает фото в браузере.

_________________
Celestron C8, GSO 150/600
Поблагодарили(1): Женик
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 15:37    Заголовок сообщения: Ответить с цитатой

еще так можно:
os.system("ISEARCH.url")

под Windows работает, может будет и под линуксом, потому что нашел это в интернете в таком виде:
import os
os.system('/usr/bin/firefox')

_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 15:50    Заголовок сообщения: Ответить с цитатой

Alexander писал(а):
Елки-палки, и здесь нельзя сообщения редактировать. Подсунул вместо виндового вызова такой код для DSS:
Код:
def startdssurl(*args):
    subprocess.call(["xdg-open", "http://archive.stsci.edu/cgi-bin/dss_search?v=all&r=8.73317%2000&d=18.04844&e=J2000&h=30&w=30&f=gif&c=none&fov=NONE&v3="])


При этом должен быть импортирован модуль subprocess.call:
Код:
import subprocess, sys


Теперь открывает фото в браузере.


под Виндовс не в таком виде работает, надо ковыряться.

_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Пт Май 04, 2018 15:56    Заголовок сообщения: Ответить с цитатой

Я под линуксом просто проверил, как оно вообще работает. А так надо условие добавлять на проверку ОС, в ссылке, что я дал как раз идет проверка на винду, макось и линукс.
Пока для себя подпер костылем вот так:
Код:
#=====================DSS start
def startdssurl(*args):
    os.system("./url.sh")

В скрипте url.sh такой жах:
Код:
#/bin/bash
URL=`cat ./DSS.url | grep URL | awk -F 'URL=' '{print $2}'`
firefox $URL

В рабочий код такой ужас, конечно, добавлять очень нежелательно Smile

_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Женик
ЛА

Зарегистрирован: 12.03.2010

Сообщения: 769
Благодарности: 382

Откуда: Гомель

Добавлено: Пт Май 04, 2018 19:26    Заголовок сообщения: Ответить с цитатой

Открывание файлов я сделал так (немного переделал то, что было в ссылке выше чтобы самому понятней было и без subprocess'а):

def startdssurl(*args):
____if sys.platform == "win32" or sys.platform == "win64":
________os.startfile("DSS.url")
____else:
________if sys.platform == "darwin": opener ="open"
________else: opener ="xdg-open"
________os.system(opener+" "+"DSS.url")

По идее должно работать

Иконку сделал по-другому:
вместо
root.iconbitmap("PyStars.ico")
сделал
imgicon = PhotoImage(file="PyStars.png")
root.tk.call("wm", "iconphoto", root._w, imgicon)

Вроде должно везде заработать. Но я не уверен.
Код:

_________________
http://ekosterev.belastro.net/
Вернуться к началу
Женик сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Yahor
ЛА

Зарегистрирован: 21.04.2012

Сообщения: 426
Благодарности: 14



Добавлено: Сб Май 05, 2018 16:43    Заголовок сообщения: Ответить с цитатой

Ці плануеце рухацца ў бок open source ?
_________________
SkyWatcher 200P/1000 EQ5
SkyWatcher 13065EQ2 + EQ3-2


http://www.di.fm/spacemusic =)
[img:bad5eb428c]http://baf.belastro.net/static/going_baf.jpg[/img:bad5eb428c]
[img:99ddefd324]http://baf.belastro.net/static/going_baf.jpg[/img:99ddefd324]
[img:65883e376f]http://baf.belastro.net/static/going_baf.jpg[/img:65883e376f]
[img:79f9a66f85]http://baf.belastro.net/static/going_baf.jpg[/img:79f9a66f85]
Вернуться к началу
Yahor сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
KAE
ЛА

Зарегистрирован: 21.07.2017

Сообщения: 189
Благодарности: 53

Откуда: Дзержинск

Добавлено: Сб Май 05, 2018 17:05    Заголовок сообщения: Ответить с цитатой

Цитата:
Ці плануеце рухацца ў бок open source ?


А ещё лучше - в сторону Free Software?
Вернуться к началу
KAE сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Alexander
ЛА

Зарегистрирован: 08.10.2008

Сообщения: 2762
Благодарности: 241

Откуда: Минск

Добавлено: Сб Май 05, 2018 17:28    Заголовок сообщения: Ответить с цитатой

Yahor писал(а):
Ці плануеце рухацца ў бок open source ?

Тут код адкрыты. Куды яшчэ рухацца? Пытанне толькі ў ліцэнзіі на гэты код.

_________________
Celestron C8, GSO 150/600
Вернуться к началу
Alexander сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум @ BelAstro.Net -> Программирование Часовой пояс: GMT + 3
На страницу 1, 2, 3, 4  След.
Страница 1 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB