public CommonEph.eceft CalSat(int satNum, CommonEph.EphData eph, int sys) { double tTime = 30000; sat_res = CommonEph.SatPosCal(satNum, tTime, eph, sys, (int)eph.week); return(sat_res); }
// 开始计算 private void button1_Click(object sender, EventArgs e) { SatInfo[] sat_list = new SatInfo[tnum]; // 测试数据 SatInfo[] dataDemo = new SatInfo[sat_inview]; double[] tmp = new double[3]; double[] tmplla = new double[3]; tmp[0] = 1e3; tmp[1] = 2e3; tmp[2] = 3e3; CommonEph.eceft ecef_tmp = new CommonEph.eceft(); CommonEph.ReadEph(); // 读取星历,放入d_eph[]和d_ephBD[]中 int satNum = 1; for (int i = 0; i < sat_inview; i++) { dataDemo[i] = new SatInfo(); satNum = i + 1; CommonEph.EphData eph = CommonEph.d_ephBD[satNum - 1]; // 下面要使用的星历 ecef_tmp = dataDemo[0].CalSat(satNum, eph, 1); tmp[0] = ecef_tmp.x; tmp[1] = ecef_tmp.y; tmp[2] = ecef_tmp.z; SatInfo.ecef2pos(tmp, tmplla); tmplla[0] = tmplla[0] * 180 / Math.PI; tmplla[1] = tmplla[1] * 180 / Math.PI; lla[i].lat = tmplla[0]; lla[i].lon = tmplla[1]; lla[i].alt = tmplla[2]; dataDemo[i].setSatInfo(i, 0, tmplla, tmp); } UpdateGrid(dataDemo); Convert2JS(); }