[](
https://travis-ci.org/karupanerura/Geo-Hex-V3-XS)
# NAME
Geo::Hex::V3::XS - GeoHex implementation with XS. (c-geohex3 Perl5 binding.)
# SYNOPSIS
use Geo::Hex::V3::XS;
my $zone = Geo::Hex::V3::XS->new(code => 'XM488276746');
# or
my $zone = Geo::Hex::V3::XS->new(lat => 35.579826, lng => 139.654524, level => 9);
say 'geohex.code: ', $zone->code;
say 'geohex.lat: ', $zone->lat;
say 'geohex.lng: ', $zone->lng;
say 'geohex.level: ', $zone->level;
# DESCRIPTION
Geo::Hex::V3::XS is [GeoHex](
http://geohex.net/) implementation.
# FUNCTIONS
- `my $geohex_code = encode_geohex($lat, $lng, $level)`
Convert location,level to geohex's code.
- `my ($lat, $lng, $code) = decode_geohex($geohex_code)`
Convert geohex's code to location,level.
This location is center of geohex.
# METHODS
- `my $zone = Geo::Hex::V3::XS->new(...)`
Create geohex zone object.
Arguments can be:
- `code`
Create geohex zone object from geohex code.
use Geo::Hex::V3::XS;
my $zone = Geo::Hex::V3::XS->new(code => 'XM488548');
- `lat/lng/level`
Create geohex zone object from location with level.
use Geo::Hex::V3::XS;
my $zone = Geo::Hex::V3::XS->new(
lat => 40.5814792855475,
lng => 134.296601127877,
level => 7,
);
- `$zone->lat`
Get geohex center location latitude.
- `$zone->lng`
Get geohex center location longitude.
- `$zone->code`
Get geohex code.
- `$zone->level`
Get geohex level. (0-15)
- `$zone->size`
Get geohex size.
- `my @locations = $zone->polygon()`
Get vertex locations of a geohex polygon.
# LICENSE
Copyright (C) karupanerura.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
# AUTHOR
karupanerura <
[email protected]>