Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
        }