Constructor
new Location(latitude, longitude)
Constructs a location from a specified latitude and longitude in degrees.
Parameters:
Name  Type  Description 

latitude 
Number  The latitude in degrees. 
longitude 
Number  The longitude in degrees. 
 Source:
Members
(static) poles :Object
A bit mask indicating which if any pole is being referenced.
This corresponds to Java WW's AVKey.NORTH and AVKey.SOUTH,
although this encoding can capture both poles simultaneously, which was
a 'to do' item in the Java implementation.
Type:
 Object
 Source:
(static, constant) ZERO :Location
A Location with latitude and longitude both 0.
Type:
 Source:
latitude :Number
The latitude in degrees.
Type:
 Number
 Source:
longitude :Number
The longitude in degrees.
Type:
 Number
 Source:
Methods
(static) fromRadians(latitudeRadians, longitudeRadians) → {Location}
Creates a location from angles specified in radians.
Parameters:
Name  Type  Description 

latitudeRadians 
Number  The latitude in radians. 
longitudeRadians 
Number  The longitude in radians 
 Source:
Returns:
The new location with latitude and longitude in degrees.
 Type
 Location
(static) greatCircleArcExtremeForTwoLocations(begin, end) → {Array.<Location>}
Returns two locations with the most extreme latitudes on the great circle arc defined by, and limited to, the two
locations.
Parameters:
Name  Type  Description 

begin 
Location  Beginning location on the great circle arc. 
end 
Location  Ending location on the great circle arc. 
 Source:
Throws:

If either begin or end are null.
 Type
 ArgumentError
Returns:
Two locations with the most extreme latitudes on the great circle arc.
 Type
 Array.<Location>
(static) greatCircleArcExtremeLocations(locations) → {Array.<Location>}
Returns two locations with the most extreme latitudes on the sequence of great circle arcs defined by each pair
of locations in the specified iterable.
Parameters:
Name  Type  Description 

locations 
Array.<Location>  The pairs of locations defining a sequence of great circle arcs. 
 Source:
Throws:
IllegalArgumentException if locations is null.
Returns:
Two locations with the most extreme latitudes on the great circle arcs.
 Type
 Array.<Location>
(static) greatCircleAzimuth(location1, location2) → {Number}
Computes the azimuth angle (clockwise from North) that points from the first location to the second location.
This angle can be used as the starting azimuth for a great circle arc that begins at the first location, and
passes through the second location.
This function uses a spherical model, not elliptical.
Parameters:
Name  Type  Description 

location1 
Location  The starting location. 
location2 
Location  The ending location. 
 Source:
Throws:

If either specified location is null or undefined.
 Type
 ArgumentError
Returns:
The computed azimuth, in degrees.
 Type
 Number
(static) greatCircleDistance(location1, location2) → {Number}
Computes the great circle angular distance between two locations. The return value gives the distance as the
angle between the two positions. In radians, this angle is the arc length of the segment between the two
positions. To compute a distance in meters from this value, multiply the return value by the radius of the
globe.
This function uses a spherical model, not elliptical.
Parameters:
Name  Type  Description 

location1 
Location  The starting location. 
location2 
Location  The ending location. 
 Source:
Throws:

If either specified location is null or undefined.
 Type
 ArgumentError
Returns:
The computed distance, in radians.
 Type
 Number
(static) greatCircleExtremeLocationsUsingAzimuth(location, azimuth) → {Array.<Location>}
Returns two locations with the most extreme latitudes on the great circle with the given starting location and
azimuth.
Parameters:
Name  Type  Description 

location 
Location  Location on the great circle. 
azimuth 
number  Great circle azimuth angle (clockwise from North). 
 Source:
Throws:

If location is null.
 Type
 ArgumentError
Returns:
Two locations where the great circle has its extreme latitudes.
 Type
 Array.<Location>
(static) greatCircleLocation(location, greatCircleAzimuthDegrees, pathLengthRadians, result) → {Location}
Computes the location on a great circle path corresponding to a given starting location, azimuth, and
arc distance.
This function uses a spherical model, not elliptical.
Parameters:
Name  Type  Description 

location 
Location  The starting location. 
greatCircleAzimuthDegrees 
Number  The azimuth in degrees. 
pathLengthRadians 
Number  The radian distance along the path at which to compute the end location. 
result 
Location  A Location in which to return the result. 
 Source:
Throws:

