浅谈月出月落和月相的计算方法以及替代工具 - 月出月落和月相 API

news2024/11/19 17:22:15

引言

如果你想知道精确的月出月落时间,又或者你想设计一个月出月落时间查询的应用,又或者你只是好奇点进来了,还是可以过来围观一下涨涨知识,今天想跟大家聊一聊的是月出月落的计算方法以及替代工具 - 月出月落和月相 API 。

月出月落和月相 API 是一种可以获取指定城市或地点每日月出时间、月落时间、月相、受照占比、月相相位角、下一个新月时间、下一个满月时间等数据的接口。该 API 基于全球月出月落计算公式和高精度天文算法,可以为用户提供准确的月出月落时间数据,覆盖全球3400+个城市和4万个地点。

月出月落的计算方法

月出月落时间的计算涉及到地球的自转、公转、地球的形状、大气折射等多个因素,因此需要使用天文学公式和计算方法。以下是一些常用的计算方法:

  1. 基于经纬度的简单方法:根据观测地点的经纬度和日期,通过经验公式计算出月出月落的大致时间。这种方法的精度较低,只能提供一个大致的参考时间。

月出时间 = 当天日出时间 + arccos(-sin(φ)×sin(δ)÷cos(φ)×cos(δ))÷15

月落时间 = 当天日落时间 - arccos(-sin(φ)×sin(δ)÷cos(φ)×cos(δ))÷15

其中,φ表示所在纬度,δ表示月亮赤纬,arccos为反余弦函数,15表示每小时移动15度(地球自转速度)。

需要注意的是,这个公式只是一个简单的近似计算公式,实际月出月落时间还会受到多种因素的影响,如地球自转速度变化、地形、气象条件等等,因此计算结果可能存在一定误差。

  1. 天文学方法:利用天文学知识和计算方法,可以更加准确地计算出月出月落的时间。这种方法需要使用天文学软件或者数据表格进行计算。

月出时间 = 日落时刻 + arccos[(sin(h) - sin(δ) * sin(φ)) / (cos(δ) * cos(φ))] 月落时间 = 日出时刻 + arccos[(sin(h) - sin(δ) * sin(φ)) / (cos(δ) * cos(φ))]

其中,h为天文黄赤交角,δ为月球的赤纬,φ为观测地点的纬度。

  1. 基于观测地点的方法:这种方法需要测量观测地点的海拔高度、天文观测点的经度和纬度等参数,并结合当前时间和日期,计算出月亮的出入时间。

具体的计算方法和公式较为复杂,需要借助计算机程序实现。

在实际应用中,常用的方法是天文学方法,除此之外可以通过天文学软件、网站等工具进行计算。例如,可以使用月出月落和月相 API ,输入城市编码参数,就可以得到相应的结果。

月出月落和月相 API 的工作原理

月出月落和月相的 API 的工作原理通常是基于天文算法和日历计算,通过收集和处理与天文数据相关的信息,计算出具体时间和位置的月出月落和月相。

具体地说,月出月落的 API 通常需要输入用户所在的经纬度和日期,然后通过天文算法计算出太阳和月亮的位置和运动轨迹,进而推算出在这个地点和日期的月出月落时间,并且根据月球的运动轨迹和相位计算出指定日期的月相状态,例如满月、新月、上弦月或下弦月。

应用场景

月出月落和月相 API 可以广泛应用于多个领域,包括气象学应用、天文学应用、摄影、旅游等

常用月出月落和月相 API推荐

以下是我推荐的几个月出月落和月相 API:

1.APISpace 月出月落和月相 API

简介: APISpace 月出月落和月相 API支持国内3400+个城市以及国际4万个城市的月出月落和月相数据,每日月出时间、月落时间、月相、受照占比、月相相位角、下一个新月时间、下一个满月时间等数据。

接入方式: 很简单三个步骤即可完成了,有不明白的小伙伴可以评论区交流~

Java 接入代码:

OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
Request request = new Request.Builder()
  .url("https://eolink.o.apispace.com/3244/lives_geo/v001/moon?days=1&areacode=101010100")
  .method("GET",null)
  .addHeader("X-APISpace-Token","")
  .addHeader("Authorization-Type","apikey")
  .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());

返回示例:

{
    "status": 0,
    "result": {
        "location": {
            "areacode": "101010100",        //城市ID
            "name": "北京",                //城市中文名
            "country": "中国",                //所属国家中文名
            "path": "北京,北京市,北京市,中国"            //行政区划路径
        },
        "moon": [
            {
                "date": "2020-04-26",                //日期
                "moonrise": "17:58:23",        //月出时间,有时为空
                "moonset": "06:12:22",        //月落时间,有时为空
                "phaseAngle": 178.56,        //0时月相相位角,单位°
                "percent": 98.75,                //0时受照占比,单位100%
                "phase": "Full",            //月相英文
                "phaseCn": "满月",                //月相
                "phaseCode": 17,            //对应图片代码
            },
                    ……            //其它日期月相信息
         ]
        "full": [                //查询时段内的所有满月时间,没有满月则为空
                "2020-04-26 17:58:23",
                ……
         ]
        "new": [                //查询时段内的所有新月时间,没有新月则为空
                "2020-04-26 17:58:23",
                ……
         ]
    }
}

2. Sunrise-Sunset API

提供世界各地的月出月落时间,包括民用和航空月出月落时间

3. OpenWeatherMap API

提供实时天气信息,包括月出月落时间和月相信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/516859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

污水除磷主要方法,磷酸盐的深度去除,正磷、次磷、亚磷树脂吸附

化学沉淀法除磷工艺虽除磷效率相对较好,但消耗化学药剂并产生大量的化学污泥,处理成本相对昂贵;而传统的生物处理工艺操作简单,但磷去除效率较低,难以满足出水要求。 Tulsimer A-107 是一款专门开发的,基于…

win10中rclone挂载minio的多实例安装方式

1.下载rclone安装包&#xff0c;复制多个.exe并重命名 2.1添加rclone1server.xml <service><id>rclone1</id><name>rclone1</name><description>rclone1service</description><executable>rclone</executable><argum…

有没有中国版的chatGPT?

ChatGPT是一个基于人工智能的聊天机器人&#xff0c;它可以通过自然语言处理技术与用户进行交互和对话。ChatGPT的目的是为用户提供便捷的问答服务和娱乐&#xff0c;它可以回答各种问题&#xff0c;例如天气、新闻、历史、文化、科技、娱乐等等。ChatGPT的核心技术是基于GPT模…

AOP的工作流程和核心概念及代理对象

1. 工作流程及核心概念 Spring容器启动读取所有切面配置中的切入点&#xff0c;未配置的切入点不进行读取 初始化bean&#xff0c;判断bean对应的类中的方法是否匹配到任意切入点 匹配成功&#xff1a;在Spring框架中&#xff0c;Bean初始化时会通过扫描程序中的带有特定注解的…

【学习笔记】低速数字输入电路

1、方案设计&#xff1a;单通道、单向、反相器 该电路采用单通道&#xff0c;单向光耦&#xff0c;只支持漏型输入&#xff0c;电路的输入端压差满足24V DC10%(21.6V DC-26.4V DC)&#xff0c;输出端电压在0~3.3V范围摆动。 1.1关键技术规格 1.2具体原理图 1.3电路原理详解 …

直接使用ChatGPT的方法

ChatGPT是一个基于人工智能的聊天机器人&#xff0c;它可以与用户进行自然语言交互。ChatGPT使用了最新的自然语言处理技术&#xff0c;包括深度学习和神经网络&#xff0c;以便更好地理解用户的意图和回答用户的问题。 ChatGPT可以回答各种问题&#xff0c;包括但不限于常见问…

高效学习传感器|霍尔式传感器

01、霍尔式传感器的工作原理 1●霍尔效应 霍尔式传感器的物理基础是霍尔效应。如图1所示&#xff0c;在一块长度为l、宽度为b、厚度为d的长方体导电板上&#xff0c;左、右、前、后侧面都安装上电极。在长度方向上通入电流I&#xff0c;在厚度方向施加磁感应强度为B的磁场。 ■…

并发编程13:邮戳锁StampedLock

文章目录 13.1 关于锁的面试题13.2 简单聊聊ReentrantReadWriteLock13.2.1 是什么&#xff1f;13.2.2 特点 13.3 面试题&#xff1a;有没有比读写锁更快的锁&#xff1f;13.4 邮戳锁StampedLock13.4.1 是什么&#xff1f;13.4.2 它是由饥饿问题引出13.4.3 StampedLock的特点13.…

【Linux】IO多路转接-select

文章目录 多路转接IO模型I/O多路转接-selectselect初识select函数select的核心功能fd_set的执行流程select就绪条件基于select的服务器Sock.hppSelect_server.cpp存在的问题 select的优点select的缺点select的适用场景 多路转接IO模型 Linux下多路转接的方案常见的有三种&…

