-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Description
Flatlib doesn't work for polar regions. For example 78.2203044, 15.6364950 is a valid location (Longyearbyen, Svalbard)
from flatlib.datetime import Datetime
from flatlib.geopos import GeoPos
from flatlib.chart import Chart as FlatlibChart
from flatlib import const, tools, ephem
from flatlib.object import House, Object
from flatlib.angle import *
from flatlib.ephem.ephem import *
from flatlib.aspects import *
from flatlib.const import *
import datetime
ayanamsa = const.AY_KRISHNAMURTI
hs = const.HOUSES_WHOLE_SIGN
pos = GeoPos (78.2203044, 15.6364950)
time = datetime.datetime.now()
Date = Datetime(time.strftime("%Y/%m/%d"), time.strftime("%H:%M:%S"))
chart = FlatlibChart(Date, pos, mode=ayanamsa, hsys=hs, IDs=const.LIST_OBJECTS)
moon = chart.getObject (const.MOON)
print (moon.lon)
I get:
Traceback (most recent call last):
File "Naks.py", line 19, in <module>
chart = FlatlibChart(Date, pos, mode=ayanamsa, hsys=hs, IDs=const.LIST_OBJECTS)
File "/home/au/.local/lib/python3.8/site-packages/flatlib/chart.py", line 54, in __init__
self.objects = ephem.get_objects(IDs, date, pos, mode=mode)
File "/home/au/.local/lib/python3.8/site-packages/flatlib/ephem/ephem.py", line 71, in get_objects
objects = [get_object(obj, date, pos, alt, mode) for obj in objs]
File "/home/au/.local/lib/python3.8/site-packages/flatlib/ephem/ephem.py", line 71, in <listcomp>
objects = [get_object(obj, date, pos, alt, mode) for obj in objs]
File "/home/au/.local/lib/python3.8/site-packages/flatlib/ephem/ephem.py", line 53, in get_object
obj_values = eph.get_object(obj, date.jd, pos.lat, pos.lon, alt, mode)
File "/home/au/.local/lib/python3.8/site-packages/flatlib/ephem/eph.py", line 149, in get_object
pflon = tools.pfLon(jd, lat, lon)
File "/home/au/.local/lib/python3.8/site-packages/flatlib/ephem/tools.py", line 33, in pfLon
if isDiurnal(jd, lat, lon):
File "/home/au/.local/lib/python3.8/site-packages/flatlib/ephem/tools.py", line 51, in isDiurnal
return utils.isAboveHorizon(ra, decl, mcRA, lat)
File "/home/au/.local/lib/python3.8/site-packages/flatlib/utils.py", line 39, in isAboveHorizon
dArc, _ = dnarcs(decl, lat)
File "/home/au/.local/lib/python3.8/site-packages/flatlib/utils.py", line 23, in dnarcs
dArc = 180 + 2 * ascdiff(decl, lat)
File "/home/au/.local/lib/python3.8/site-packages/flatlib/utils.py", line 18, in ascdiff
ad = math.asin(math.tan(delta) * math.tan(phi))
ValueError: math domain error
When I change the location to something normal (e. g. central Europe) it works normally.
Metadata
Metadata
Assignees
Labels
No labels