Octave Mapping Toolbox

About

GNU Octave is a (mostly Matlab® compatible) high-level language, primarily intended for numerical computations. It provides a convenient command-line interface for solving linear and nonlinear problems numerically.

Octave uses some of the best and most respected numerical libraries as balgen, dassl, eispack, fftpack, lapack, linpack, minpack, odepack, ranlib, slatec-fn and villad. Octave can be dynamically extended with user-supplied C++ files.

The mapping toolbox includes functions for computing angular distances and displacements between points on a sphere, as well as the great circle azimuth. This Octave add-on package is part of the Octave-Forge project.

Homepage

http://www.gnu.org/software/octave/ 

License

GNU General Public License (GPL) version 3

Documentation

* "Bringing GIS to Octave" (PDF)
* Mapping toolbox function reference 

Quick example

Open a terminal and start the program by typing "octave".

• Which way to Barcelona from Sydney? 


  sydney = [-33.8750 151.2005]
  barcelona = [41+23/60 2+11/60]

  dirn = azimuth(sydney, barcelona)
  deg_symb = 176;
  disp(['Heading: ' num2str(dirn) deg_symb])

• How far's the trip? (roughly) 


  system('proj -le')
  wgs84_a = 6378137.0  % major radius of the Earth, in meters
  dist_deg = distance(sydney, barcelona)
  dist_meters = pi * wgs84_a * (dist_deg / 360.0)
  disp(['Distance: ' num2str(dist_meters / 1000) ' km'])

Type "exit" to leave.