|  | Rogue Wave Views Maps Package API Reference Guide | Rogue Wave Views Documentation Home | 
An IlvCoordinate object is a point defined by two values in double precision.  
 More...
#include <ilviews/maps/coord.h>
| Public Member Functions | |
| IlvCoordinate (IlDouble x=0.0, IlDouble y=0.0) | |
| This constructor initializes a new instance of IlvCoordinate.  More... | |
| IlBoolean | isCloseTo (const IlvCoordinate &other, IlDouble tolerance=0.0) const | 
| Checks if two coordinates are close.  More... | |
| IlDouble | lat () const | 
| Returns the latitude value.  More... | |
| void | lat (IlDouble lat) | 
| Sets the latitude value.  More... | |
| IlDouble | lon () const | 
| Returns the longitude value.  More... | |
| void | lon (IlDouble lon) | 
| Sets the longitude value.  More... | |
| void | move (IlDouble x, IlDouble y) | 
| This member function takes existing coordinates and moves them to another position.  More... | |
| IlvCoordinate & | operator= (const IlvCoordinate &c) | 
| Assignment operator.  More... | |
| int | operator== (const IlvCoordinate &c) const | 
| Equality operator.  More... | |
| IlBoolean | toDD (IlString &output) const | 
| Converts this object into a DD-formatted string.  More... | |
| IlBoolean | toDMS (IlString &output) const | 
| Converts this object into a DMS-formatted string.  More... | |
| IlBoolean | toMGRS (IlUShort &zoneNumber, char &zoneDesignator, IlString &squareId, IlUInt &easting, IlUInt &northing, const IlvEllipsoid *ellipsoid=0) const | 
| Converts this object into MGRS values.  More... | |
| IlBoolean | toMGRS (IlString &output, const IlvEllipsoid *ellipsoid=0) const | 
| Converts this object into an MGRS string representation.  More... | |
| IlBoolean | toUTM (IlUShort &zoneNumber, char &zoneDesignator, IlDouble &easting, IlDouble &northing, const IlvEllipsoid *ellipsoid=0) const | 
| Converts this object into UTM/UPS values.  More... | |
| IlBoolean | toUTM (IlString &output, const IlvEllipsoid *ellipsoid=0) const | 
| Converts this object into an UTM/UPS string representation.  More... | |
| void | translate (IlDouble dx, IlDouble dy) | 
| Translates an IlvCoordinate.  More... | |
| void | translate (const IlvCoordinate &dc) | 
| Translates an IlvCoordinate.  More... | |
| IlDouble | x () const | 
| Returns the xvalue.  More... | |
| void | x (IlDouble x) | 
| Sets the x value.  More... | |
| IlDouble | y () const | 
| Returns the yvalue.  More... | |
| void | y (IlDouble y) | 
| Sets the y value.  More... | |
| Static Public Member Functions | |
| static IlBoolean | FromDD (const IlString &input, IlvCoordinate &output) | 
| Converts a DD-formatted string into an IlvCoordinateobject.  More... | |
| static IlBoolean | FromDMS (const IlString &input, IlvCoordinate &output) | 
| Converts a DMS-formatted string into an IlvCoordinateobject.  More... | |
| static IlBoolean | FromMGRS (IlUShort zoneNumber, char zoneDesignator, const IlString &squareId, IlUInt easting, IlUInt northing, IlvCoordinate &output, const IlvEllipsoid *ellipsoid=0) | 
| Converts MGRS coordinates into an IlvCoordinateobject.  More... | |
| static IlBoolean | FromMGRS (const IlString &input, IlvCoordinate &output, const IlvEllipsoid *ellipsoid=0) | 
| Converts a UTM/UPS-formatted string into an IlvCoordinateobject.  More... | |
| static IlBoolean | FromUTM (IlUShort zoneNumber, char zoneDesignator, IlDouble easting, IlDouble northing, IlvCoordinate &output, const IlvEllipsoid *ellipsoid=0) | 
| Converts UTM/UPS coordinates into an IlvCoordinateobject.  More... | |
| static IlBoolean | FromUTM (const IlString &input, IlvCoordinate &output, const IlvEllipsoid *ellipsoid=0) | 
| Converts a UTM/UPS-formatted string into an IlvCoordinateobject.  More... | |
An IlvCoordinate object is a point defined by two values in double precision. 
Library: ilvmaps
An IlvCoordinate object is a point defined by two values in double precision. The class IlvCoordinate is the basic data structure for computing projections.
The x and y values designate either the Cartesian coordinates resulting from a forward projection or the latitude (in y) and the longitude (in x) obtained by inverse computation. 
This constructor initializes a new instance of IlvCoordinate. 
| x | The initial xvalue. | 
| y | The initial yvalue. | 
| 
 | static | 
