Access NASA FIRMS Satellite Fire Data with a Java Spring Boot Client

This guide explains why the FIRMS Java client was created, describes the FIRMS fire data service, details the library's modular structure, shows how to obtain a MapKey, provides Spring configuration and usage examples, and includes Maven installation instructions for seamless integration into Java or Spring Boot projects.

Dunmao Tech Hub
Dunmao Tech Hub
Dunmao Tech Hub
Access NASA FIRMS Satellite Fire Data with a Java Spring Boot Client

Why create this library?

Our company needed satellite fire‑monitoring data for a forest‑fire prevention project, but most domestic providers charge tens of thousands of yuan per year. After discovering the free NASA FIRMS service, we found no official Java client, so we built and open‑sourced a Java SDK to simplify integration.

What is FIRMS?

FIRMS (Fire Information for Resource Management System) distributes near‑real‑time active fire detections from MODIS on Aqua/Terra satellites and VIIRS on S‑NPP, NOAA‑20, and NOAA‑21 platforms.

Library Structure

satellite-core: core package containing SatelliteClient, related methods, exceptions, enums, and constants.

satellite-spring: Spring auto‑configuration for easy use in Spring or Spring Boot applications.

satellite-application: a Spring Boot demo application illustrating the client.

Design Rationale

Non‑Spring Java projects can depend only on satellite-core to obtain basic client functionality.

Spring/Spring Boot projects benefit from satellite-spring, which provides automatic bean injection or custom client configuration via properties. satellite-application offers a runnable example to verify that the client works as expected.

MapKey Acquisition

To request FIRMS data you need a MapKey from the official website. Two methods are available:

Enter your email in the website dialog to receive the key.

If you run a Spring Boot web project, start the application and open http://127.0.0.1:{port}/satellite.html, then submit your email; this calls the official key‑generation API.

Spring Configuration File

nasa:
  # MapKey obtained from the FIRMS website
  map-key: 35ece758e7525ad595b401b65fa1c83b
  # Longitude,Latitude bounds (west,south,east,north)
  area: 116.2,34.5,122,38

Usage Example

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;

/**
 * Example service that fetches satellite fire data.
 */
@Service
public class CustomSatelliteServiceImpl implements CustomSatelliteService {

    @Autowired
    SatelliteClient satelliteClient; // injected by Spring configuration

    @Override
    public List<SatelliteScanData> getSatelliteData() {
        // Retrieve VIIRS_SNPP_NRT data for 5‑day range starting 2026‑01‑22
        return satelliteClient.getSatelliteScanData(
                Satellite.VIIRS_SNPP_NRT,
                "5",
                "2026-01-22"
        );
    }
}

Installation (Maven)

Core

<dependency>
    <groupId>io.github.nodcat</groupId>
    <artifactId>satellite-core</artifactId>
    <version>1.0.1</version>
</dependency>

Spring

<dependency>
    <groupId>io.github.nodcat</groupId>
    <artifactId>satellite-spring</artifactId>
    <version>1.0.1</version>
</dependency>

Contribution & Feedback

The project is open‑source on GitHub under the repository firms-java. Issues and pull requests are welcome for bug fixes or enhancements.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

BackendJavaAPIspringbootNASASatellite
Dunmao Tech Hub
Written by

Dunmao Tech Hub

Sharing selected technical articles synced from CSDN. Follow us on CSDN: Dunmao.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.