Geo::Coordinates::Converter::iArea - some utility functions around iArea


Geo-Coordinates-Converter-iArea documentation Contained in the Geo-Coordinates-Converter-iArea distribution.

Index


Code Index:

NAME

Top

Geo::Coordinates::Converter::iArea - some utility functions around iArea

SYNOPSIS

Top

  use Geo::Coordinates::Converter::iArea;

  # get center point location from iArea code.
  my $point = Geo::Coordinates::Converter::iArea->get_center('00205');
  # => instance of Geo::Coordinates::Converter

DESCRIPTION

Top

Geo::Coordinates::Converter::iArea is utilities for DoCoMo iArea.

METHODS

Top

my $point = Geo::Coordinates::Converter::iArea->get_center($areacode :Str);

Get center point of area code. $point is instance of Geo::Coordinates::Converter.

my $name = Geo::Coordinates::Converter::iArea->get_name($areacode :Str);

Get the name of iArea from area code.

AUTHOR

Top

Tokuhiro Matsuno <tokuhirom aaaatttt gmail dotottto commmmm>

SEE ALSO

Top

Geo::Coordinates::Converter

LICENSE

Top

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Geo-Coordinates-Converter-iArea documentation Contained in the Geo-Coordinates-Converter-iArea distribution.

package Geo::Coordinates::Converter::iArea;
use strict;
use warnings;
our $VERSION = '0.14';
use 5.00800;
use Geo::Coordinates::Converter;
use CDB_File;
use File::ShareDir 'dist_file';
Geo::Coordinates::Converter->add_default_formats('iArea');

sub get_center {
    my ($class, $areacode) = @_;

    my $file = dist_file('Geo-Coordinates-Converter-iArea', 'areacode2center.cdb');
    my $cdb = CDB_File->TIEHASH($file);
    if ($cdb->EXISTS($areacode)) {
        my ($lat, $lng) = split /,/, $cdb->FETCH($areacode);
        return Geo::Coordinates::Converter->new(
            lat      => $lat,
            lng      => $lng,
            datum    => 'tokyo',
            format   => 'degree',
            areacode => $areacode,
        );
    } else {
        return;
    }
}

sub get_name {
    my ($class, $areacode) = @_;

    my $file = dist_file('Geo-Coordinates-Converter-iArea', 'areacode2name.cdb');
    my $cdb = CDB_File->TIEHASH($file);
    if ($cdb->EXISTS($areacode)) {
        my $name = $cdb->FETCH($areacode);
        utf8::decode($name);
        return $name;
    } else {
        return;
    }
}

1;
__END__