code::Location Class Reference

List of all members.

Detailed Description

Earth-fixed representation of a point in space.

Author:
Lulin Song (original)
Author
lakshman
Date
2009/06/02 20:17:38


Public Member Functions

 Location ()
 Default constructor sets lat, lon, and height to zero.
 Location (const Angle &, const Angle &, const Length &)
 Build location from latitude, longitude and height.
 Location (const LatLon &, const Length &)
 Build Location from LatLon and height.
 ~Location ()
 Do-nothing destructor.
bool isValid () const
 Check validity.
void setLongitude (const Angle &a)
 Set the longitude of this Location.
void setLatitude (const Angle &a)
 Set the latitude of this Location.
void setHeight (const Length &d)
 Set the height of this Location.
const AnglegetLongitude () const
const AnglegetLatitude () const
const LengthgetHeight () const
Length getSurfaceDistanceTo (const Location &b) const
Location getAzRanElLocation (const Angle &, const Length &, const Angle &) const
 Build a Location for (az,ran,el) from a given Location.
void getAzimuthRangeElev (const Location &target, Angle &azimuth, Length &range, Angle &elev) const
Location getAzRanLocation (const Angle &, const Length &) const
 Calculate a down-range Location from a given Location.
AzRangeHeight LL_to_AzRange (const Location &, const Angle &) const
 Calculate the azimuth (degrees), range (meters), and height (meters) for a lat/lon location along a radar beam from this Location.
AzRangeHeight Sfc_LL_to_AzRange (const Location &) const
 Calculate the azimuth (degrees) and range (meters) for a lat/lon location along the surface from this Location.
AzRanEl azRanEl (const Location &target) const
 Return the azimuth, range, and elevation of another Location with respect to this Location.
LatLon Projection_XY_to_LL (const Length &, const Length &) const
 Calculate latitude/longitude from a cartesian coordinate pair.
LatLon XY_to_LL (const Length &, const Length &) const
 Calculate latitude/longitude from a cartesian coordinate pair.
Location getLocation (const Length &east, const Length &north, const Length &higher) const
 Return the location of the point that is the given distance away from this one.
LocationCPoint getPoint () const
 Get a wrapper object LocationCPoint that wraps this Location along with its CPoint.
Location operator+ (const Displacement &) const
 Add a Displacement to get a new Location.
Location operator+ (const DLLH &) const
 Add a raw DLLH to get a new Location.
Location operator- (const Displacement &) const
 Subtract a Displacement to get a new Location.
Location operator- (const DLLH &) const
 Subtract a raw DLLH to get a new Location.
Locationoperator+= (const Displacement &)
Locationoperator+= (const DLLH &)
Locationoperator-= (const Displacement &)
Locationoperator-= (const DLLH &)
Displacement operator- (const Location &) const
 Subtract another Location and return a Displacement.
bool operator== (const Location &l) const
 Comparison of locations.

Static Public Member Functions

static void XY_to_AzRange (const Length &, const Length &, Angle &, Length &)
 Calculate azimuth and range from x and y.
static void AzRange_to_XY (const Angle &, const Length &, Length &, Length &)
 Calculate x and y from azimuth and range.
static Length RangeElev_to_Height (const Length &, const Angle &)
 Calculate height acording elevation angle and range.


Constructor & Destructor Documentation

code::Location::Location (  ) 

Default constructor sets lat, lon, and height to zero.

code::Location::Location ( const Angle ,
const Angle ,
const Length  
)

Build location from latitude, longitude and height.

Parameters:
const_Angle& latitude
const_Angle& longitude
const_Length& height

code::Location::Location ( const LatLon ,
const Length  
)

Build Location from LatLon and height.

Parameters:
const_LatLon& angular location about earth center
const_Length& height above earth surface

code::Location::~Location (  )  [inline]

Do-nothing destructor.


Member Function Documentation

AzRanEl code::Location::azRanEl ( const Location target  )  const

Return the azimuth, range, and elevation of another Location with respect to this Location.

static void code::Location::AzRange_to_XY ( const Angle ,
const Length ,
Length ,
Length  
) [static]

Calculate x and y from azimuth and range.

This is a wrapper of John's function.

Parameters:
const_Angle& given azimuth
const_Length& given range
Length& returned value of east-west (positive east) distance x from origin
Length& returned value north-south (positive north) distance y from origin
See also:
storm_general.h for detail

storm_general.cc for detail

void code::Location::getAzimuthRangeElev ( const Location target,
Angle azimuth,
Length range,
Angle elev 
) const

Location code::Location::getAzRanElLocation ( const Angle ,
const Length ,
const Angle  
) const

Build a Location for (az,ran,el) from a given Location.

This is a wrapper to Mike Mahsig's function.

Parameters:
const_Angle& azimuth of returned Location from this Location's point of view
const_Length& range of returned Location from this Location's point of view
const_Angle& elevation angle of returned Location from this Location's point of view
Returns:
Location of point defined by azimuth, range, and elevation
See also:
storm_general.h

storm_general.cc