人群归因分数(Population Attributable Fraction, PAF):概念、简单计算案例

专注系列化、高质量的R语言教程 推文索引 | 联系小编 | 付费合集 本篇目录如下&#xff1a; 1 人群归因分数 1.1 相对风险度1.2 人群归因分数2 案例 2.1 示例数据2.2 计算案例12.3 计算案例22.4 计算案例33 总结 1 人群归因分数 人群归因分数&#xff08;Population Attributab…

100G CFP光模块类型应用场景详解

目前&#xff0c;全球电信行业平稳发展&#xff0c;宽带用户稳定增长&#xff0c;随着大数据市场的迅猛发展&#xff0c;骨干网、接入网和数据中心建设均需采购大量的光通信产品&#xff0c;从而给光模块行业带来了全新的市场机遇。如今&#xff0c;100G光模块已成为市场发展的…

最新DNDC模型在土地利用变化、未来气候变化下的建模方法及温室气体时空动态模拟

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到&#xff0c;要把“双碳”纳入经济社会发展和生态文明建设整体布局。同时&#xff0c;提到要把减污降碳协同增效作为促…

载誉前行!北大青鸟课工场蝉联中国高校计算机教育MOOC联盟会员单位!

近日&#xff0c;北大青鸟旗下的大学生专属品牌课工场喜获殊荣&#xff0c;蝉联中国高校计算机教育MOOC联盟会员单位。这是对北大青鸟课工场一直以来在职业教育领域的卓越表现的肯定&#xff0c;也是对北大青鸟课工场品牌价值的进一步提升。 作为中国高校计算机教育MOOC联盟的会…

JavaScript全解析-面向对象

类语法的书写 ●在 ES6 的语法标准中, 管构造函数不叫做构造函数了, 叫做 类 ●语法: class 类名 {constructor () { // 书写属性 } 书写原型上的方法 方法名 () {} } // ES6 类的语法class Person {// 等价于 ES5 的构造函数体constructor(name) {this.name name}// 直接书写…

Protobuf详解

文章目录 Protobuf是什么传输协议类比 Protobuf协议语法Protobuf类型Protobuf编译器下载配置环境变量 编写一个入门程序 Java是绝大多数人最常用的编程语言&#xff0c;那么作为Java开发如何学习protobuf呢&#xff1f; 步骤如下&#xff1a; 1.下载并安装 Protocol Buffers 工…

Red Hat Enterprise Linux (RHEL) 9.2 (x86_64, aarch64) - 红帽企业 Linux 9.2 发布

Red Hat Enterprise Linux (RHEL) 9.2 (x86_64, aarch64) 红帽企业 Linux 9.2 请访问原文链接&#xff1a;https://sysin.org/blog/rhel-9/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 红帽企业 Linux 9 红帽企业 Linux 9.…

把握协作机器人智能、灵活、安全三大矩阵

原创 | 文 BFT机器人 引言 协作机器人是一种能够和人类工作在同一空间的机器人&#xff0c;能够协同完成任务&#xff0c;为制造业和其他领域提供了更高效和灵活的解决方案。 目前&#xff0c;协作机器人市场正在迅速增长&#xff0c;因为越来越多的制造业和其他领域需要自动化…

PCIE使用的有效的命令

查看偏移内容 setpci --dumpregs capabilities查看 pci标准配置头空间 -x pci capbility配置空间 -xxx pcie扩展配置空间-xxxx 红色框框中的第一列对应具体的偏移&#xff0c;第二列对应的是设备的capability id, 第三列对应的是next capability id的偏移。 cap解释 在PCIe规…

电动车仪表盘语音芯片,带有数码管驱动多功能语音ic,WTV380-32N

为何要在电动车仪表盘上加入语音芯片&#xff1f; 电动车的驾驶过程中&#xff0c;驾驶员需要时刻关注车辆的状态和行驶信息&#xff0c;如电量、速度、里程等。这些信息如果以语音提示的方式进行播报&#xff0c;可以让驾驶员更加方便快捷地获取车辆状态&#xff0c;并且避免…

算法加密与解密、字符集、编码方式

加密算法 加密保证数据不会被窃取或者修改 不可逆加密算法 哈希算法 压缩映射&#xff1a;散列又称为哈希&#xff0c;是把任意长度的输入通过散列算法变换成固定长度的输出&#xff0c;该输出就是散列值。 哈希算法&#xff08;Hash&#xff09;又称摘要算法&#xff08;D…