ApsGis.dll

UTM.ParseUtmYInM(Double, Double, UtmZone, UtmHemisphere, String, Double, String) Method

Parses UTM Y from the provided string for a reference ellipsoid.

public static bool ParseUtmYInM(
   double semiMajorAxisAInM,
   double inverseFlattening,
   UtmZone utmZone,
   UtmHemisphere utmHemisphere,
   string str,
   out double yInM,
   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
utmHemisphere
a preferred UTM hemisphere
str
a string to be parsed
yInM
the parsed UTM Y, 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 the parsing result. 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 UTM Y is a real number in the range between -MaxY and MaxY. MaxY is the function of the reference ellipsoid, the UTM hemisphere and UTM zone. It takes into account the 40.0 km overlap with the adjacent UTM zones and 0.5 degree overlap with UPS (Univeral Polar Stereographic) projection.

Example

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

 string errorMessage = String.Empty;
 
 double semiMajorAxisA = 6378137;
 double inverseFlattening = 298.257223563;
 
 UtmHemisphere utmHemisphere = UtmHemisphere.Northern;
 UtmZone utmZone = UtmZone.Zone_18_from_78W_to_72W;
 
 string str = "4132123.34079525";
 double yInM = Double.NaN;

 if (UTM.ParseUtmYInM(semiMajorAxisA, inverseFlattening, utmZone, utmHemisphere, str, out yInM, out errorMessage))
 {
     Console.WriteLine("Y, in m: " + yInM.ToString());
 }
 else
 {
     Console.WriteLine(errorMessage);
 }
 

See Also

UTM Class | ApsGis Namespace | UTM.ParseUtmYInM Overload List