Location code::Location::getAzRanLocation ( const Angle ,
const Length  
) const

Calculate a down-range Location from a given Location.

This is a wrapper for John Krause's function. This function does not consider the elevation for each sweep.

Parameters:
const_Angle& azimuth of returned Location from this Location's point of view
const_Length& range of returned Location from this Location's point of view
Returns:
Location of point determined by range and azimuth
See also:
storm_general.h

storm_general.cc

const Length& code::Location::getHeight (  )  const [inline]

Returns:
the height (const Length& as return type)

const Angle& code::Location::getLatitude (  )  const [inline]

Returns:
the latitude (const Angle& as return type)

Location code::Location::getLocation ( const Length east,
const Length north,
const Length higher 
) const

Return the location of the point that is the given distance away from this one.

const Angle& code::Location::getLongitude (  )  const [inline]

Returns:
the longitude (const Angle& as return type)

LocationCPoint code::Location::getPoint (  )  const

Get a wrapper object LocationCPoint that wraps this Location along with its CPoint.

Save the LocationCPoint avoid having to recompute CPoint each time.

Length code::Location::getSurfaceDistanceTo ( const Location b  )  const

Returns:
the Great Circle Distance to another location, on the surface of the earth.

bool code::Location::isValid (  )  const

Check validity.

AzRangeHeight code::Location::LL_to_AzRange ( const Location ,
const Angle  
) const

Calculate the azimuth (degrees), range (meters), and height (meters) for a lat/lon location along a radar beam from this Location.

This is a wrapper to Mike Mahsig's function.

Parameters:
const_Location& target Location
const_Angle& elevation angle
Returns:
AzRangeHeight of target from station's point of view
See also:
storm_general.h

storm_general.cc

Location code::Location::operator+ ( const DLLH  )  const

Add a raw DLLH to get a new Location.

Location code::Location::operator+ ( const Displacement  )  const

Add a Displacement to get a new Location.

Location& code::Location::operator+= ( const DLLH  ) 

Location& code::Location::operator+= ( const Displacement  ) 

Displacement code::Location::operator- ( const Location  )  const

Subtract another Location and return a Displacement.

Location code::Location::operator- ( const DLLH  )  const

Subtract a raw DLLH to get a new Location.

Location code::Location::operator- ( const Displacement  )  const

Subtract a Displacement to get a new Location.

Location& code::Location::operator-= ( const DLLH  ) 

Location& code::Location::operator-= ( const Displacement  ) 

bool code::Location::operator== ( const Location l  )  const [inline]

Comparison of locations.

LatLon code::Location::Projection_XY_to_LL ( const Length ,
const Length  
) const

Calculate latitude/longitude from a cartesian coordinate pair.

This is a wrapper function. The x and y input coordinates are cartesian coordinates with the origin centered at the tangent point of the map projection.

Parameters:
const_Length& east-west (positive east) distance x from this Location
const_Length& north-south (positive north) distance y from this Location
Returns:
latitude/longitude
See also:
cartesian.h for detail

cartesian.cc for detail

static Length code::Location::RangeElev_to_Height ( const Length ,
const Angle  
) [static]

Calculate height acording elevation angle and range.

Curvature of the bin is considered by using 4/3 earth radius.

This is function is given by Kurt Hondl.

Parameters:
const_Length& given range
const_Angle& given elevation angle
Length& returned value of height from earth surface

void code::Location::setHeight ( const Length d  )  [inline]

Set the height of this Location.

void code::Location::setLatitude ( const Angle a  )  [inline]

Set the latitude of this Location.

void code::Location::setLongitude ( const Angle a  )  [inline]

Set the longitude of this Location.

AzRangeHeight code::Location::Sfc_LL_to_AzRange ( const Location  )  const

Calculate the azimuth (degrees) and range (meters) for a lat/lon location along the surface from this Location.

This is wrapper for John Krause's function.

Parameters:
const_Location& target Location
Returns:
AzRangeHeight of target from station's point of view
See also:
storm_general.h

storm_general.cc

static void code::Location::XY_to_AzRange ( const Length ,
const Length ,
Angle ,
Length  
) [static]

Calculate azimuth and range from x and y.

This is a wrapper of John's function.

Parameters:
const_Length& given east-west (positive east) distance x from origin
const_Length& given north-south (positive north) distance y from origin
Angle& returned value of azimuth
Length& returned value of range
See also:
storm_general.h for detail

storm_general.cc for detail

LatLon code::Location::XY_to_LL ( const Length ,
const Length  
) const

Calculate latitude/longitude from a cartesian coordinate pair.

FIXME: We need to explain how this function differs from the previous function.

This is a wrapper of John's function. Input parameters x and y are cartesian coordinates with the origin centered at the tangent point of the map projection.

Parameters:
const_Length& east-west (positive east) distance x from given Location
const_Length& north-south (positive north) distance y from given Location
Returns:
latitude/longitude
See also:
storm_general.h for detail

storm_general.cc for detail


Generated on Fri May 4 13:40:12 2012 for WDSS-IIw2 by  doxygen 1.4.7