NAME
Geo::Location::Point - Location information
VERSION
Version 0.12
SYNOPSIS
Geo::Location::Point stores a place/location by latitude and longitude
use Geo::Location::Point;
my $location = Geo::Location::Point->new(latitude => 0.01, longitude => -71);
SUBROUTINES/METHODS
new
$location = Geo::Location::Point->new({ latitude => 0.01, longitude => -71 });
Takes one optional argument 'key' which is an API key for https://timezonedb.com for looking up timezone data.
lat
print 'Latitude: ', $location->lat(), "\n";
print 'Longitude: ', $location->long(), "\n";
latitude
Synonym for lat().
long
print 'Latitude: ', $location->lat(), "\n";
print 'Longitude: ', $location->long(), "\n";
lng
Synonym for long().
longitude
Synonym for long().
distance
Determine the distance between two locations, returns a Class::Measure::Length object.
equal
Are two points the same?
my $loc1 = Geo::Location::Point->new(lat => 2, long => 2);
my $loc2 = Geo::Location::Point->new(lat => 2, long => 2);
print ($loc1 == $loc2), "\n"; # Prints 1
not_equal
Are two points different?
my $loc1 = Geo::Location::Point->new(lat => 2, long => 2);
my $loc2 = Geo::Location::Point->new(lat => 2, long => 2);
print ($loc1 != $loc2), "\n"; # Prints 0
tz
Returns the timezone of the location. Needs TimeZone::TimeZoneDB.
timezone
Synonym for tz().
as_string
Prints the object in human-readable format.
as_uri
Prints the object as a URI string. See https://en.wikipedia.org/wiki/Geo_URI_scheme. Arguably it should return a URI object instead.
attr
Get/set location attributes, e.g. city
$location->city('London');
$location->country('UK');
print $location->as_string(), "\n";
print "$location\n"; # Calls as_string
AUTHOR
Nigel Horne <njh@bandsman.co.uk>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
BUGS
SEE ALSO
GIS::Distance, Geo::Point, TimeZone::TimeZoneDB.
LICENSE AND COPYRIGHT
Copyright 2019-2024 Nigel Horne.
The program code is released under the following licence: GPL2 for personal use on a single computer. All other users (including Commercial, Charity, Educational, Government) must apply in writing for a licence for use from Nigel Horne at `<njh at nigelhorne.com>`.