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

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


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

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

相关推荐
朦胧之1 天前
AI 编程开发思维
前端·后端·ai编程
今天又在写代码1 天前
java-v2
java·开发语言
competes1 天前
慈善基金投资底层逻辑应用 顶层代码低代码配置平台开发结构方式数据存储模块
java·开发语言·数据库·windows·sql
2501_913061341 天前
网络原理知识
java·网络
独自归家的兔1 天前
OCPP 1.6 协议详解:StatusNotification 状态通知指令
开发语言·数据库·spring boot·物联网
希望永不加班1 天前
Spring AOP 代理模式:CGLIB 与 JDK 动态代理区别
java·开发语言·后端·spring·代理模式
flushmeteor1 天前
java的动态代理和字节码生成技术
java·动态代理·代理·字节码生成
eggwyw1 天前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
0xDevNull1 天前
MySQL 别名(Alias)指南:从入门到避坑
java·数据库·sql
浮游本尊1 天前
一次合同同步背后的多阶段流水线:从外部主数据到本地歧义消解
后端