Main Content

Angle Representations and Angular Units

This topic describes the angular units that Mapping Toolbox™ functions use, how to convert between common angle representations, and how to format latitude and longitude angles as text.

Use angles in mapping applications to indicate absolute positions, relative positions along reference ellipsoids, and relative positions in 3-D:

  • Absolute positions are latitudes and longitudes.

  • Relative positions on reference ellipsoids are azimuths along geodesics, great circles, and rhumb lines. Find these relative positions by using the distance function.

  • Relative positions in 3-D are both azimuths and elevations. Find these relative positions by using the geodetic2aer function.

Degrees and Radians

The most common angular units are degrees and radians. Modern Mapping Toolbox functions perform angle computations in only degrees. If your data is in radians, you can convert to degrees by using the rad2deg function.

Many Mapping Toolbox functions, such as distance and azimuth, use degrees by default and allow you to choose radians. Some functions, such as unwrapMultipart and meridianarc, use radians by default or require you to work in radians.

Degree Representations

Angles are commonly represented using degrees (–35.2625°), degrees-minutes (–35° 15.75'), and degrees-minutes-seconds (–35° 15' 45"). Minutes are 1/60 of a degree and seconds are 1/60 of a minute.

Because Mapping Toolbox functions perform angle computations using only degrees, if your data has values in degrees-minutes (DM) or degrees-minutes-seconds (DMS), you must convert the values to degrees before using them as input. Convert numeric values from DM or DMS to degrees by using the dm2degrees or dms2degrees function. You can also convert text values from DM or DMS to degrees by using the str2angle function.

If you want to publish coordinate values or format data for use with other applications, then you can convert degrees to DM or DMS. Convert degrees to DM or DMS by using the degrees2dm or degrees2dms function.

Degrees

Degrees represent angles using a sign or direction and a nonnegative decimal number. For example, you can represent a longitude of 35.2625 degrees west of the prime meridian as –35.2625° or 35.2625° W.

Note

Decimal degrees is a common way to refer to noninteger latitude and longitude values. The term is appropriate for angles formatted in text using decimal notation, such as when printed in a document or displayed at the MATLAB® command line. However, the term is inaccurate for angles in degrees that are stored in computer memory, such as in MATLAB variables. Angles are stored in memory as single or double precision floating-point numbers, which are binary representations, not decimal representations. Therefore, the term degrees is more accurate than decimal degrees for angles stored in memory, even when the angles have noninteger values.

Degrees-Minutes

Degrees-minutes represent angles using a sign or direction and two numbers:

  • Degrees (°) — A signed or unsigned integer

  • Minutes (') — A nonnegative decimal number in the range [0 60)

For example, a longitude of –35.2625 in degrees is –35° 15.75' or 35° 15.75' W in DM. This code shows how to convert numbers in DM to degrees by using the dm2degrees function.

dm2degrees([-35 15.75])
ans =

  -35.2625

Degrees-Minutes-Seconds

Degrees-minutes-seconds represent angles using a sign or direction and three numbers:

  • Degrees (°) — A signed or unsigned integer

  • Minutes (') — A nonnegative integer in the range [0 59]

  • Seconds (") — A nonnegative decimal number in the range [0 60)

For example, a longitude of –35.2625 in degrees is –35° 15' 45" or 35° 15' 45" W in DMS. This code shows how to convert numbers in DMS to degrees by using the dms2degrees function.

dms2degrees([-35 15 45])
ans =

  -35.2625

Latitude and Longitude Formats

You can format latitudes and longitudes by using letters or symbols:

  • Degrees — d or °

  • Minutes — m or '

  • Seconds — s or "

You can also indicate the sign of the angle by using letters:

  • Positive latitude — N

  • Negative latitude — S

  • Positive longitude — E

  • Negative longitude — W

For example, you can format 35 degrees, 15 minutes, 45 seconds west of the prime meridian as 35d15m45sW, 35° 15' 45" W, or –35° 15' 45".

Convert latitudes and longitudes in degrees to character arrays in DM or DMS for use with LaTeX by using the angl2str function. This code shows how to convert a longitude of -36.2625 degrees to a character array that uses DMS.

angl2str(-35.2625,"ew","degrees2dms")
ans =

    ' 35^{\circ} 15' 45.00" W '

If you want to format angles in ways that the angl2str function does not support, first convert the angle from decimal degrees to numbers in DM or DMS by using the degrees2dms or degrees2dm function. Then, format the numbers into a string or character vector by using the sprintf function.

This code shows how to convert the same longitude to a character array that uses Unicode® instead of LaTeX.

dm = degrees2dms(-35.2625);
sprintf('%d\x00B0 %u\x0027 %.2f\x0022 W',dm)
ans =

    '-35° 15' 45.00" W'

See Also

Functions