NAME

Geo::ShapeFile::Point - Geo::ShapeFile utility class.

SYNOPSIS

use Geo::ShapeFile::Point;
use Geo::ShapeFile;

my $point = Geo::ShapeFile::Point->new(X => 12345, Y => 54321);

ABSTRACT

This is a utility class, used by Geo::ShapeFile.

DESCRIPTION

This is a utility class, used by Geo::ShapeFile to represent point data, you should see the Geo::ShapeFile documentation for more information.

EXPORT

Nothing.

IMPORT NOTE

This module uses overloaded operators to allow you to use == or eq to compare two point objects. By default points are considered to be equal only if their X, Y, Z, and M attributes are equal. If you want to exclude the Z or M attributes when comparing, you should use comp_includes_z or comp_includes_m when importing the object. Note that you must do this before you load the Geo::ShapeFile module, or it will pass it's own arguments to import, and you will get the default behavior:

DO:

use Geo::ShapeFile::Point comp_includes_m => 0, comp_includes_z => 0;
use Geo::ShapeFile;

DONT:

use Geo::ShapeFile;
use Geo::ShapeFile::Point comp_includes_m => 0, comp_includes_z => 0;
(Geo::ShapeFile already imported Point for you, so it has no effect here)

METHODS

new (X => $x, Y => $y)

Creates a new Geo::ShapeFile::Point object, takes a hash consisting of X, Y, Z, and/or M values to be assigned to the point.

X() Y() Z() M()

Set/retrieve the X, Y, Z, or M values for this object.

get_x() get_y() get_z() get_m()

Get the X, Y, Z, or M values for this object. Slightly faster than the dual purpose set/retrieve methods so good for heavy usage parts of your code.

x_min() x_max() y_min() y_max()
z_min() z_max() m_min() m_max()

These methods are provided for compatibility with Geo::ShapeFile::Shape, but for points simply return the X, Y, Z, or M coordinates as appropriate.

distance_from($point)

Returns the distance between this point and the specified point. Only considers the two-dimensional distance. Z and M values are ignored.

angle_to($point);

Returns the bearing (in degrees from north) from this point to some other point. Returns 0 if the two points are in the same location.

REPORTING BUGS

Please send any bugs, suggestions, or feature requests to https://github.com/shawnlaffan/Geo-ShapeFile/issues.

SEE ALSO

Geo::ShapeFile

AUTHOR

Jason Kohles, <email@jasonkohles.com>

Shawn Laffan, <shawnlaffan@gmail.com>

COPYRIGHT AND LICENSE

Copyright 2002-2013 by Jason Kohles

Copyright 2014-2023 by Shawn Laffan

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