=head1 名前 Location::GeoTool::Direction - 距離・方向を扱うPerlモジュール =head1 概要 use Location::GeoTool; # 生成 $locobj = Location::GeoTool->create_coord('353924.491','1394010.478','wgs84','dmsn'); $dirobj = $locobj->direction_point('403614.307','1410133.022','wgs84','dmsn'); # 属性 $dir = $dirobj->direction; # 11.8035750... [°] $dist = $dirobj->distance; # 561836.65713... [m] $start = $dirobj->from_point; # '353924.491','1394010.478','wgs84','dmsn'の Location::GeoToolオブジェクト $end = $dirobj->to_point; # '403614.307','1410133.022','wgs84','dmsn'の... # メソッド $revobj = $dirobj->reverse; # 始点 <-> 終点 $midpoint = $dirobj->pivot(0,0.5);# 中点 $dirstr = $dirobj->dir_string(4,'jp'); # 「北」 =head1 説明 =head2 生成 Location::GeoToolのメソッドから生成されます。 $dirobj = $locobj->direction_point('403614.307','1410133.022','wgs84','dmsn'); $dirobj = $locobj->direction_point($another_locobj); $dirobj = $locobj->direction_vector(120,500); =head2 属性 起点、終点及びその間の方位・距離を属性に持ちます。 =head3 from_point 起点をLocation::GeoToolオブジェクトで返します。 =head3 to_point 終点をLocation::GeoToolオブジェクトで返します。 =head3 direction 起点から終点を見た方位角を、0-360度の方位角(北を0°として東方向周り)で します。 (ただし、生成時のdirection_vectorの引数として負の方角が与えられた場合は、 そのまま返します。) =head3 distance 起点から終点までの距離をmで返します。 =head2 メソッド =head3 reverse 始点と終点を置き換えたLocation::GeoTool::Directionオブジェクトを返します。 =head3 pivot $newobj = $dirobj->pivot($rot,$pow); 始点を中心に、$rot角度だけ方位角を回転し、距離を$pow倍した Location::GeoTool::Directionオブジェクトを返します。 =head3 dir_string $dirstr = $dirobj->dir_string($denom,$lang); 現在の方位角に相当する方位名を返します。 $denomは何方位(4,8,16,32)での方位名を得るかを指定します。 $langは何語での出力を得るか('jp' or 'en')を指定します。 $denomの指定に関しては、例えば$dirobj->directionで241度が帰って 来るような場合は、 $denom = 4ならば、$dirobj->dir_string => '西' $denom = 8ならば、$dirobj->dir_string => '南西' $denom = 16ならば、$dirobj->dir_string => '西南西' $denom = 32ならば、$dirobj->dir_string => '南西微西' 日本語での出力はEUCコードで返されます。 =head1 依存 Location::GeoTool =head1 関連情報 このモジュールは、ここギコ!ウェブサイト : http://kokogiko.net/ にてサポートいたします。 =head1 作者 大塚 恒平, Enene@kokogiko.netE =head1 著作権・ライセンス Copyright (C) 2004 SpaceTag Inc., 本ライブラリはフリーソフトであり、Perl本体と同じ条件での再配布・改変が可能です。 =cut