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