利用Python包Astral计算日出日落时间

2024-04-26 18:20

本文主要是介绍利用Python包Astral计算日出日落时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算日出日落,需要一个非常复杂的公式,网上刚好有一个Python包-Astral,计算出来的误差不大,免去从网上pa数据

环境:
Python:3.9
Astral:3.2

1 先安装Astral

pip install astral -i http://pypi.douban.com/simple

2 获取经纬度
经纬度拾取有诸多方式,可使用百度坐标拾取系统,
https://api.map.baidu.com/lbsapi/getpoint/
虽然是百度坐标,但误差不大

或者推荐该网站:https://sunrise.maplogs.com/zh-CN/shenzhen_guangdong_china.1583.html
里面搜索城市会有对应的经纬度显示

在这里插入图片描述
3 代码实现

# sun_rise_down.py
import datetime
from astral.sun import sun
from astral.moon import moonrise
from astral import LocationInfo
city = LocationInfo('Shenzhen', 'China', 'Asia/Shanghai',22.543096, 114.057865)print((f'Information for {city.name}/{city.region}\n'f'Timezone: {city.timezone}\n'f'Latitude: {city.latitude:.06f}; Longitude: {city.longitude:.06f}\n'
))dt = datetime.date(2024, 4, 26)
s = sun(city.observer, date=dt,tzinfo=city.timezone)
m = moonrise(city.observer, date=dt,tzinfo=city.timezone)print((f'Date:     {dt.strftime("%Y-%m-%d")}\n'f'日出时间:  {s["sunrise"].strftime("%H:%M:%S")}\n'f'日落时间:  {s["sunset"].strftime("%H:%M:%S")}\n'f'月升时间:  {m.strftime("%H:%M:%S")}\n'
))

以上代码保存在 sun_rise_down.py

注意:代码里面,日期、经度和纬度自行修改,"Shenzhen"这个参数随意填,不影响计算结果,其他参数可固定不改

然后执行:

python sun_rise_down.py

执行结果:
在这里插入图片描述

Python可以增加一个API服务,将结果通过接口返回,参数传入经纬度和日期,结果返回日出日落时间

这篇关于利用Python包Astral计算日出日落时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/938312

相关文章

​「Python绘图」绘制太极图

python 绘制太极 一、预期结果 二、核心代码 import turtlepen = turtle.Turtle()print("开始绘制太极")radius = 100pen.color("black", "black")pen.begin_fill()pen.circle(radius/2, 180)pen.circle(radius, 180)pen.left(

案例:解决SimpleDateFormat格式化时间异常 java.lang.NumberFormatException: For input string: 20022E.20022E44

多线程下,使用SimpleDateFormat格式化时间,会发生如下异常的情况 异常内容: java.lang.NumberFormatException: For input string: "20022E.20022E44"at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) ~[?:1.8.

20个硬核Python脚本

整理了一个覆盖面比较广泛的Python脚本示例,涉及到机器学习、数据处理、还有算法er可能会遇到自己写后台的一些案例。 另外,每个模块底部提供了对于官网文档,更加方便的查询具体的使用方法。 内容由简到难,如果对你有帮助的话希望点赞 收藏    谢谢。 1、Hello World print("Hello, World!") 官方文档: https://docs.python.org/

Python专题:三、数字和运算(2)

目录 一、数学运算 二、赋值运算 一、数学运算 1、运算符号 加法+ 减法- 乘法* 除法/ 计算机中浮点数表示有精度限制,Python有限,所以近似取数 2、除法取整// Python2中 整数/整数 值为整数 Python3中 整数/整数 整数or浮点数 //计算除法对结果取整 3、取模运算符%,对除法求余数的运算 4、求幂运算符**,求次

读取一个Excel文件并输出其详细信息,可以使用Python的`pandas`库来完成这项任务

要读取一个Excel文件并输出其详细信息,可以使用Python的pandas库来完成这项任务。以下是一个简单的Python脚本,它会加载一个Excel文件,然后打印其基本信息,包括前几行数据、数据的形状(即行数和列数)、每列的数据类型等。 首先,确保已经安装了pandas和openpyxl(用于读取.xlsx文件的库): pip install pandas openpyxl 然后,

【python】基于岭回归算法对学生成绩进行预测

前言 在数据分析和机器学习领域,回归分析是一种预测连续数值的监督学习技术。当数据特征与目标变量之间存在线性关系时,线性回归模型尤其有用。然而,当特征数量多于样本数量,或者特征之间存在多重共线性时,普通最小二乘法可能不是最佳选择。这时,岭回归(Ridge Regression)作为一种改进的线性回归方法,通过引入正则化项来防止模型过拟合,从而提高模型的泛化能力。 正文 数据加载与预处理 在本

mysql日期相关函数大全,日期,字符串,Unix时间戳...

这篇有点乱,更完整全面的MySQL日期时间函数解析,参考我新写的这篇: MySQL日期时间函数完全参考 MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +———————+ | now() | +———————+ | 2008-08-08 22:20:46 | +———————+

MySQL日期时间函数完全参考

MySQL日期时间函数完全参考 导读获取当前时间获取当前日期和时间获取当前日期获取当前时间获取Unix时间戳获取UTC标准日期时间 从时间中提取部分信息提取日期/时间提取年/月/日/时/分/秒/微秒提取当天是本星期/工作日/年度的第几天全能提取函数返回星期几/月份名返回第几周,第几季度 计算日期时间计算日期计算时间计算年月(PERIOD)计算时间戳计算日期间隔计算时间间隔计算月份间隔计算时间

Python-VBA函数之旅-round函数

目录 一、round函数的常见应用场景 二、round函数使用注意事项 三、如何用好round函数? 1、round函数: 1-1、Python: 1-2、VBA:  2、推荐阅读: 个人主页: https://blog.csdn.net/ygb_1024?spm=1010.2135.3001.5421 一、round函数的常见应用场景         round函

Trie树计算单词前缀的个数

时间限制: 10000ms 单点时限: 1000ms 内存限制: 256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能对于每一个我给出的字符串,都在这个词典里面找到以这个字符串开头的所有单词呢?”