public bool CalcPosition(SettleSoundFile settleSoundFile, SonarConfig sc, RawPositionInfo raw, float longitude, float latitude) { if (settleSoundFile != null && sc != null && raw!=null) { try { scConfig = sc; this.raw = raw; USBL_GuiWei Position_Guiwei = new USBL_GuiWei(raw.XDistance, raw.YDistance, raw.ZDistance, raw.Heave, raw.Heading, raw.Pitch, raw.Roll, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, raw.TravelTime, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); //USBL_GuiWei Position_Guiwei = new USBL_GuiWei((float)0.4785, (float)-0.5465, (float)-6.7128, raw.Heave, (float)48.7943, (float)0.1944, 0, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, (float)0.0045, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); //USBL_GuiWei Position_Guiwei = new USBL_GuiWei((float)0.6391, (float)-0.0549, (float)-6.9063, raw.Heave, (float)48.73, (float)0.19, 0, longitude, latitude, sc.SonarGPSx, sc.SonarGPSy, sc.SonarGPSz, (float)0.0046, sc.SonarDepth, settleSoundFile.SVPd, settleSoundFile.SVPc); AjustLat = (float)Position_Guiwei.LatTarget; AjustLong = (float)Position_Guiwei.LonTarget; Noise = raw.Noise; Status = raw.Status; XAjust = (float)Position_Guiwei.x_local; YAjust = (float)Position_Guiwei.y_local; ZAjust = (float)Position_Guiwei.z_local; } catch (Exception) { return false; } return true; } return false; }
private void Button_Click(object sender, RoutedEventArgs e) { //载体坐标系下潜器坐标 float x_carrier = (float)-903.0254, y_carrier = (float)651.7115, z_carrier = (float)-868.9429; // float x_carrier = (float)-3.1919, y_carrier = (float)2.6654, z_carrier = (float)-12.3494; // float x_carrier = (float)-364.9461, y_carrier = (float)323.9491, z_carrier = (float)-3967.8869; //传感器姿态 float Heading = 100, Pitch = 5, Roll = -5,Heave=0; //船的经纬度 float Lon_local = 0, Lat_local = 0; //阵在船体坐标系下的坐标 float us_x = 0, us_y = 0, us_z = -2; //传播时间 float Travel_time = (float)0.94176875; // float Travel_time = (float)0.0087; // float Travel_time = (float)2.6652; //阵的深度 float ArrayDepth=2; //归位处理 USBL_GuiWei Position_Guiwei = new USBL_GuiWei(x_carrier, y_carrier, z_carrier,Heave, Heading, Pitch, Roll, Lon_local, Lat_local, us_x, us_y, us_z, Travel_time, ArrayDepth, SVPd, SVPc); }