̾Á°
Location::GeoTool - ÃÏÍý¾ðÊó¤ò°·¤¦Perl¥â¥¸¥å¡¼¥ë
³µÍ×
use Location::GeoTool;
my $oGeo = Location::GeoTool->create_coord('35.39.24.491','139.40.10.478','tokyo','gpsone');
my @mapion = $oGeo->format_mapion->array;
# => ("35/39/24.491","139/40/10.478")
my $oGeoW = $oGeo->datum_wgs84;
my @wgs84 = ($oGeoW->lat,$oGeoW->long);
# => ("35.39.36.145","139.39.58.871")
my @degree_wgs84 = $oGeoW->format_second;
# => (128376.14524...,502798.87076...)
ÀâÌÀ
¥³¥ó¥¹¥È¥é¥¯¥¿¡¡(create_coord)
my $obj = Location::GeoTool->create_coord($lat,$long,$datum,$format);
Location::GeoTool¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Þ¤¹¡£
$lat : °ÞÅÙ
$long : ·ÐÅÙ
$datum : ¬ÃÏ·Ï
$format : ¥Õ¥©¡¼¥Þ¥Ã¥È
ºîÀ®¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ç¥Õ¥©¥ë¥È¤Î¬ÃÏ·Ï¡¢¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°ú¿ô¤Ç»ØÄꤷ¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤è¤Ã¤Æ¡¢array,lat,long¥á¥½¥Ã¥ÉÅù¤ÇÊ֤äƤ¯¤ëÃͤϡ¢¥³¥ó¥¹¥È¥é¥¯¥¿¤Ç»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£ ¬ÃϷϤϰʲ¼¤Îʸ»úÎó¤ÇÍ¿¤¨¤Æ¤¯¤À¤µ¤¤¡£
À¤³¦(¿·ÆüËÜ)¬ÃÏ·Ï : 'wgs84'
µìÆüËܬÃÏ·Ï : 'tokyo'
¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢°Ê²¼¤Îʸ»úÎó¤ÇÍ¿¤¨¤Æ¤¯¤À¤µ¤¤¡£
MapionURL¥Õ¥©¡¼¥Þ¥Ã¥È (ddd/mm/ss.nnn) : 'mapion'
gpsOneɸ½à¥Õ¥©¡¼¥Þ¥Ã¥È(ddd.mm.ss.nnn) : 'gpsone'
SpaceTag¥µ¡¼¥Ðɸ½à (pddmmssnnn) : 'spacetag'
dddmmss.nnn·Á¼° : 'dmsn'
ÅÙñ°Ì (ddd.dddddd...) : 'degree'
ÉÃñ°Ì (ssssss.sss...) : 'second'
¥é¥¸¥¢¥óñ°Ì : 'radian'
·Ð°ÞÅÙ¼èÆÀ¥á¥½¥Ã¥É·²
¸½ºß¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄꤵ¤ì¤¿Â¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Î¡¢·Ð°ÞÅÙ¤ÎÃͤòÊÖ¤·¤Þ¤¹¡£
($lat,$long) = $obj->array;
or
$lat = $obj->lat;
$long = $obj->long;
¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥ÈÊÑ´¹¥á¥½¥Ã¥É·²
¿·¤·¤¤Â¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÊÑ´¹¤µ¤ì¤¿¡¢¿·¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤Þ¤¹¡£
$newobj = $obj->datum_wgs84;
$newobj = $obj->format_mapion;
ÅùÅù¡£ÅöÁ³¡¢°Ê²¼¤Î¤è¤¦¤Ê»ö¤Ï²Äǽ¤Ç¤¹¡£
($lat,$long) = $obj->datum_tokyo->format_radian->array;
½àÈ÷¤µ¤ì¤Æ¤¤¤ëÁ´¥á¥½¥Ã¥É¤Ï¡¢°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£
À¤³¦(¿·ÆüËÜ)¬ÃϷϤØÊÑ´¹¡§ datum_wgs84
µìÆüËܬÃϷϤØÊÑ´¹¡§ datum_tokyo
MapionURL¥Õ¥©¡¼¥Þ¥Ã¥È(ddd/mm/ss.nnn)¤ØÊÑ´¹¡§ format_mapion
gpsOneɸ½à¥Õ¥©¡¼¥Þ¥Ã¥È(ddd.mm.ss.nnn)¤ØÊÑ´¹¡§ format_gpsone
SpaceTag¥µ¡¼¥Ðɸ½à(pddmmssnnn)¤ØÊÑ´¹¡§ format_spacetag
dddmmss.nnn·Á¼°¤ØÊÑ´¹¡§ format_dmsn
ÅÙñ°Ì(ddd.dddddddd¡Ä)¤ØÊÑ´¹¡§format_degree
ÉÃñ°Ì(ssssss.sss¡Ä)¤ØÊÑ´¹¡§ format_second
¥é¥¸¥¢¥óñ°Ì¤ØÊÑ´¹¡§ format_radian
Ãí°Õ¡§ÊÑ´¹¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢¼ÂºÝ¤Ë¤Ï¸µÂ¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Î¾ðÊó¤òÊÝ»ý¤·¡¢ ·Ð°ÞÅÙ¼èÆÀ¥á¥½¥Ã¥É·²¤¬¼Â¹Ô¤µ¤ì¤¿»þ¤Ë¡¢¤½¤Î»þ¤ÎÀßÄê¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤ÎÊÑ´¹¤¬ ¼ÂºÝ¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤³¤ì¤Ï¡¢Â¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥ÈÊÑ´¹¤È¤â¸íº¹¤ÎÂ礤¤½èÍý¤Ç¤¹¤Î¤Ç¡¢½èÍý¤ò·«¤êÊÖ¤¹»ö¤Ç ¼Â°ÌÃÖ¤È¤Î¸íº¹¤¬Â礤¯¤Ê¤ë»ö¤òËɤ°¤¿¤á¤Î»ÅÍͤǤ¹¡£ ¤¿¤À¤·¡¢Class::DBI¤È¤ÎÏ¢·ÈÅù¤ò¹Í¤¨¤¿¾ì¹ç¡¢¤É¤ó¤Ê¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÃͤòÆþ¤ì¤Æ¤â ÆâÉô¤Çµ¬Äê¤Î¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÊÑ´¹¤·¤Æ¤¯¤ì¤¿Êý¤¬ÊØÍø¤«¤Ê¡¢¤È¤¤¤¦¥±¡¼¥¹¤â¤¢¤ê ¤Þ¤¹¤Î¤Ç¡¢¤³¤Î»ÅÍͤÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
Êý¸þ¡¦µ÷Î¥½èÍý¥á¥½¥Ã¥É·²
¸½¥ª¥Ö¥¸¥§¥¯¥È¤òµ¯ÅÀ¤È¤·¤¿¡¢Êý¸þ¡¦µ÷Î¥¤ò°·¤¦Location::GeoTool::Direction ¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤¹¤ë¥á¥½¥Ã¥É·²¤Ç¤¹¡£ Location::GeoTool::Direction¤Ë¤Ä¤¤¤Æ¤ÏƱ¥¯¥é¥¹¤Îpod¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
my $dirobj = $locobj->direction_point('40/36/14.307','141/01/33.022','tokyo','mapion');
my ($dir,$dist) = ($dirobj->direction,$dirobj->distance);
or
my $direction = $locobj->direction_point($another_locobj)->direction;
or
my ($endlat,$endlong) = $locobj->direction_vector($dir,$dist)->to_point->array;
ÅùÅù¡£
direction_point
½ªÅÀ¤ò»ØÄꤷ¤Æ¡¢Location::GeoTool::Direction¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£ »ØÄê¤Ë¤Ï¡¢
$locobj->direction_point($lat,$long,$datum,$format);
¤Î¤è¤¦¤Ë½ªÅÀ¤Î·Ð°ÞÅÙ¡¦Â¬ÃÏ·Ï¡¦¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ÈÍѤ¹¤ëÊýË¡¡¢ µÚ¤Ó¾¤ÎLocation::GeoTool¥ª¥Ö¥¸¥§¥¯¥È¤ò»ÈÍѤ¹¤ëÊýË¡
$locobj->direction_point($another_locobj);
¤ÎÁÐÊý¤¬²Äǽ¤Ç¤¹¡£
direction_vector
Êý¸þ¡¦µ÷Î¥¤ò»ØÄꤷ¤ÆLocation::GeoTool::Direction¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
$locobj->direction_point($direction,$distance);
Êý¸þ¤ÏË̤ò0¡ë¤È¤·¤ÆÅìÊý¸þ¼þ¤ê¤Ë0¡ë¡Á360¡ë¤ÎÊý°Ì³Ñ¡¢µ÷Î¥¤Ïm¤Ç»ØÄꤷ¤Þ¤¹¡£
°Í¸
Math::Trig
´ØÏ¢¾ðÊó
·Ð°ÞÅÙ2ÅÀ¡Áµ÷Î¥¡¦Êý¸þ¤ÎÁÐÊý¸þÊÑ´¹Æ³½Ð¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢ http://williams.best.vwh.net/gccalc.htm¤Ë¤ª¤¤¤Æ¡¢ Ed Williams»á¤¬JavaScript¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤ò°Ü¿¢¤·¤Þ¤·¤¿¡£
¬ÃÏ·ÏÊÑ´¹¤ÎƳ½Ð¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢ http://homepage3.nifty.com/Nowral/02_DATUM/Molodensky.html¤Ë¤ª¤¤¤Æ¡¢ Nowral»á¤¬Perl CGI¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤ò°Ü¿¢¤·¤Þ¤·¤¿¡£
¤³¤ì¤é¤Î¥µ¥¤¥È¤Ë´¶¼Õ¤¤¤¿¤·¤Þ¤¹¡£
¤³¤Î¥â¥¸¥å¡¼¥ë¤Ï¡¢¤³¤³¥®¥³¡ª¥¦¥§¥Ö¥µ¥¤¥È¡¡¡§¡¡http://kokogiko.net/ ¤Ë¤Æ¥µ¥Ý¡¼¥È¤¤¤¿¤·¤Þ¤¹¡£
ºî¼Ô
ÂçÄÍ ¹±Ê¿, <nene@kokogiko.net>
Ãøºî¸¢¡¦¥é¥¤¥»¥ó¥¹
Copyright (C) 2003,2004 SpaceTag Inc.,
Ëܥ饤¥Ö¥é¥ê¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¤Ç¤¢¤ê¡¢PerlËÜÂΤÈƱ¤¸¾ò·ï¤Ç¤ÎºÆÇÛÉÛ¡¦²þÊѤ¬²Äǽ¤Ç¤¹¡£
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 1:
Non-ASCII character seen before =encoding in '̾Á°'. Assuming CP1252