If the specified location or the result argument is null or undefined.
 Type
 ArgumentError
Returns:
The specified result location.
 Type
 Location
(static) interpolateAlongPath(pathType, amount, location1, location2, result) → {Location}
Compute a location along a path at a specified distance between two specified locations.
Parameters:
Name  Type  Description 

pathType 
String  The type of path to assume. Recognized values are WorldWind.GREAT_CIRCLE, WorldWind.RHUMB_LINE and WorldWind.LINEAR. If the path type is not recognized then WorldWind.LINEAR is used. 
amount 
Number  The fraction of the path between the two locations at which to compute the new location. This number should be between 0 and 1. If not, it is clamped to the nearest of those values. 
location1 
Location  The starting location. 
location2 
Location  The ending location. 
result 
Location  A Location in which to return the result. 
 Source:
Throws:

If either specified location or the result argument is null or undefined.
 Type
 ArgumentError
Returns:
The specified result location.
 Type
 Location
(static) interpolateGreatCircle(amount, location1, location2, result) → {Location}
Compute a location along a great circle path at a specified distance between two specified locations.
Parameters:
Name  Type  Description 

amount 
Number  The fraction of the path between the two locations at which to compute the new location. This number should be between 0 and 1. If not, it is clamped to the nearest of those values. This function uses a spherical model, not elliptical. 
location1 
Location  The starting location. 
location2 
Location  The ending location. 
result 
Location  A Location in which to return the result. 
 Source:
Throws:

If either specified location or the result argument is null or undefined.
 Type
 ArgumentError
Returns:
The specified result location.
 Type
 Location
(static) interpolateLinear(amount, location1, location2, result) → {Location}
Compute a location along a linear path at a specified distance between two specified locations.
Parameters:
Name  Type  Description 

amount 
Number  The fraction of the path between the two locations at which to compute the new location. This number should be between 0 and 1. If not, it is clamped to the nearest of those values. 
location1 
Location  The starting location. 
location2 
Location  The ending location. 
result 
Location  A Location in which to return the result. 
 Source:
Throws:

If either specified location or the result argument is null or undefined.
 Type
 ArgumentError
Returns:
The specified result location.
 Type
 Location
(static) interpolateRhumb(amount, location1, location2, result) → {Location}
Compute a location along a rhumb path at a specified distance between two specified locations.
This function uses a spherical model, not elliptical.
Parameters:
Name  Type  Description 

amount 
Number  The fraction of the path between the two locations at which to compute the new location. This number should be between 0 and 1. If not, it is clamped to the nearest of those values. 
location1 
Location  The starting location. 
location2 
Location  The ending location. 
result 
Location  A Location in which to return the result. 
 Source:
Throws:

If either specified location or the result argument is null or undefined.
 Type
 ArgumentError
Returns:
The specified result location.
 Type
 Location
(static) intersectionWithMeridian(p1, p2, meridian, globe) → {number}
Determine where a line between two positions crosses a given meridian. The intersection test is performed by
intersecting a line in Cartesian space between the two positions with a plane through the meridian. Thus, it is
most suitable for working with positions that are fairly close together as the calculation does not take into
account great circle or rhumb paths.
Parameters:
Name  Type  Description 

p1 
Location  First position. 
p2 
Location  Second position. 
meridian 
number  Longitude line to intersect with. 
globe 
Globe  Globe used to compute intersection. 
 Source:
Returns:
latitude The intersection latitude along the meridian
TODO: this code allocates 4 new Vec3 and 1 new Position; use scratch variables???
TODO: Why not? Every location created would then allocated those variables as well, even if they aren't needed :(.
 Type
 number
(static) linearAzimuth(location1, location2) → {Number}
Computes the azimuth angle (clockwise from North) that points from the first location to the second location.
This angle can be used as the azimuth for a linear arc that begins at the first location, and
passes through the second location.
Parameters:
Name  Type  Description 

location1 
Location  The starting location. 
location2 
Location  The ending location. 
 Source:
Throws:

If either specified location is null or undefined.
 Type
 ArgumentError
Returns:
The computed azimuth, in degrees.
 Type
 Number
(static) linearDistance(location1, location2) → {Number}
Computes the linear angular distance between two locations. The return value gives the distance as the
angle between the two positions in radians. This angle is the arc length of the segment between the two
positions. To compute a distance in meters from this value, multiply the return value by the radius of the
globe.
Parameters:
Name  Type  Description 

location1 
Location  The starting location. 
location2 
Location  The ending location. 
 Source:
Throws:

If either specified location is null or undefined.
 Type
 ArgumentError
Returns:
The computed distance, in radians.
 Type
 Number
(static) linearLocation(location, azimuthDegrees, pathLengthRadians, result) → {Location}
Computes the location on a linear path with the given starting location, azimuth, and arc distance.
Parameters:
Name  Type  Description 

location 
Location  The starting location. 
azimuthDegrees 
Number  The azimuth in degrees. 
pathLengthRadians 
Number  The radian distance along the path at which to compute the location. 
result 
Location  A Location in which to return the result. 
 Source:
Throws:

If the specified location or the result argument is null or undefined.
 Type
 ArgumentError
Returns:
The specified result location.
 Type
 Location
(static) locationsCrossDateLine(locations) → {boolean}
Determine whether a list of locations crosses the dateline.
Parameters:
Name  Type  Description 

locations 
Array.<Location>  The locations to test. 
 Source:
Throws:

If the locations list is null.
 Type
 ArgumentError
Returns:
True if the dateline is crossed, else false.
 Type
 boolean
(static) meridianIntersection(p1, p2, meridian) → {numbernull}
Determine where a line between two positions crosses a given meridian. The intersection test is performed by
intersecting a line in Cartesian space. Thus, it is most suitable for working with positions that are fairly
close together as the calculation does not take into account great circle or rhumb paths.
Parameters:
Name  Type  Description 

p1 
Location  Position  First position. 
p2 
Location  Position  Second position. 
meridian 
number  Longitude line to intersect with. 
 Source:
Returns:
latitude The intersection latitude along the meridian
or null if the line is collinear with the meridian
 Type
 number  null
(static) rhumbAzimuth(location1, location2) → {Number}
Computes the azimuth angle (clockwise from North) that points from the first location to the second location.
This angle can be used as the azimuth for a rhumb arc that begins at the first location, and
passes through the second location.
This function uses a spherical model, not elliptical.
Parameters:
Name  Type  Description 

location1 
Location  The starting location. 
location2 
Location  The ending location. 
 Source:
Throws:

If either specified location is null or undefined.
 Type
 ArgumentError
Returns:
The computed azimuth, in degrees.
 Type
 Number
(static) rhumbDistance(location1, location2) → {Number}
Computes the rhumb angular distance between two locations. The return value gives the distance as the
angle between the two positions in radians. This angle is the arc length of the segment between the two
positions. To compute a distance in meters from this value, multiply the return value by the radius of the
globe.
This function uses a spherical model, not elliptical.
Parameters:
Name  Type  Description 

location1 
Location  The starting location. 
location2 
Location  The ending location. 
 Source:
Throws:

If either specified location is null or undefined.
 Type
 ArgumentError
Returns:
The computed distance, in radians.
 Type
 Number
(static) rhumbLocation(location, azimuthDegrees, pathLengthRadians, result) → {Location}
Computes the location on a rhumb arc with the given starting location, azimuth, and arc distance.
This function uses a spherical model, not elliptical.
Parameters:
Name  Type  Description 

location 
Location  The starting location. 
azimuthDegrees 
Number  The azimuth in degrees. 
pathLengthRadians 
Number  The radian distance along the path at which to compute the location. 
result 
Location  A Location in which to return the result. 
 Source:
Throws:

If the specified location or the result argument is null or undefined.
 Type
 ArgumentError
Returns:
The specified result location.
 Type
 Location
copy(location) → {Location}
Copies this location to the latitude and longitude of a specified location.
Parameters:
Name  Type  Description 

location 
Location  The location to copy. 
 Source:
Throws:

If the specified location is null or undefined.
 Type
 ArgumentError
Returns:
This location, set to the values of the specified location.
 Type
 Location
equals(location) → {boolean}
Indicates whether this location is equal to a specified location.
Parameters:
Name  Type  Description 

location 
Location  The location to compare this one to. 
 Source:
Returns:
true
if this location is equal to the specified location, otherwise
false
.
 Type
 boolean
set(latitude, longitude) → {Location}
Sets this location to the latitude and longitude.
Parameters:
Name  Type  Description 

latitude 
number  The latitude to set. 
longitude 
number  The longitude to set. 
 Source:
Throws:

If the specified location is null or undefined.
 Type
 ArgumentError
Returns:
This location, set to the values of the specified location.
 Type
 Location