Tutorials / How to Compute Fire Footprint Area

Most of FIRMS fire detection data is provided as a single point (latitude, longitude). For some applications, it is beneficial to have the corresponding rectangle detection area. To compute see the formula below:


Fire Footprint Area Formula

# latitude and longitude values are in decimal degrees

coef = 0.375 # VIIRS
if ( sensor == 'MODIS' ) coef = 1.0
else if ( sensor == 'LANDSAT' ) coef = 0.03

if ( absolute_value ( latitude ) <= 89.99 )
     dx = coef / ( cos ( latitude ) * 111.32 ) / 2.0 # if cos() using degrees
# OR
     dx = coef / ( cos ( latitude * PI / 180) * 111.32 ) / 2.0 # if cos() using radians
else
     dx = 180

dy = ( coef / 111.32 ) / 2.0

north_west = ( latitude + dy ), ( longitude - dx )
north_east = ( latitude + dy ), ( longitude + dx )
south_east = ( latitude - dy ), ( longitude + dx )
south_west = ( latitude - dy ), ( longitude - dx )
  • Why is there a value of 111.32? It is computed from Earth's circumference of 40,075 km / 360 degrees; so 1 degree ~ 111.32 km
  • To prevent division by zero, dx is set to 180 when latitude is higher than absolute(89.99); if by some odd chance there was a fire detection at the pole.

Javascript Example

                            
function compute_area ( latitude, longitude, sensor ) {
    let coef = 0.375;
    if ( sensor == 'MODIS' )  { coef = 1.0; }
    else if ( sensor == 'LANDSAT' )  { coef = 0.03; }

    let dx =  ( Math.abs ( latitude ) <= 89.99 ) ? 
                ( coef / (Math.cos ( latitude * Math.PI / 180 ) * 111.32 ) / 2.0) : 180;
    let dy = ( coef / 111.32 ) / 2.0;

    let obj = {};
    obj.nw = [ ( latitude + dy ), ( longitude - dx ) ];
    obj.ne = [ ( latitude + dy ), ( longitude + dx ) ];
    obj.se = [ ( latitude - dy ), ( longitude + dx ) ];
    obj.sw = [ ( latitude - dy ), ( longitude - dx ) ];

    // console.log(obj);
    return obj;
}
                            
                        

Test Your Values

Latitude
Longitude
Sensor

Test your values
Error in processing:
Rectange Area: