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

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


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

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

相关推荐
树獭非懒2 小时前
Google A2UI:让 AI 智能体「开口说界面」
前端·人工智能·后端
月亮!2 小时前
6大AI测试工具极限压测:微软TuringAI竟率先崩溃
java·人工智能·python·测试工具·microsoft·云原生·压力测试
superantwmhsxx2 小时前
JAVA系统中Spring Boot 应用程序的配置文件:application.yml
java·开发语言·spring boot
左左右右左右摇晃2 小时前
Java线程池工作原理与回收机制
java·jvm·数据结构
向上_503582912 小时前
两个moudle访问一个lib包
android·java·kotlin
云烟成雨TD2 小时前
Spring AI 1.x 系列【18】深入了解更多的工具规范底层组件
java·人工智能·spring
希望永不加班2 小时前
SpringBoot 应用启动失败常见原因与排查思路
java·spring boot·后端·spring
ew452182 小时前
【java】基于hutool实现.Excel导出任意多级自定义表头数据
java·开发语言·excel
闻哥2 小时前
深入理解 InnoDB 的 MVCC:原理、Read View 与可见性判断
java·开发语言·jvm·数据库·b树·mysql·面试