internal void ToMGRS(UniversalTransverseMercator utm) { Digraphs digraphs = new Digraphs(); string digraph1 = digraphs.getDigraph1(utm.LongZone, utm.Easting); string digraph2 = digraphs.getDigraph2(utm.LongZone, utm.Northing); this.digraph = digraph1 + digraph2; this.latZone = utm.LatZone; this.longZone = utm.LongZone; //String easting = String.valueOf((int)_easting); string e = ((int)utm.Easting).ToString(); if (e.Length < 5) { e = "00000" + ((int)utm.Easting).ToString(); } e = e.Substring(e.Length - 5); this.easting = Convert.ToInt32(e); string n = ((int)utm.Northing).ToString(); if (n.Length < 5) { n = "0000" + ((int)utm.Northing).ToString(); } n = n.Substring(n.Length - 5); this.northing = Convert.ToInt32(n); }
internal void ToMGRS(UniversalTransverseMercator utm) { Regex rg = new Regex("[ABYZ]"); Match m = rg.Match(utm.LatZone.ToUpper()); string digraph1; string digraph2; Digraphs digraphs; if (m.Success) { systemType = MGRS_Type.MGRS_Polar; digraphs = new Digraphs(systemType, utm.LatZone); digraph1 = digraphs.getDigraph1(utm.LongZone, utm.Easting); digraph2 = digraphs.getDigraph2_Polar(utm.LongZone, utm.Northing); } else { systemType = MGRS_Type.MGRS; digraphs = new Digraphs(systemType, utm.LatZone); digraph1 = digraphs.getDigraph1(utm.LongZone, utm.Easting); digraph2 = digraphs.getDigraph2(utm.LongZone, utm.Northing); } digraph = digraph1 + digraph2; latZone = utm.LatZone; longZone = utm.LongZone; //Extract centimeters to add back in double cE = utm.Easting - ((int)utm.Easting); double cN = utm.Northing - ((int)utm.Northing); //String easting = String.valueOf((int)_easting); string e = ((int)utm.Easting).ToString(); if (e.Length < 5) { e = "00000" + ((int)utm.Easting).ToString(); } e = e.Substring(e.Length - 5); easting = Convert.ToDouble(e) + cE; string n = ((int)utm.Northing).ToString(); if (n.Length < 5) { n = "0000" + ((int)utm.Northing).ToString(); } n = n.Substring(n.Length - 5); northing = Convert.ToDouble(n) + cN; equatorialRadius = utm.equatorial_radius; inverseFlattening = utm.inverse_flattening; }
internal void ToMGRS(UniversalTransverseMercator utm) { Digraphs digraphs = new Digraphs(); string digraph1 = digraphs.getDigraph1(utm.LongZone, utm.Easting); string digraph2 = digraphs.getDigraph2(utm.LongZone, utm.Northing); digraph = digraph1 + digraph2; latZone = utm.LatZone; longZone = utm.LongZone; //String easting = String.valueOf((int)_easting); string e = ((int)utm.Easting).ToString(); if (e.Length < 5) { e = "00000" + ((int)utm.Easting).ToString(); } e = e.Substring(e.Length - 5); easting = Convert.ToInt32(e); string n = ((int)utm.Northing).ToString(); if (n.Length < 5) { n = "0000" + ((int)utm.Northing).ToString(); } n = n.Substring(n.Length - 5); northing = Convert.ToInt32(n); equatorialRadius = utm.equatorial_radius; inverseFlattening = utm.inverse_flattening; withinCoordinateSystemBounds = utm.WithinCoordinateSystemBounds; }