Main Content

angle

Angle between sites

Syntax

``[az,el] = angle(site1,site2)``
``[az,el] = angle(site1,site2,path)``
``[az,el] = angle(___,Name=Value)``

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"`
• 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 R2017b