Name

Geo::AnomalyDetector - Detect anomalies in geospatial coordinate datasets

Synopsis

This module analyzes latitude and longitude data points to identify anomalies based on their distance from the mean location.

use Geo::AnomalyDetector;

my $detector = Geo::AnomalyDetector->new(threshold => 3);
my $coords = [ [37.7749, -122.4194], [40.7128, -74.0060], [35.6895, 139.6917] ];
my $anomalies = $detector->detect_anomalies($coords);
print 'Anomalies: ', join ', ', map { ($_->[0], $_->[1]) } @{$anomalies};

Each co-ordinate can be either a two element array of [latitude, longitude] or an object that has latitude and longitude methods.

Version

0.03

Subroutines/Methods

New

Creates a Geo::AnomalyDetector object.

It takes two optional parameters:

Detect_Anomalies

Identify outlier geographic coordinates based on their distance from the average location of a dataset.

Takes an array reference of coordinate pairs. Each coordinate can be an array reference [lat, lon] or an object with latitude() and longitude() methods.

It returns a reference to an array of coordinates considered anomalous based on their distance from the mean.

Api Specification

Input
{
  'coordinates' => { type => 'arrayref' }     # Each element can be either a coordinate pair or an object
}
Output
{
  'type' => 'arrayref',  # A list of coordinates
  'schema' => {
    'type' => 'arrayref',
    'min' => 2,  # Each coordinate is two numbers
    'max' => 2,
    'schema' => {
      # FIXME: specify that the latitude (the first number) is between -90 and 90
      'type' => 'number', 'min' => -180.0, 'max' => 180.0 }
  }
}

Author

Nigel Horne, <njh at nigelhorne.com>

Bugs

See Also

Support

This module is provided as-is without any warranty.

Please report any bugs or feature requests to bug-geo-anomalydetector at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Geo-AnomalyDetector. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

You can find documentation for this module with the perldoc command.

perldoc Geo::AnomalyDetector

You can also look for information at:

Copyright 2025 Nigel Horne.

This program is released under the following licence: GPL2