Exemplo n.º 1
0
        public static string ToNewMapnumber50W(string oldMapnumber50W)
        {
            if (!OldMapnumberCheck.Check50W(oldMapnumber50W))
            {
                return("");
            }
            var temp   = oldMapnumber50W.Split('-');
            var new100 = temp[0] + temp[1].PadLeft(2, '0');
            var chrStr = temp[2];

            if (chrStr.Length != 1)
            {
                return("");
            }
            var x = OldMapnumber.ChangeABCDabcdTo1234(chrStr[0]);

            if (x <= 0)
            {
                return("");
            }
            var new50R = ToNew50WRow(x);
            var new50C = ToNew50WColumn(x);

            return(new100 + "B" + new50R.ToString().PadLeft(3, '0') + new50C.ToString().PadLeft(3, '0'));
        }
Exemplo n.º 2
0
        public static string ToNewMapnumber1W(string oldMapnumber1W)
        {
            if (!OldMapnumberCheck.Check1W(oldMapnumber1W))
            {
                return("");
            }
            var temp   = oldMapnumber1W.Split('-');
            var new100 = temp[0] + temp[1].PadLeft(2, '0');
            var sub10W = temp[2];

            if (!int.TryParse(sub10W, out int x))
            {
                return("");
            }
            var new10R  = ToNew10WRow(x);
            var new10C  = ToNew10WColumn(x);
            var sub1W   = temp[3];
            var subTemp = sub1W.Split(new char[] { '(', ')' }, StringSplitOptions.RemoveEmptyEntries);

            if (!int.TryParse(subTemp[0], out int k))
            {
                return("");
            }
            var new1R = ToNew1WRow(k, new10R);
            var new1C = ToNew1WColumn(k, new10C);

            return(new100 + "G" + new1R.ToString().PadLeft(3, '0') + new1C.ToString().PadLeft(3, '0'));
        }
Exemplo n.º 3
0
        public static void OldMapnumber20WCornerCoordinates(string oldMapnumber20W, out bool success, out decimal west, out decimal north, out decimal east, out decimal south)
        {
            success = false;
            west    = decimal.Zero;
            north   = decimal.Zero;
            east    = decimal.Zero;
            south   = decimal.Zero;
            if (!OldMapnumberCheck.Check20W(oldMapnumber20W))
            {
                success = false; return;
            }

            string[] split  = oldMapnumber20W.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            string   o100WR = split[0];
            string   o100WC = split[1];
            string   o20W   = split[2];

            string[] subSplit = o20W.Split(new char[] { '(', ')' }, StringSplitOptions.RemoveEmptyEntries);
            string   o20WNum  = subSplit[0];
            decimal  o100WW   = NewMapnumberWest(o100WC);
            decimal  o100WS   = NewMapnumberSouth(o100WR);

            if (!int.TryParse(o20WNum, out int i20WNum))
            {
                throw new Exception();
            }
            int o20WR = Old20WR(i20WNum);
            int o20WC = Old20WC(i20WNum);

            west    = o100WW + (o20WC - 1) * LongitudeLatitudeDifferent.MAPNUMBER_20W_LONGITUDE_DIFFERENT;
            south   = o100WS + (OldMapnumberDefine.MaxCount20W - o20WR) * LongitudeLatitudeDifferent.MAPNUMBER_20W_LATITUDE_DIFFERENT;
            north   = south + LongitudeLatitudeDifferent.MAPNUMBER_20W_LATITUDE_DIFFERENT;
            east    = west + LongitudeLatitudeDifferent.MAPNUMBER_20W_LONGITUDE_DIFFERENT;
            success = true;
        }
Exemplo n.º 4
0
        public static string ToOldMapnumber100W(string oldMapnumber100W)
        {
            if (string.IsNullOrEmpty(oldMapnumber100W))
            {
                return("");
            }
            if (OldMapnumberCheck.Check100W(oldMapnumber100W))
            {
                return(oldMapnumber100W);
            }

            oldMapnumber100W = ChangeOldMapnumberChar(oldMapnumber100W);
            if (!oldMapnumber100W.Contains("-"))
            {
                return("");
            }
            var split  = oldMapnumber100W.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            var length = split.Length;

            if (length != 2 || !int.TryParse(split[0], out int x100R) || !int.TryParse(split[1], out int x100C))
            {
                return("");
            }

            var s100R = Mapnumber100W.RowDigitalToString(x100R);
            var s100C = x100C.ToString("00");

            oldMapnumber100W = s100R + "-" + s100C;
            if (OldMapnumberCheck.Check100W(oldMapnumber100W))
            {
                return(oldMapnumber100W);
            }
            return("");
        }
Exemplo n.º 5
0
        public static string ToNewMapnumber2_5W(string oldMapnumber2_5W)
        {
            if (!OldMapnumberCheck.Check2_5W(oldMapnumber2_5W))
            {
                return("");
            }
            var temp   = oldMapnumber2_5W.Split('-');
            var new100 = temp[0] + temp[1].PadLeft(2, '0');
            var sub10W = temp[2];

            if (!int.TryParse(sub10W, out int x))
            {
                return("");
            }
            var new10R = ToNew10WRow(x);
            var new10C = ToNew10WColumn(x);
            var chrStr = temp[3];

            if (chrStr.Length != 1)
            {
                return("");
            }
            var sub5W   = OldMapnumber.ChangeABCDabcdTo1234(chrStr[0]);
            var new5R   = ToNew5WRow(sub5W, new10R);
            var new5C   = ToNew5WColumn(sub5W, new10C);
            var sub2_5W = int.Parse(temp[4]);
            var new2_5R = ToNew2_5WRow(sub2_5W, new5R);
            var new2_5C = ToNew2_5WColumn(sub2_5W, new5C);
            var new2    = new100 + "F" + new2_5R.ToString().PadLeft(3, '0') + new2_5C.ToString().PadLeft(3, '0');

            return(new2);
        }
Exemplo n.º 6
0
        public static string ToNewMapnumber(string oldMapnumber)
        {
            if (!OldMapnumberCheck.Check(oldMapnumber))
            {
                return("");
            }
            var result = "";

            result = ToNewMapnumber100W(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            result = ToNewMapnumber50W(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            result = ToNewMapnumber25W(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            result = ToNewMapnumber10W(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            result = ToNewMapnumber5W(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            result = ToNewMapnumber2_5W(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            result = ToNewMapnumber1W(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            result = ToNewMapnumber5K(oldMapnumber);
            if (!string.IsNullOrEmpty(result))
            {
                return(result);
            }

            return(result);
        }
Exemplo n.º 7
0
        public static string ToNewMapnumber100W(string oldMapnumber100W)
        {
            if (!OldMapnumberCheck.Check100W(oldMapnumber100W))
            {
                return("");
            }
            var temp   = oldMapnumber100W.Split('-');
            var new100 = temp[0] + temp[1].PadLeft(2, '0');

            return(new100);
        }
Exemplo n.º 8
0
        public static string OldMapnumber100WFromLongitudeLatitude(decimal longitude, decimal latitude)
        {
            int    rNum  = (int)(latitude / LongitudeLatitudeDifferent.MAPNUMBER_100W_LONGITUDE_DIFFERENT) + 1;
            int    cNum  = (int)(longitude / LongitudeLatitudeDifferent.MAPNUMBER_100W_LATITUDE_DIFFERENT) + 31;
            string rStr  = Mapnumber100W.RowDigitalToString(rNum);
            string o100W = rStr + "-" + cNum.ToString("00");

            if (OldMapnumberCheck.Check100W(o100W))
            {
                return(o100W);
            }
            return(null);
        }
Exemplo n.º 9
0
        public static string OldMapnumberFromLongitudeLatitude(decimal longitude, decimal latitude, int scaleDenominator)
        {
            string n100W = NewMapnumber100WFromLongitudeLatitude(longitude, latitude);

            if (string.IsNullOrEmpty(n100W))
            {
                return(null);
            }
            LongitudeLatitudeDifferent.LongitudeLatitudeDifferenceByScaleDenominator(scaleDenominator, out bool success, out decimal JC, out decimal WC);

            NewMapnumberRowColumnNumIn100WFromLongitudeLatitude(longitude, latitude, JC, WC, out int row, out int column);
            string scaleStr = NewMapnumber.ScaleString(scaleDenominator);

            if (scaleDenominator == 200000)
            {
                return(OldMapnumber20WFromLongitudeLatitude(longitude, latitude));
            }
            else
            {
                string r = "";
                string c = "";
                if (scaleStr == "J" || scaleStr == "K")
                {
                    r = row.ToString("0000");
                    c = column.ToString("0000");
                }
                else
                {
                    r = row.ToString("000");
                    c = column.ToString("000");
                }
                if (string.IsNullOrEmpty(scaleStr))
                {
                    scaleStr = "";
                    r        = "";
                    c        = "";
                }
                string newMapnumber = n100W + scaleStr + r + c;
                if (NewMapnumberCheck.Check(newMapnumber))
                {
                    string oldMapnumber = NewMapnumberToMapnumber.ToOldMapnumber(newMapnumber);
                    if (OldMapnumberCheck.Check(oldMapnumber))
                    {
                        return(oldMapnumber);
                    }
                }
                return(null);
            }
        }
Exemplo n.º 10
0
        public static string OldMapnumber20WFromLongitudeLatitude(decimal longitude, decimal latitude)
        {
            string o100W = OldMapnumber100WFromLongitudeLatitude(longitude, latitude);

            if (string.IsNullOrEmpty(o100W))
            {
                return(null);
            }
            NewMapnumberRowColumnNumIn100WFromLongitudeLatitude(longitude, latitude, LongitudeLatitudeDifferent.MAPNUMBER_20W_LONGITUDE_DIFFERENT, LongitudeLatitudeDifferent.MAPNUMBER_20W_LATITUDE_DIFFERENT, out int row, out int column);
            int    o20WNum = OldMapnumber20WNum(row, column);
            string o20W    = o100W + "-(" + o20WNum.ToString("00") + ")";

            if (OldMapnumberCheck.Check20W(o20W))
            {
                return(o20W);
            }
            return(null);
        }
Exemplo n.º 11
0
        public static string ToOldMapnumber2_5W(string oldMapnumber2_5W)
        {
            if (string.IsNullOrEmpty(oldMapnumber2_5W))
            {
                return("");
            }

            if (OldMapnumberCheck.Check2_5W(oldMapnumber2_5W))
            {
                return(oldMapnumber2_5W);
            }

            oldMapnumber2_5W = ChangeOldMapnumberChar(oldMapnumber2_5W);
            if (!oldMapnumber2_5W.Contains("-"))
            {
                return("");
            }

            var split  = oldMapnumber2_5W.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            int length = split.Length;

            if (length != 5)
            {
                return("");
            }

            var x5 = split[0] + "-" + split[1] + "-" + split[2] + "-" + split[3];
            var s5 = ToOldMapnumber5W(x5);

            if (string.IsNullOrEmpty(s5) || !int.TryParse(split[4], out int x2_5))
            {
                return("");
            }

            var s2_5 = x2_5.ToString();

            oldMapnumber2_5W = s5 + "-" + s2_5;
            if (OldMapnumberCheck.Check2_5W(oldMapnumber2_5W))
            {
                return(oldMapnumber2_5W);
            }

            return("");
        }
Exemplo n.º 12
0
        public static string ToOldMapnumber5K(string oldMapnumber5K)
        {
            if (string.IsNullOrEmpty(oldMapnumber5K))
            {
                return("");
            }

            if (OldMapnumberCheck.Check5K(oldMapnumber5K))
            {
                return(oldMapnumber5K);
            }

            oldMapnumber5K = ChangeOldMapnumberChar(oldMapnumber5K);
            if (!oldMapnumber5K.Contains("-"))
            {
                return("");
            }

            var split  = oldMapnumber5K.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            var length = split.Length;

            if (length != 5)
            {
                return("");
            }

            var x1 = split[0] + "-" + split[1] + "-" + split[2] + "-(" + split[3] + ")";
            var s1 = ToOldMapnumber1W(x1);

            if (string.IsNullOrEmpty(s1) || !int.TryParse(split[4], out int x0_5))
            {
                return("");
            }

            var s0_5 = OldMapnumber.Change1234Toabcd(x0_5);

            oldMapnumber5K = s1 + "-" + s0_5;
            if (OldMapnumberCheck.Check5K(oldMapnumber5K))
            {
                return(oldMapnumber5K);
            }

            return("");
        }
Exemplo n.º 13
0
        public static string ToNewMapnumber10W(string oldMapnumber10W)
        {
            if (!OldMapnumberCheck.Check10W(oldMapnumber10W))
            {
                return("");
            }
            var temp   = oldMapnumber10W.Split('-');
            var new100 = temp[0] + temp[1].PadLeft(2, '0');
            var sub10W = temp[2];

            if (!int.TryParse(sub10W, out int x))
            {
                return("");
            }
            var new10R = ToNew10WRow(x);
            var new10C = ToNew10WColumn(x);

            return(new100 + "D" + new10R.ToString().PadLeft(3, '0') + new10C.ToString().PadLeft(3, '0'));
        }
Exemplo n.º 14
0
        public static string ToNewMapnumber25W(string oldMapnumber25W)
        {
            if (!OldMapnumberCheck.Check25W(oldMapnumber25W))
            {
                return("");
            }
            var temp    = oldMapnumber25W.Split('-');
            var new100  = temp[0] + temp[1].PadLeft(2, '0');
            var sub25W  = temp[2];
            var subTemp = sub25W.Split(new char[] { '[', ']' }, StringSplitOptions.RemoveEmptyEntries);

            if (!int.TryParse(subTemp[0], out int x))
            {
                return("");
            }
            var new25R = ToNew25WRow(x);
            var new25C = ToNew25WColumn(x);

            return(new100 + "C" + new25R.ToString().PadLeft(3, '0') + new25C.ToString().PadLeft(3, '0'));
        }
Exemplo n.º 15
0
        public static string ToOldMapnumber5W(string oldMapnumber5W)
        {
            if (string.IsNullOrEmpty(oldMapnumber5W))
            {
                return("");
            }
            if (OldMapnumberCheck.Check5W(oldMapnumber5W))
            {
                return(oldMapnumber5W);
            }

            oldMapnumber5W = ChangeOldMapnumberChar(oldMapnumber5W);
            if (!oldMapnumber5W.Contains("-"))
            {
                return("");
            }
            var split  = oldMapnumber5W.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            int length = split.Length;

            if (length != 4)
            {
                return("");
            }
            var x10 = split[0] + "-" + split[1] + "-" + split[2];
            var s10 = ToOldMapnumber10W(x10);

            if (string.IsNullOrEmpty(s10) || !int.TryParse(split[3], out int x5))
            {
                return("");
            }

            var s5 = OldMapnumber.Change1234ToABCD(x5);

            oldMapnumber5W = s10 + "-" + s5;
            if (OldMapnumberCheck.Check5W(oldMapnumber5W))
            {
                return(oldMapnumber5W);
            }
            return("");
        }
Exemplo n.º 16
0
        public static string ToOldMapnumber1W(string oldMapnumber1W)
        {
            if (string.IsNullOrEmpty(oldMapnumber1W))
            {
                return("");
            }

            if (OldMapnumberCheck.Check1W(oldMapnumber1W))
            {
                return(oldMapnumber1W);
            }

            oldMapnumber1W = ChangeOldMapnumberChar(oldMapnumber1W);
            if (!oldMapnumber1W.Contains("-"))
            {
                return("");
            }
            var split  = oldMapnumber1W.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            var length = split.Length;

            if (length != 4)
            {
                return("");
            }
            var x10 = split[0] + "-" + split[1] + "-" + split[2];
            var s10 = ToOldMapnumber10W(x10);

            if (string.IsNullOrEmpty(s10) || !int.TryParse(split[3], out int x1))
            {
                return("");
            }
            var s1 = x1.ToString("00");

            oldMapnumber1W = s10 + "-(" + s1 + ")";
            if (OldMapnumberCheck.Check1W(oldMapnumber1W))
            {
                return(oldMapnumber1W);
            }
            return("");
        }
Exemplo n.º 17
0
        public static string ToOldMapnumber25W(string oldMapnumber25W)
        {
            if (string.IsNullOrEmpty(oldMapnumber25W))
            {
                return("");
            }
            if (OldMapnumberCheck.Check25W(oldMapnumber25W))
            {
                return(oldMapnumber25W);
            }

            oldMapnumber25W = ChangeOldMapnumberChar(oldMapnumber25W);
            if (!oldMapnumber25W.Contains("-"))
            {
                return("");
            }
            var split  = oldMapnumber25W.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
            var length = split.Length;

            if (length != 3)
            {
                return("");
            }
            var x100 = split[0] + "-" + split[1];
            var s100 = ToOldMapnumber100W(x100);

            if (string.IsNullOrEmpty(s100) || !int.TryParse(split[2], out int x25))
            {
                return("");
            }
            var s25 = x25.ToString("00");

            oldMapnumber25W = s100 + "-[" + s25 + "]";
            if (OldMapnumberCheck.Check25W(oldMapnumber25W))
            {
                return(oldMapnumber25W);
            }
            return("");
        }
Exemplo n.º 18
0
        public static void OldMapnumberCornerCoordinates(string oldMapnumber, out bool success, out decimal west, out decimal north, out decimal east, out decimal south)
        {
            success = false;
            west    = decimal.Zero;
            north   = decimal.Zero;
            east    = decimal.Zero;
            south   = decimal.Zero;
            if (!OldMapnumberCheck.Check(oldMapnumber))
            {
                success = false; return;
            }
            var newMapnumber = OldMapnumberToMapnumber.ToNewMapnumber(oldMapnumber);

            if (!string.IsNullOrEmpty(newMapnumber))
            {
                NewMapnumberCornerCoordinates(newMapnumber, out success, out west, out north, out east, out south);
            }
            else
            {
                OldMapnumber20WCornerCoordinates(oldMapnumber, out success, out west, out north, out east, out south);
            }
        }
Exemplo n.º 19
0
        public static string ToNewMapnumber5K(string oldMapnumber5K)
        {
            if (!OldMapnumberCheck.Check5K(oldMapnumber5K))
            {
                return("");
            }
            var temp   = oldMapnumber5K.Split('-');
            var new100 = temp[0] + temp[1].PadLeft(2, '0');
            var sub10W = temp[2];

            if (!int.TryParse(sub10W, out int x))
            {
                return("");
            }
            var new10R  = ToNew10WRow(x);
            var new10C  = ToNew10WColumn(x);
            var sub1W   = temp[3];
            var subTemp = sub1W.Split(new char[] { '(', ')' }, StringSplitOptions.RemoveEmptyEntries);

            if (!int.TryParse(subTemp[0], out int k))
            {
                return("");
            }
            var new1R   = ToNew1WRow(k, new10R);
            var new1C   = ToNew1WColumn(k, new10C);
            var sub0_5W = temp[4];
            var chrStr  = temp[4];

            if (chrStr.Length != 1)
            {
                return("");
            }
            var l       = OldMapnumber.ChangeABCDabcdTo1234(chrStr[0]);
            var new0_5R = ToNew5KRow(l, new1R);
            var new0_5C = ToNew5KColumn(l, new1C);

            return(new100 + "H" + new0_5R.ToString().PadLeft(3, '0') + new0_5C.ToString().PadLeft(3, '0'));
        }