Converts a DD-formatted string into an IlvCoordinate object. 
The input string must represent two floating point values: one for the latitude angle and one for the longitude. They can be separated by a comma character.
Each value can be expressed in degrees (if followed by the °, d or D character) or in radians (if followed by the r or R character). If not specified, degrees are expected.
Each value can be followed by the northing (N, n, S or s) or easting (E, e, W or w) indication. The S, s, W or w indication changes the sign of the value it applies to. By default, the first value is considered as a North-pointing angle and the second value is considered as a East-pointing angle.
 The two values must not have both a northing indicator, or both an easting indicator: if one has a northing indicator, then the other must have an easting information (or nothing, then e is presumed), and vice versa.
Space characters and additional characters are discarded.
Examples of valid input:
Examples of invalid input:
| input | The string to be parsed. | 
| output | Set to the parsed coordinates on success. | 
IlTrue if the parsing was successful and IlFalse otherwise. toDD(IlString&). | 
 | static | 
Converts a DMS-formatted string into an IlvCoordinate object. 
The input string must represent two angle values: one for the latitude angle and one for the longitude. They can be separated by a comma character.
Each value represents a value expressed in degrees, minutes and seconds, made of a value for the degrees part (followed by the °, d or D character) followed by the minutes part (followed by the ', m or M character), followed by the seconds part (followed by the ", s or S character). Any of these part may be omitted.
Each value can be followed by the northing (N, n, S or s) or easting (E, e, W or w) indication. The S, s, W or w indication changes the sign of the value it applies to. By default, the first value is considered as a North-pointing angle and the second value is considered as a East-pointing angle.
 The two values must not have both a northing indicator, or both an easting indicator: if one has a northing indicator, then the other must have an easting information (or nothing, then e is presumed), and vice versa.
Space characters and additional characters are discarded.
Examples of valid input:
| input | The string to be parsed. | 
| output | Set to the parsed coordinates on success. | 
IlTrue if the parsing was successful and IlFalse otherwise. toDMS(IlString&). | 
 | static | 
Converts MGRS coordinates into an IlvCoordinate object. 
| zoneNumber | The input UTM zone number (between 1 and 60) or 0indicating an UPS coordinate (below -80° latitude or above 84°). | 
| zoneDesignator | The UTM zone designator character. Note that A,B,YandZindicate polar areas, using the UPS conversion. | 
| squareId | The MGRS square identifier. | 
| easting | The input value for easting in the MGRS square, in meters. | 
| northing | The input value for northing in the MGRS square, in meters. | 
| output | Set to the parsed coordinates on success. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the parsing was successful and IlFalse otherwise. toMGRS(IlUShort&, char&, IlString&, IlUInt&, IlUInt&, const IlvEllipsoid*), FromMGRS(const IlString&, IlvCoordinate&, const IlvEllipsoid*). | 
 | static | 
Converts a UTM/UPS-formatted string into an IlvCoordinate object. 
The input string must represent a valid UTM (Universal Transverse Mercator) / UPS (Universal Polar Stereographic) value:
<zoneNb> is the UTM zone number: an integer value between 1 and<zoneDesignator> is the UTM zone designator: a letter that indicates the latitude band (or an UPS quadrant, when the latitude is beyond the UTM valid values). <MGRSsquareId> is the MGRS square identifier. <easting> is the easting planar coordinate value in the indicated zone, in meters. <northing> is the northing planar coordinate value in the indicated zone, in meters. Space characters and additional characters are discarded.
Examples of valid input:
| input | The MGRS coordinates string to be parsed. | 
| output | Set to the parsed coordinates on success. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the parsing was successful and IlFalse otherwise. FromMGRS(IlUShort, char, const IlString&, IlUInt, IlUInt, IlvCoordinate&, const IlvEllipsoid*), toMGRS(IlString&, const IlvEllipsoid*). | 
 | static | 
Converts UTM/UPS coordinates into an IlvCoordinate object. 
| zoneNumber | The input UTM zone number (between 1 and 60) or 0indicating an UPS coordinate (below -80° latitude or above 84°). | 
| zoneDesignator | The UTM zone designator character. Note that A,B,YandZindicate polar areas, using the UPS conversion. | 
| easting | The input value for easting, in meters. | 
| northing | The input value for northing, in meters. | 
| output | Set to the parsed coordinates on success. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the parsing was successful and IlFalse otherwise. | 
 | static | 
Converts a UTM/UPS-formatted string into an IlvCoordinate object. 
The input string must represent a valid UTM (Universal Transverse Mercator) / UPS (Universal Polar Stereographic) value:
<zoneNb> is the UTM zone number: an integer value between 1 and<zoneDesignator> is the UTM zone designator: a letter that indicates the latitude band (or an UPS quadrant, when the latitude is beyond the UTM valid values). <easting> is the easting planar coordinate value in the indicated zone, in meters. <northing> is the northing planar coordinate value in the indicated zone, in meters. Space characters and additional characters are discarded.
Examples of valid input:
| input | The UTM/UPS coordinates string | 
| output | Set to the parsed coordinates on success. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the parsing was successful and IlFalse otherwise. FromUTM(IlUShort, char, IlDouble, IlDouble, IlvCoordinate&, const IlvEllipsoid*), toUTM(IlString&, const IlvEllipsoid*). | IlBoolean IlvCoordinate::isCloseTo | ( | const IlvCoordinate & | other, | 
| IlDouble | tolerance = 0.0 | ||
| ) | const | 
Checks if two coordinates are close.
| other | The coordinates to compare to. | 
| tolerance | The tolerance value. | 
IlTrue if the distance between the x and y values of the current coordinates and the one of the coordinates other are less than the value specified by the parameter tolerance. | IlDouble IlvCoordinate::lat | ( | ) | const | 
Returns the latitude value.
This is a synonym for the y value.
y(). | void IlvCoordinate::lat | ( | IlDouble | lat | ) | 
Sets the latitude value.
This is a synonym for the y value.
| lat | The new latitude value, in radians. | 
y(IlDouble). | IlDouble IlvCoordinate::lon | ( | ) | const | 
Returns the longitude value.
This is a synonym for the x value.
x(). | void IlvCoordinate::lon | ( | IlDouble | lon | ) | 
Sets the longitude value.
This is a synonym for the x value.
| lon | The new longitude value, in radians. | 
x(IlDouble). This member function takes existing coordinates and moves them to another position.
| x | The new x value. | 
| y | The new y value. | 
| IlvCoordinate& IlvCoordinate::operator= | ( | const IlvCoordinate & | c | ) | 
Assignment operator.
| c | The coordinates that are copied to the current object. | 
| int IlvCoordinate::operator== | ( | const IlvCoordinate & | c | ) | const | 
Equality operator.
This member function tests whether two coordinates are equal. Because a strict comparison of floating values may not be significant, you can also use the function isCloseTo(). 
| c | The coordinates to compare to. | 
0 if c is different than the current object. Converts this object into a DD-formatted string.
The ouput is the latitude value, in degrees (in the range [-180, 180)), followed by a comma sign, followed by the longitude value, in degrees (in the range [-90, 90]).
| output | Set to the string representation of this object. | 
IlTrue if the conversion was successful and IlFalse otherwise. Converts this object into a DMS-formatted string.
The ouput is the latitude value followed by the longitude value, both expressed in degrees, minutes and seconds.
| output | Set to the DMS string representation of this object. | 
IlTrue if the conversion was successful and IlFalse otherwise. | IlBoolean IlvCoordinate::toMGRS | ( | IlUShort & | zoneNumber, | 
| char & | zoneDesignator, | ||
| IlString & | squareId, | ||
| IlUInt & | easting, | ||
| IlUInt & | northing, | ||
| const IlvEllipsoid * | ellipsoid = 0 | ||
| ) | const | 
Converts this object into MGRS values.
| zoneNumber | Set to the UTM zone number (between 1 and 60) or 0indicating an UPS coordinate (below -80° latitude or above 84°). | 
| zoneDesignator | Set to the UTM zone designator character. Note that A,B,YandZindicate polar areas, using the UPS conversion. | 
| squareId | Set to the MGRS square identifier. | 
| easting | Set to the easting value, in meters. | 
| northing | Set to the northing value, in meters. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the conversion was successful and IlFalse otherwise. | IlBoolean IlvCoordinate::toMGRS | ( | IlString & | output, | 
| const IlvEllipsoid * | ellipsoid = 0 | ||
| ) | const | 
Converts this object into an MGRS string representation.
| output | Set to the MGRS string representation of this object. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the conversion was successful and IlFalse otherwise. | IlBoolean IlvCoordinate::toUTM | ( | IlUShort & | zoneNumber, | 
| char & | zoneDesignator, | ||
| IlDouble & | easting, | ||
| IlDouble & | northing, | ||
| const IlvEllipsoid * | ellipsoid = 0 | ||
| ) | const | 
Converts this object into UTM/UPS values.
| zoneNumber | Set to the UTM zone number (between 1 and 60) or 0indicating an UPS coordinate (below -80° latitude or above 84°). | 
| zoneDesignator | Set to the UTM zone designator character. Note that A,B,YandZindicate polar areas, using the UPS conversion. | 
| easting | Set to the easting value, in meters. | 
| northing | Set to the northing value, in meters. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the conversion was successful and IlFalse otherwise. | IlBoolean IlvCoordinate::toUTM | ( | IlString & | output, | 
| const IlvEllipsoid * | ellipsoid = 0 | ||
| ) | const | 
Converts this object into an UTM/UPS string representation.
| output | Set to the UTM/UPS string representation of this object. | 
| ellipsoid | The ellipsoid to be used for the conversion. If omitted or set to 0thenIlvEllipsoid::WGS84()is used. | 
IlTrue if the conversion was successful and IlFalse otherwise. Translates an IlvCoordinate. 
This member function shifts existing coordinates to another location by means of a delta-distance approach. The dx and dy values represent the distance between the current position of the coordinates and the target position.
| dx | The xtranslation. | 
| dy | The ytranslation. | 
| void IlvCoordinate::translate | ( | const IlvCoordinate & | dc | ) | 
Translates an IlvCoordinate. 
This member function shifts existing coordinates to another location by means of a delta-distance approach. This member function performs the same operation as translate(IlDouble dx, IlDouble dy), except that instead of specifying a distance by means of x and y values, the translation is taken from the dc parameter. 
| dc | The translation values to apply to this object. | 
| void IlvCoordinate::x | ( | IlDouble | x | ) | 
| void IlvCoordinate::y | ( | IlDouble | y | ) | 
© Copyright 2018, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.