✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨
这里有:
- 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!
- 趣味开发日常:代码背后的脑洞故事、工具测评,让技术圈不再枯燥~
- 独家资源分享:开源项目、学习资料包,助你打怪升级快人一步!
👉 点击直达→ 盹猫猫的个人小站 👈
🌟 来逛逛吧,说不定能挖到你正在找的技术宝藏哦~
目录
[❓ firms-java是什么?](#❓ firms-java是什么?)
[❓ 什么是Firms](#❓ 什么是Firms)
[📦 结构](#📦 结构)
[🔑 密钥获取](#🔑 密钥获取)
[⚙️ Spring配置文件](#⚙️ Spring配置文件)
[⭐ 示例](#⭐ 示例)
[⬇️ Maven安装](#⬇️ Maven安装)
[🤝 贡献与反馈](#🤝 贡献与反馈)
欢迎来到 盹猫(>^ω^<)的博客
本篇文章主要介绍了
**Firms-Java:NASA火灾卫星数据Java客户端开源**
❤博主广交技术好友,喜欢文章的可以关注一下❤
❓为什么写这个?
公司森林防火项目要求要接入卫星数据(就是借助卫星扫描可能的起火点),联系的国内的大部分是需要花钱的(几万块/一年),所以就查了一些国外的相关网站,终于查到了Firms官网(火灾信息资源管理系统)。
但在接入过程中,发现官网并没有相关的Java客户端,这样在每次需要接入时,都需要重现编写相关功能,很浪费时间的。
所以这边就自己封装了一个Java客户端,并将其开源,希望有多一点的Star⭐。
❓ firms-java是什么?
firms-java是用于请求美国Nasa资源管理火灾信息系统的卫星数据Java客户端,用于方便的构建请求美国Nasa资源管理火灾信息系统的卫星数据,他可以应用在Java项目和Spring/SpringBoot项目中。
❓ 什么是Firms
火灾信息资源管理系统(FIRMS)分发来自Aqua和Terra卫星上的中分辨率成像光谱仪(MODIS)以及S-NPP、NOAA 20和NOAA 21(正式名称为JPSS-1和JPSS-2)上的可见光红外成像辐射计套件(VIIRS)的近实时(NRT)活跃火灾数据。
官网:https://firms.modaps.eosdis.nasa.gov
📦 结构
-
satellite-core : 核心包,基础的SatelliteClient客户端和方法。
-
satellite-spring: 添加了spring依赖的自动配置,提供spring、SpringBoot支持.
-
satellite-application: SpringBoot集成服务演示。
🔑 密钥获取
要获取Firms卫星数据,需要在官网获取MapKey。可以通过下面的两种方法获取
第一种方法:可以通过官网,在下述对话框内输入邮件,即可获取密钥。

第二种方法:如果你是通过springBoot集成spring包启动Web项目,可以在引入依赖并启动后,
通过http://127.0.0.1:[实际运行端口]/satellite.html ,并输入邮件后点击发送邮件,也可以获取MapKey.

⚙️ Spring配置文件
nasa:
#获取的密钥
map-key: 35ece758e7525ad595b401b65fa1c83b
#经纬度范围
area: 116.2,34.5,122,38
⭐ 示例
java
package com.nodcat.satellite;
import io.github.nodcat.enums.Satellite;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author nodcat
* @version 1.0
* @since 2026/2/24 上午8:19
*/
@Service
public class CustomSatelliteServiceImpl implements CustomSatelliteService {
//当使用了配置文件时,可以使用自动注入
@Autowired
SatelliteClient satelliteClient;
//或者
//自定义进行客户端初始化
// static final SatelliteClient satelliteClient = new SatelliteClientImpl(
// new SatelliteClientProperties(
// "35ece758e7525ad595b401b65fa1c83b", //mapKey
// "116.2,34.5,122,38" //Area range
// ));
@Override
public List<SatelliteScanData> getSatelliteData() {
//获取日期2026-01-22,时间范围为5天的VIIRS_SNPP_NRT型号卫星数据
return satelliteClient.getSatelliteScanData(
Satellite.VIIRS_SNPP_NRT,
"5",
"2026-01-22");
}
}
⬇️ Maven安装
Core
XML
<dependency>
<groupId>io.github.nodcat</groupId>
<artifactId>satellite-core</artifactId>
<version>1.0.1</version>
</dependency>
Spring
XML
<dependency>
<groupId>io.github.nodcat</groupId>
<artifactId>satellite-spring</artifactId>
<version>1.0.1</version>
</dependency>
🤝 贡献与反馈
如果你有任何建议或发现了 Bug,欢迎提交 Issue 或 Pull Request!
如果你觉得这个项目对你有帮助,请给一个 ⭐ Star!
项目地址:https://github.com/nodcat/firms-java
上面就是所有配置信息了,如果内容对你有帮助,麻烦留一个赞👍和收藏⭐支持一下!
如果你对区块链 内容感兴趣可以查看我的专栏:小试牛刀-区块链
感谢您的关注和收藏!!!!!!
