Firms-Java:NASA火灾卫星数据Java客户端开源

✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨

这里有:

  • 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!
  • 趣味开发日常:代码背后的脑洞故事、工具测评,让技术圈不再枯燥~
  • 独家资源分享:开源项目、学习资料包,助你打怪升级快人一步!

👉 点击直达→ 盹猫猫的个人小站 👈

🌟 来逛逛吧,说不定能挖到你正在找的技术宝藏哦~

目录

❓为什么写这个?

[❓ firms-java是什么?](#❓ firms-java是什么?)

[❓ 什么是Firms](#❓ 什么是Firms)

[📦 结构](#📦 结构)

[🔑 密钥获取](#🔑 密钥获取)

[⚙️ Spring配置文件](#⚙️ Spring配置文件)

[⭐ 示例](#⭐ 示例)

[⬇️ Maven安装](#⬇️ Maven安装)

Core

Spring

[🤝 贡献与反馈](#🤝 贡献与反馈)


欢迎来到 盹猫(>^ω^<)的博客

本篇文章主要介绍了

**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

📦 结构

  1. satellite-core : 核心包,基础的SatelliteClient客户端和方法。

  2. satellite-spring: 添加了spring依赖的自动配置,提供spring、SpringBoot支持.

  3. 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

上面就是所有配置信息了,如果内容对你有帮助,麻烦留一个赞👍和收藏⭐支持一下!


如果你对区块链 内容感兴趣可以查看我的专栏:小试牛刀-区块链

感谢您的关注和收藏!!!!!!

相关推荐
GetcharZp24 分钟前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端
阿维的博客日记28 分钟前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI29 分钟前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding2 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
小小编程路2 小时前
C++ 多线程与并发
java·jvm·c++
AI视觉网奇2 小时前
linux 检索库 判断库是否支持
java·linux·服务器
zhangxingchao2 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端
IT_陈寒2 小时前
SpringBoot那个自动配置的坑,害我排查到凌晨三点
前端·人工智能·后端
ServBay2 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
ping某2 小时前
逐字节拆解 tcpdump
后端