ApsGis.dll

UTM.ParseLongitudeInDmsd(Double, Double, UtmZone, String, Int32, Double, String) Method

Parses longitude from the provided string for the user defined reference ellipsoid and the specified UTM zone, assuming that the DegreesMinutesSecondsDirection (DMS) format is in use.

public static bool ParseLongitudeInDmsd(
   double semiMajorAxisAInM,
   double inverseFlattening,
   UtmZone utmZone,
   string str,
   int precision,
   out double lonInDeg,
   out string errorMessage
);

Parameters

semiMajorAxisAInM
a semi major axis A (in meters) of the user defined reference ellipsoid
inverseFlattening
an inverse flattening of the user defined reference ellipsoid
utmZone
a UTM zone
str
a string to be parsed
precision
a precision used in parsing
lonInDeg
the parsed longitude in decimal degrees, passed by reference (out)
errorMessage
an error message, passed by reference (out), that contains detailed error / warning information

Return Value

true - the function has succeeded, false - it has failed

Remarks

The function verifies validity of its arguments before running parsing. The valid semi major axis A (in meters) is a real number greater than 0. The valid inverse flattening is a real number greater than 0. The valid precision is an integer number in the range from 0 (inclusive) to 15 (inclusive). The function recognizes the DegreesMinutesSecondsDirection (DMS) format, i.e. DDD MM SS.SSSS [E, W], for example: 77 2 56.4 W. The function verifies the validity of the parsed result.

Example

This sample shows how to call the UTM.ParseLongitudeInDmsd method from C# code:

 string errorMessage = String.Empty;
 
 double semiMajorAxisA = 6378137;
 double inverseFlattening = 298.257223563;
 
 UtmZone utmZone = UtmZone.Zone_18_from_78W_to_72W;

 string str = "77 2 56.4 W";
 int precision = 10;
 double lonInDeg = Double.NaN;

 if (UTM.ParseLongitudeInDmsd(semiMajorAxisA, inverseFlattening, utmZone, str, precision, out lonInDeg, out errorMessage))
 {
     Console.WriteLine("LonInDeg: " + lonInDeg.ToString());
 }
 else
 {
     Console.WriteLine(errorMessage);
 }
 

See Also

UTM Class | ApsGis Namespace | UTM.ParseLongitudeInDmsd Overload List