more useful options PerlMonks

Re: How do I compute the longitude and latitude of a point at a certain distance?

by I0 (Priest)
 on Apr 22, 2003 at 08:37 UTC ( #252219=note: print w/replies, xml ) Need Help??

```(\$latitude,\$longitude)=ll(
MILES=>5,
LATITUDE=>51+29/60,
LONGITUDE=>0+0/60,
DIRECTION=>315,
);

if( \$latitude < 0 ){
\$latitude *= -1;
\$ns='S';
}else{
\$ns='N';
}
if( \$longitude < 0 ){
\$longitude *= -1;
\$ew='W';
}else{
\$ew='E';
}
print int \$latitude,"°",60*(\$latitude-int \$latitude),"' \$ns\n",
int \$longitude,"°",60*(\$longitude-int \$longitude),"' \$ew\n";
use Math::Trig;
sub ll{
my %l=@_;
use constant PI=>4*atan2(1,1);
my \$nm = \$l{MILES}*.87;
my \$A=\$l{DIRECTION}*PI/180;
my \$b=(90-\$l{LATITUDE})*PI/180;
my \$c=\$nm/60/180*PI;
my \$a=acos(cos(\$b)*cos(\$c)+sin(\$b)*sin(\$c)*cos(\$A));
my \$latitude=90-180/PI*\$a;
my \$C=asin(sin(\$c)*sin(\$A)/sin(\$a));
my \$longitude=\$l{LONGITUDE}+180/PI*\$C;
return \$latitude,\$longitude;
}
• Comment on Re: How do I compute the longitude and latitude of a point at a certain distance?

Create A New User
Node Status?
node history
Node Type: note [id://252219]
help
Chatterbox?
 [stevieb]: shmem thanks for the 'insight' :P [shmem]: good thing that Sun already took "OpenWindows", otherwise I'd not stop to shudder imagining an "OpenWindows" from MS [shmem]: more garbage in, more garbage out that would be [stevieb]: I found that win10 broke a C# library I was using for one project while enhancing tests for a Perl dist, which breaks other Perl dists, and I'm about to throw my hands up on berrybrew. win2k12 broke one thing, win10 breaks something... [stevieb]: ...unrelated which requires replacing a lot of code and a whole lib. I'm about to go nix only ffs [shmem]: stevieb: what you're doing sounds afwully complex. Too much for me this evening to provide brighter insight ;-) [stevieb]: I don't even own a Windows computer. Both my girl and I have a laptop each with Linux. I'm supporting Windows in some of my projects and I can't even guage whether it's worth it or not. [stevieb]: shmem It's something I desired to have years ago, which is why I took over berrybrew. Cross-platform build/test automation locally, or over the network Test::BrewBuild [shmem]: sounds good. [shmem]: but I'm crumbling smaller stones. remember...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2017-03-28 22:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Should Pluto Get Its Planethood Back?

Results (342 votes). Check out past polls.