Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.244.607 Times

GIS::Distance::Vincenty 0.01001

  Date Added: August 24, 2010  |  Visits: 1.490

GIS::Distance::Vincenty

Report Broken Link
Printer Friendly Version


Product Homepage
Download (125 downloads)



GIS::Distance::Vincenty Perl module contains Thaddeus Vincenty distance calculations. SYNOPSIS my $calc = GIS::Distance::Vincenty->new(); my $distance = $calc->distance( $lon1, $lat1 => $lon2, $lat2 ); For the benefit of the terminally obsessive (as well as the genuinely needy), Thaddeus Vincenty devised formulae for calculating geodesic distances between a pair of latitude/longitude points on the earths surface, using an accurate ellipsoidal model of the earth. Vincentys formula is accurate to within 0.5mm, or 0.000015", on the ellipsoid being used. Calculations based on a spherical model, such as the (much simpler) Haversine, are accurate to around 0.3% (which is still good enough for most purposes, of course). Note: the accuracy quoted by Vincenty applies to the theoretical ellipsoid being used, which will differ (to varying degree) from the real earth geoid. If you happen to be located in Colorado, 2km above msl, distances will be 0.03% greater. In the UK, if you measure the distance from Lands End to John O Groats using WGS-84, it will be 28m - 0.003% - greater than using the Airy ellipsoid, which provides a better fit for the UK. NOTE: This formula is still considered alpha quality in GIS::Distance. It has not been tested enough to be used in production. FORMULA a, b = major & minor semiaxes of the ellipsoid f = flattening (a-b)/a L = lon2 - lon1 u1 = atan((1-f) * tan(lat1)) u2 = atan((1-f) * tan(lat2)) sin_u1 = sin(u1) cos_u1 = cos(u1) sin_u2 = sin(u2) cos_u2 = cos(u2) lambda = L lambda_pi = 2PI while abs(lambda-lambda_pi) > 1e-12 sin_lambda = sin(lambda) cos_lambda = cos(lambda) sin_sigma = sqrt((cos_u2 * sin_lambda) * (cos_u2*sin_lambda) + (cos_u1*sin_u2-sin_u1*cos_u2*cos_lambda) * (cos_u1*sin_u2-sin_u1*cos_u2*cos_lambda)) cos_sigma = sin_u1*sin_u2 + cos_u1*cos_u2*cos_lambda sigma = atan2(sin_sigma, cos_sigma) alpha = asin(cos_u1 * cos_u2 * sin_lambda / sin_sigma) cos_sq_alpha = cos(alpha) * cos(alpha) cos2sigma_m = cos_sigma - 2*sin_u1*sin_u2/cos_sq_alpha cc = f/16*cos_sq_alpha*(4+f*(4-3*cos_sq_alpha)) lambda_pi = lambda lambda = L + (1-cc) * f * sin(alpha) * (sigma + cc*sin_sigma*(cos2sigma_m+cc*cos_sigma*(-1+2*cos2sigma_m*cos2sigma_m))) } usq = cos_sq_alpha*(a*a-b*b)/(b*b); aa = 1 + usq/16384*(4096+usq*(-768+usq*(320-175*usq))) bb = usq/1024 * (256+usq*(-128+usq*(74-47*usq))) delta_sigma = bb*sin_sigma*(cos2sigma_m+bb/4*(cos_sigma*(-1+2*cos2sigma_m*cos2sigma_m)- bb/6*cos2sigma_m*(-3+4*sin_sigma*sin_sigma)*(-3+4*cos2sigma_m*cos2sigma_m))) c = b*aa*(sigma-delta_sigma).

Requirements: No special requirements
Platforms: Linux
Keyword: Cos Gis Gisdistancevincenty Lambda Libraries Perl Module Programming Sigma Sin Thaddeus Vincenty Vincenty Perl
Users rating: 0/10

License: Freeware Size: 8.19 KB
USER REVIEWS
More Reviews or Write Review


GIS::DISTANCE::VINCENTY RELATED
Programming  -  devkitPro 1.5.7
This project is for homebrew console development tools based on the gnu compiler collection with additional tools and libraries to aid programming each supported console. The windows variants are built with MinGW.
444.26 KB  
Libraries  -  perlfaq3 5.8.8
perlfaq3 Perl module contains programming tools. How do I do (anything)? Have you looked at CPAN (see perlfaq2)? The chances are that someone has already written a module that can solve your problem. Have you read the appropriate manpages?...
12.2 MB  
Libraries  -  Socket 5.8.8
Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa is a Perl module to load the C socket.h defines and structure manipulators. SYNOPSIS use Socket; $proto = getprotobyname(udp); socket(Socket_Handle, PF_INET, SOCK_DGRAM, $proto);...
12.2 MB  
Libraries  -  Gtk2::SourceView 1.000
Gtk2::SourceView provides Perl wrappers for the GtkSourceView widget. Perl bindings to the 1.x series of the GtkSourceView widget libraries. This module allows you to write Perl applications that utilize the GtkSourceView library for source...
16.38 KB  
Libraries  -  Tree::PseudoIncLib 0.05
Tree::PseudoIncLib is a Perl class for encapsulating a description of pseudo-INC array. ABSTRACT This module encapsulates a perl-type library description data and provides methods for manipulating that data. It is in no way associated with any...
38.91 KB  
Modules  -  PHP-Nuke Index Module Changer 1.0
This module will give you the ability place data from your phpnuke cms anywhere on your index home page. No php programming is required ~ only basic html knowledge , few changes to layout.html , i_config.php configuration file and you can...
481.28 KB  
Modules  -  GET Node Image 6.x-1.0
This is a convenience module for Drupal-based Ajax programming. It returns images attached to a node from CCK Imagefields. An HTTP GET request to a predefined URL format (e.g. node_resource/NODE_ID/CCK_IMAGEFIELD_LABEL/0) returns the image to the...
10 KB  
Modules  -  javascript Libraries Manager 7.x-1.0-rc3
This module is designed to facilitate re-use of some of the JS libraries (e.g. jquery UI) that ship with Drupal core, as well as to make it easier to for users to add custom javascript to a site.The purpose of this module is very different from...
20.48 KB  
Libraries  -  GODI 20060118
GODI library provides an advanced programming environment for the Objective Caml (OCaml) language. From INRIA (who created OCaml) you can get the OCaml compiler and runtime system, but this is usually not enough to develop applications. You also...
1.5 MB  
Modules  -  Bespin Embedded 6.x-1.4
This module allows the user to embed the Bespin code editor into arbitrary textareas.Important:The Administer Bespin Embedded permission can allow the permission holder to inject javascript directly into the page. Only grant to trusted...
10 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB