Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C# by Shahdat ( 14 years ago )
//here ellipsoid is index number of select item of ellipsoid combolist
//and xtm = 0 for UTM and xtm = 1 for MTM (canada onlly)
 
private static Ellipsoid geo_constants(int ellipsoid, int xtm)
        {
            // returns ellipsoid values
            var ellipsoid_axis = new double[22];
            var ellipsoid_eccen = new double[22];
            ellipsoid_axis[0] = 6377563.396; ellipsoid_eccen[0] = 0.00667054;  //airy
            ellipsoid_axis[1] = 6377340.189; ellipsoid_eccen[1] = 0.00667054;  // mod airy
            ellipsoid_axis[2] = 6378160; ellipsoid_eccen[2] = 0.006694542;  //aust national
            ellipsoid_axis[3] = 6377397.155; ellipsoid_eccen[3] = 0.006674372;  //bessel 1841
            ellipsoid_axis[4] = 6378206.4; ellipsoid_eccen[4] = 0.006768658;  //clarke 1866 == NAD 27 (TBC)
            ellipsoid_axis[5] = 6378249.145; ellipsoid_eccen[5] = 0.006803511;  //clarke 1880
            ellipsoid_axis[6] = 6377276.345; ellipsoid_eccen[6] = 0.00637847;  //everest
            ellipsoid_axis[7] = 6377304.063; ellipsoid_eccen[7] = 0.006637847;  // mod everest
            ellipsoid_axis[8] = 6378166; ellipsoid_eccen[8] = 0.006693422;  //fischer 1960
            ellipsoid_axis[9] = 6378150; ellipsoid_eccen[9] = 0.006693422;  //fischer 1968
            ellipsoid_axis[10] = 6378155; ellipsoid_eccen[10] = 0.006693422;  // mod fischer
            ellipsoid_axis[11] = 6378160; ellipsoid_eccen[11] = 0.006694605;  //grs 1967
            ellipsoid_axis[12] = 6378137; ellipsoid_eccen[12] = 0.00669438;  //  grs 1980
            ellipsoid_axis[13] = 6378200; ellipsoid_eccen[13] = 0.006693422;  // helmert 1906
            ellipsoid_axis[14] = 6378270; ellipsoid_eccen[14] = 0.006693422;  // hough
            ellipsoid_axis[15] = 6378388; ellipsoid_eccen[15] = 0.00672267;  // int24
            ellipsoid_axis[16] = 6378245; ellipsoid_eccen[16] = 0.006693422;  // krassovsky
            ellipsoid_axis[17] = 6378160; ellipsoid_eccen[17] = 0.006694542;  // s america
            ellipsoid_axis[18] = 6378165; ellipsoid_eccen[18] = 0.006693422;  // wgs-60
            ellipsoid_axis[19] = 6378145; ellipsoid_eccen[19] = 0.006694542;  // wgs-66
            ellipsoid_axis[20] = 6378135; ellipsoid_eccen[20] = 0.006694318;  // wgs-72
            ellipsoid_axis[21] = 6378137; ellipsoid_eccen[21] = 0.00669438;  //wgs-84

            if (ellipsoid == 0)
                ellipsoid = 22;

            --ellipsoid; // table indexed differently

            double scaleTm = 0, eastingOrg = 0;
            if (xtm == 1) // WAS: if (ellipsoid > 22)
            {
                scaleTm = 0.9999;
                eastingOrg = 304800;
            }
            else
            {
                scaleTm = 0.9996;
                eastingOrg = 500000;
            }

            // return values as an object
            var es = new Ellipsoid
            {
                axis = ellipsoid_axis[ellipsoid],
                eccentricity = ellipsoid_eccen[ellipsoid],
                eastingOrg = eastingOrg,
                scaleTm = scaleTm
            };
            //ellipsoid:axis:6378137, ellipsoid.eccentricity:0.00669438, ellipsoid.eastingOrg:500000,ellipsoid.scaleTm:0.9996
            return es;
        }

 

Revise this Paste

Parent: 45288
Your Name: Code Language: