Main Content

angle

Angle between sites

Description

[az,el] = angle(site1,site2) calculates the azimuth and elevation angles between the specified sites.

example

[az,el] = angle(site1,site2,path) calculates the angles using the specified path type, either the Euclidean path or the great circle path.

example

[az,el] = angle(___,Name=Value) specifies options using name-value arguments.

Examples

collapse all

Create a transmitter site and a receiver site. Specify the locations using geographic coordinates.

tx = txsite(Name="MathWorks", ...
    Latitude=42.3001, ...
    Longitude=-71.3504);
rx = rxsite(Name="Fenway Park", ...
    Latitude=42.3467, ...
    Longitude=-71.0972);

Calculate the azimuth and elevation angles between the sites. By default, the function uses a Euclidean path between the sites.

[az,el] = angle(tx,rx)
az = 14.0142
el = -0.2805

For geographic sites, the function returns the azimuth angle in degrees, measured counterclockwise from the east. Convert the azimuth angle so that it is measured clockwise from the north.

azFromEast = az; % degrees counterclockwise from east
azFromNorth = -azFromEast + 90 % degrees clockwise from north
azFromNorth = 75.9858

Create a transmitter site and a receiver site. Specify the locations using geographic coordinates.

tx = txsite(Name="MathWorks", ...
    Latitude=42.3001, ...
    Longitude=-71.3504);
rx = rxsite(Name="Fenway Park", ...
    Latitude=42.3467, ...
    Longitude=-71.0972);

Calculate the azimuth and elevation angles between the sites using a great circle path.

[az,el] = angle(tx,rx,"greatcircle")
az = 14.0635
el = 0

Input Arguments

collapse all

Transmitter or receiver site, specified as a txsite or rxsite object. Specify multiple sites using array inputs.

Measurement path type, specified as one of the following:

  • "euclidean" — Use the shortest path through space that connects the antenna center positions of the sites. The option is the default for both Cartesian and geographic sites.

  • "greatcircle" — Use the shortest path on the surface of a spherical Earth that connects the geographic locations of the sites. This option requires the CoordinateSystem properties of the sites to be "geographic".

Data Types: char

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: [az,el] = angle(site1,site2,"Map","myfile.stl") specifies the map as an STL file.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: [az,el] = angle(site1,site2,Map="myfile.stl") specifies the map as an STL file.

Map for visualization or surface data, specified as a siteviewer object, a triangulation object, a string scalar, or a character vector. Valid and default values depend on the coordinate system.

Coordinate SystemValid map valuesDefault map value
"geographic"
  • A siteviewer objecta

  • A terrain name, if the function is called with an output argument. Valid terrain names are "none", "gmted2010", or the name of the custom terrain data added using addCustomTerrain.

  • The current siteviewer object or a new siteviewer object if none are open

  • "gmted2010", if the function is called with an output

"cartesian"
  • "none"

  • A siteviewer object

  • The name of a glTF™ file

  • The name of an STL file

  • A triangulation object

  • "none"

a Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.

In most cases, if you specify this argument as a value other than a siteviewer or "none", then you must also specify an output argument.

Data Types: char | string

Output Arguments

collapse all

Azimuth angle between the sites, in degrees, returned as an M-by-N array, where M is the number of sites in site1 and N is the number of sites in site2.

For geographic sites, the azimuth angle is measured counterclockwise from the east. For Cartesian sites, the azimuth angle is measured from the global x-axis around the global z-axis. The angle is in the range [–180, 180] degrees.

Elevation angle between the sites, in degrees, returned as an M-by-N array. M is the number of sites in site2 and N is the number of sites in site1.

The elevation angle is measured from the horizontal (or xy) plane. The angle is in the range [–90, 90] degrees.

When you specify the path type as "greatcircle", the elevation angle is 0.

Version History

Introduced in R2019b

See Also

Functions

Objects