The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Geo::Coder::Many::OSM - OpenStreetMap Nominatim plugin for Geo::Coder::Many

VERSION

Version 0.02

SYNOPSIS

This module adds OpenStreetMap Nominatim support to Geo::Coder::Many.

Use as follows:

use Geo::Coder::Many;
use Geo::Coder::OSM;

my $options = { };
my $geocoder_many = Geo::Coder::Many->new( $options );
my $osm = Geo::Coder::OSM->new;

my $osm_options = {
    geocoder    => $osm,
# This limit should not be taken as necessarily valid. 
# Please check the Nominatim usage policy.
    daily_limit => 5000,
};

$geocoder_many->add_geocoder( $osm_options );

my $location = $geocoder_many->geocode( 
    {
        location => '82 Clerkenwell Road, London, EC1M 5RF'
    }
);

USAGE POLICY

Be careful to limit the number of requests you send, or risk being blocked.

See http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy for details.

SUBROUTINES/METHODS

geocode

This is called by Geo::Coder::Many - it sends the geocoding request (via Geo::Coder::OSM) and extracts the resulting location, returning it in a standard Geo::Coder::Many::Response.

get_name

Returns the name of the geocoder type - used by Geo::Coder::Many