//public CTEKML mTEKml = null; //public CTEStation mTEStation = null; //public CTEFactory mTEFact = null; //public CTENavTrain mTETrain = null; //public CTEPier mTEPier = null; //public CTEProject mTEProj = null; //public CTECons mTECons = null; //public CTEMiddleLine mTEMiddleLine = null; //public CTEConsPhoto mTEPhotos = null; //public CTEFirm mTEFirm = null; //public string mIDKml = "KML"; //public string mIDStation = "Station"; public CTEScene(CRailwayScene s) { mSceneData = s; mRWStandard = new CRWTEStandard(); //mTEItemList.Add(new CTEKML(s, this, mRWStandard)); //mTEItemList.Add(new CTEStation(s, this, mRWStandard)); //mTEItemList.Add(new CTENavTrain(s, this, mRWStandard)); mTEItemList.Add(new CTEProject(s, this, mRWStandard)); mTEItemList.Add(new CTECons(s, this, mRWStandard)); //mTEItemList.Add(new CTEMiddleLine(s, this, mRWStandard)); mTEItemList.Add(new CTEFirm(s, this, mRWStandard)); //mTEItemList.Add(new CTEConsPhoto(s, mRWStandard)); //mTEKml = new CTEKML(s, mRWStandard); //mTEStation = new CTEStation(s, mRWStandard); //mTEFact = new CTEFactory(s, mRWStandard); //mTETrain = new CTENavTrain(s, this, mRWStandard); //mTEPier = new CTEPier(s, mRWStandard); //mTEProj = new CTEProject(s, mRWStandard); //mTECons = new CTECons(s, mRWStandard); //mTEMiddleLine = new CTEMiddleLine(s, mRWStandard); //mTEFirm = new CTEFirm(s, mRWStandard); //mTEPhotos = new CTEConsPhoto(s, mRWStandard); }
public CRailwayTunnel(CRailwayScene s, string SerialNo, int projID, int parentID, string ProfessionalName, string profCode, string ProjectName, string SegmentName, string MStartDes, string MEndDes, double Mileage_Start, double Mileage_End, DateTime dt, double AvgProgress, double dir, string labelFile, string photourl, DataTable dt1 = null, DataTable dt2 = null) : base(s, SerialNo, projID, parentID, ProfessionalName, profCode, ProjectName, SegmentName, MStartDes, MEndDes, Mileage_Start, Mileage_End, dt, AvgProgress, dir, labelFile, photourl, false, dt1, dt2) { //DatabaseWrapper.PrintDataTable(mds.Tables[0]); //DatabaseWrapper.PrintDataTable(mds.Tables[1]); foreach (CFXProj fx in FXProgress) { //FIXME 隧道里程标记方法特殊,暂时认为在一个链中 if (fx.fxID == 472 || fx.fxID == 475) // 正洞或斜井的开挖 { if (dir < 90) { mMileage_End = mMileage_Start + fx.TotalAmount; } else { mMileage_End = mMileage_Start - fx.TotalAmount; } mPath = new CSubPath(CRailwayLineList.gMileageConnection, mStartDKCode, mMileage_Start, mEndDKCode, mMileage_End, 10); if (!mPath.hasPath) { mIsValid = false; return; } mIsValid = true; mScene.mMainPath.getPathMileageByDKCode(mStartDKCode, mMileage_Start, out mMainMileageS, out mdistanceToMainPath); mScene.mMainPath.getPathMileageByDKCode(mEndDKCode, mMileage_End, out mMainMileageE, out mdistanceToMainPath); mPath.getDKCodebyPathMileage(mPath.mLength * 0.5, out mMidDKCode, out mMileage_Mid); mIsOnMainPath = mScene.mMainPath.getPathMileageByDKCode(mMidDKCode, mMileage_Mid, out mMainMileage, out mdistanceToMainPath); mLength = mPath.mLength; //mMileage_Mid = (mMileage_Start + mMileage_End) / 2; //mLength = fx.TotalAmount; //mIsValid = mScene.mMiddleLines.getGPSbyDKCode(mStartDKCode, mMileage_Mid, out mLongitude_Mid, out mLatitude_Mid, out mAltitude_Mid, out mHeading_Mid); //mIsValid &= mScene.mMiddleLines.getGPSbyDKCode(mStartDKCode, mMileage_Start, out mLongitude_Start, out mLatitude_Start, out mAltitude_Start, out mHeading_Start); //mIsValid &= mScene.mMiddleLines.getGPSbyDKCode(mStartDKCode, mMileage_End, out mLongitude_End, out mLatitude_End, out mAltitude_End, out mHeading_End); //mMainMileage = mScene.mMainPath.getPathMileageByDKCode(mStartDKCode, mMileage_Mid); //mMainMileageS = mScene.mMainPath.getPathMileageByDKCode(mStartDKCode, mMileage_Start); //mMainMileageE = mScene.mMainPath.getPathMileageByDKCode(mStartDKCode, mMileage_End); //if (mIsValid) //{ // if (mSpotList != null) // mSpotList.Clear(); // else // mSpotList = new List<CHotSpot>(); // mSpotList.Add(new CHotSpot(mStartDKCode, mMileage_Start, mLongitude_Start, mLatitude_Start, mAltitude_Start, mMainMileageS, "Tunnel", this)); // mSpotList.Add(new CHotSpot(mStartDKCode, mMileage_Mid, mLongitude_Mid, mLatitude_Mid, mAltitude_Mid, mMainMileage, "Tunnel", this)); // mSpotList.Add(new CHotSpot(mStartDKCode, mMileage_End, mLongitude_End, mLatitude_End, mAltitude_End, mMainMileageE, "Tunnel", this)); //} break; } } }
public GISForm() { //GlobalSettings.LoadConfig(); LoginForm login = new LoginForm(); if (login.ShowDialog() != DialogResult.OK) { Application.Exit(); } WelcomeFormJQ wf = new WelcomeFormJQ(); wf.Show(this); //GlobalSettings.InitGlobal(); gRWScene = new CRailwayScene(); //GlobalVar.gScene = new ModelInformation.CRailwayScene(); InitializeComponent(); sgworld = new SGWorld66(); this.axTE3DWindow1.Text = "新建济青高速铁路"; //axTE3DWindow1.ProductName = "蒙内标轨铁路"; axTE3DWindow1.Caption = "新建济青高速铁路"; //sgworld.Project.set_Settings("RemoveSkylineCopyright", 1); //sgworld.Project.set_Settings("DisplaySun", 0); if (mTEScene == null) { mTEScene = new CTEScene(gRWScene); } mNavTrain = new CTENavTrain(gRWScene); //mNavTrain.OnFlyTo += mNavTrain_OnFlyTo; gMapControl1.MapProvider = GMap.NET.MapProviders.OpenCycleMapProvider.Instance; gMapControl1.Zoom = 6D; GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly; gMapControl1.Position = new GMap.NET.PointLatLng(36.6, 118.6); gMapControl1.Visible = true; //GlobalSettings.gGForm = this; showProject(); addDVG_Event(); //bar1.Visible = false; //bar1.Hide(); createMenuSG(); menuSG.Visible = false; mainContainer.Panel2Collapsed = true; trackTime.Text = curTime.ToLongDateString(); wf.Close(); }
public CContBeam(CRailwayScene s, string SerialNo, int projID, int parentID, string ProfessionalName, string profCode, string ProjectName, string SegmentName, string MStartDes, string MEndDes, double Mileage_Start, double Mileage_End, DateTime dt, double AvgProgress, double dir, string labelFile, string photourl, DataTable dt1 = null, DataTable dt2 = null) : base(s, SerialNo, projID, parentID, ProfessionalName, profCode, ProjectName, SegmentName, MStartDes, MEndDes, Mileage_Start, Mileage_End, dt, AvgProgress, dir, labelFile, photourl, true, dt1, dt2) { int i; switch (FXProgress.Count) { case 0: for (i = 0; i < 3; i++) { selectedFXid[i] = -1; } break; case 1: selectedFXid[0] = 0; selectedFXid[1] = -1; selectedFXid[2] = -1; break; case 2: selectedFXid[0] = 0; selectedFXid[1] = 1; selectedFXid[2] = -1; break; default: for (i = 0; i < 3; i++) { selectedFXid[i] = i; } break; } // 连续梁预定义关键分项工程 ,节段, 墩-台身 数量, 桩基根数 i = 0; foreach (CFXProj fx in FXProgress) { if (fx.fxID == 470) { selectedFXid[2] = i; } else if (fx.fxID == 468) { selectedFXid[0] = i; } else if (fx.fxID == 69) { selectedFXid[1] = i; } i++; } }
public PrjDetail(CRailwayScene s) { InitializeComponent(); timer1.Interval = timeSpan; timer1.Stop(); mRWScene = s; initCustomComponent(); //this.Size.Width }
private void button1_Click(object sender, EventArgs e) { if (gRWScene == null) { gRWScene = new CRailwayScene(@"C:\GISData\jiqing\gisDB.db", "JQMIS.CN"); //new CRailwayScene();// } new CMiddleLineForMax(gRWScene); //CRailwayLineList.CreateLinelistFromSqlite(@"C:\GISData\jiqing\gisdb.db"); //CRailwayLineList.testMainLine(); }
//public delegate void StopAround(); //public event StopAround ShowFinished = null; public CTEScene(CRailwayScene s, System.Windows.Forms.Timer timer) { mSceneData = s; //timerFly = timer; //timerFly.Stop(); //timerFly.Tick += TimerFly_Tick; //mRWStandard = new CRWTEStandard(); sgworld = new SGWorld66(); CRWTEStandard.Init(); //CTEFeature.linesPointsLoad("JqPoints1"); //CTEFeature.linesPointsLoad("JqPoints2"); //initTEContactLine(); initTEProjectList(); initTEFirmList(); initTEConsList(CGisDataSettings.gLocalDB); mTEPiers = new CTEPier(mSceneData, this); mTEPiers.TECreate(); //CTEFirm.NavigationFinished += NotifyShowFinish; //CTEPointNav.NavigationFinished += NotifyShowFinish; prjInfoForm = new MessageForm(); //panel1_Paint(p); //mTEItemList.Add(new CTEKML(s, this, mRWStandard)); //mTEItemList.Add(new CTEStation(s, this, mRWStandard)); //mTEItemList.Add(new CTENavTrain(s, this, mRWStandard)); //mTEItemList.Add(new CTEProject(s, this, mRWStandard)); //mTEItemList.Add(new CTECons(s, this, mRWStandard)); //mTEItemList.Add(new CTEMiddleLine(s, this, mRWStandard)); //mTEItemList.Add(new CTEFirm(s, this, mRWStandard)); //mTEItemList.Add(new CTEConsPhoto(s, mRWStandard)); //mTEKml = new CTEKML(s, mRWStandard); //mTEStation = new CTEStation(s, mRWStandard); //mTEFact = new CTEFactory(s, mRWStandard); //mTETrain = new CTENavTrain(s, this, mRWStandard); //mTEPier = new CTEPier(s, mRWStandard); //mTEProj = new CTEProject(s, mRWStandard); //mTECons = new CTECons(s, mRWStandard); //mTEMiddleLine = new CTEMiddleLine(s, mRWStandard); //mTEFirm = new CTEFirm(s, mRWStandard); //mTEPhotos = new CTEConsPhoto(s, this); }
//private CRailwayProject mSelectedProject = null; //private CRailwayDWProj mSelectedDWP = null; public PanelProgress2D(CRailwayScene s) { InitializeComponent(); this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint, true); roundPen.StartCap = LineCap.RoundAnchor; roundPen.EndCap = LineCap.RoundAnchor; centerFormat.LineAlignment = StringAlignment.Center; // 更正: 垂直居中 centerFormat.Alignment = StringAlignment.Center; // 水平居中 mRWScene = s; }
public CTECons(ConsLocation cl, CRailwayScene s, CTEScene ss) : base(s, ss) { sgworld = new SGWorld66(); consLoc = cl; IPosition66 p = sgworld.Creator.CreatePosition(cl.Longitude, cl.Latitude, 30, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, 0, -90.0, 0, 0); circlePeople = sgworld.Creator.CreateCircle(p, cl.Number * 2 + 200, 0xFF0000FF, 0x00FF00FF, mGroupIDDynamic, cl.ProjName + cl.Number); // circle.de circlePeople.LineStyle.Width = -3.0; circlePeople.Visibility.MinVisibilityDistance = 2000; //circle.SetParam labelSign = sgworld.Creator.CreateLabel(p, cl.Number + "", CGisDataSettings.gDataPath + @"Common\Textures\working.gif", CRWTEStandard.mLabelStyleL2, mGroupIDDynamic, "Con|" + cl.ProjName); //labelSign.Message.MessageID = sgworld.Creator.CreateMessage(MsgTargetPosition.MTP_POPUP, cl.ToString(), MsgType.TYPE_TEXT, true).ID; }
public CMiddleLineForMax(CRailwayScene s) { // OnePrj aprj; // int prjIdx = 1; StreamWriter sw1 = new StreamWriter("双桥中线建模坐标.txt"); StreamWriter sw2 = new StreamWriter("双路基中线建模坐标.txt"); StreamWriter sw3 = new StreamWriter("双隧道中线建模坐标.txt"); StreamWriter sw4 = new StreamWriter("单桥中线建模坐标.txt"); StreamWriter sw5 = new StreamWriter("单路基中线建模坐标.txt"); StreamWriter sw6 = new StreamWriter("单隧道中线建模坐标.txt"); mRWScene = s; foreach (CRailwayProject rp in mRWScene.mBridgeList) { if (rp.mIsValid && rp.mParentID == 0) { exportMiddleLine(rp, sw1, sw4, "bridge"); } } foreach (CRailwayProject rp in mRWScene.mRoadList) { if (rp.mIsValid && rp.mParentID == 0) { exportMiddleLine(rp, sw2, sw5, "road"); } } foreach (CRailwayProject rp in mRWScene.mTunnelList) { if (rp.mIsValid) { exportMiddleLine(rp, sw3, sw6, "tunnel"); } } sw1.Close(); sw2.Close(); sw3.Close(); sw4.Close(); sw5.Close(); sw6.Close(); // 用于产生加载列表,存储到sqlite数据库,手工导出到excel DatabaseWrapper.SavePrjectForLoaded(@"C:\GISData\jiqing\gisdb.db", projectList); }
public CTEConsPhoto(CRailwayScene s, CTEScene ss) : base(s, ss) { //string[] fileName; //string[] photoTime; //string[] sNo; //string[] person; //string[] remark; //var sgworld = new SGWorld66(); //if (string.IsNullOrEmpty(mGroupIDStatic)) // mGroupIDStatic = sgworld.ProjectTree.CreateGroup("Photo"); //int num; //num = CConsPhoto.findLatestPhotos(5, out fileName, out photoTime, out sNo, out person, out remark); ////num = CConsLog.findLast365Cons(out usrName, out projName, out consDate, out x, out y); //for (int i = 0; i < num; i++) //{ // Console.WriteLine("{0} #\t: fileName {1}\t Date {2}", i, fileName[i], photoTime[i]); //} }
public CTEFirm(CRailwayFirm f, CRailwayScene s, CTEScene ss) : base(s, ss) { firm = f; sgworld = new SGWorld66(); if (!string.IsNullOrEmpty(firm.mPresentation)) { var id = sgworld.ProjectTree.FindItem("\\Presentation\\" + firm.mPresentation); mPresentation = (IPresentation66)(sgworld.ProjectTree.GetObject(id)); //if (CGisDataSettings.AppSpeed <= 2) // mPresentation.PlaySpeedFactor = PresentationPlaySpeed.PPS_VERYSLOW; //else if (CGisDataSettings.AppSpeed < 5) // mPresentation.PlaySpeedFactor = PresentationPlaySpeed.PPS_SLOW; //else if (CGisDataSettings.AppSpeed < 7) // mPresentation.PlaySpeedFactor = PresentationPlaySpeed.PPS_NORMAL; //else if (CGisDataSettings.AppSpeed < 9) // mPresentation.PlaySpeedFactor = PresentationPlaySpeed.PPS_FAST; //else // mPresentation.PlaySpeedFactor = PresentationPlaySpeed.PPS_VERYFAST; } ILabelStyle66 cLabelStyle; IPosition66 cp = sgworld.Creator.CreatePosition(f.CenterLongitude, f.CenterLatitude, 0, AltitudeTypeCode.ATC_TERRAIN_RELATIVE); circlePeople = sgworld.Creator.CreateCircle(cp, f.NumStaff * 2 + 200, 0xFFFFFFFF, 0x00FF00FF, mGroupIDStatic, f.FirmName + " " + f.NumStaff); circlePeople.LineStyle.Width = -3.0; circlePeople.Visibility.MinVisibilityDistance = 5000; if (f.FirmType.Equals("制梁场") || f.FirmType.Equals("项目部") || f.FirmType.Equals("监理单位")) { cLabelStyle = CRWTEStandard.mLabelStyleL2; } else { cLabelStyle = CRWTEStandard.mLabelStyleL1; } labelSign = sgworld.Creator.CreateLabel(cp, f.FirmName, CGisDataSettings.gDataPath + @"Common\地标图片\" + f.mLabelImage, cLabelStyle, mGroupIDStatic, "Fir|" + f.FirmName); labelSign.Message.MessageID = sgworld.Creator.CreateMessage(MsgTargetPosition.MTP_POPUP, f.ToString(), MsgType.TYPE_TEXT, true).ID; }
List <string> gMobileCommand = new List <string>(); // //ImageList imgListCmd = new ImageList(); // 命令导航的二维码图像 //ImageList imgListPrj = new ImageList(); public FullScreenForm() { LoginForm login = new LoginForm(); if (login.ShowDialog() != DialogResult.OK) { Environment.Exit(-1); } WelcomeFormJQ wf = new WelcomeFormJQ(); wf.Show(this); gRWScene = new CRailwayScene(CGisDataSettings.gLocalDB, CGisDataSettings.gCurrentProject.projectUrl); Random ran = new Random(); mInstanceID = ran.Next(100, 999); InitializeComponent(); this.Text = "新建济青高速铁路工程:" + mInstanceID; sgworld = new SGWorld66(); // 初始化二维形象进度 m2DProgressPanel = new PanelProgress2D(gRWScene); mainContainer.Panel2.Controls.Add(m2DProgressPanel); m2DProgressPanel.Dock = System.Windows.Forms.DockStyle.Fill; m2DProgressPanel.Location = new System.Drawing.Point(0, 0); m2DProgressPanel.Name = "panel2D"; //initPrj2DImgList(); //panelPrjOutline.Hide(); initScanCmd(); wf.Close(); formState.Maximize(this); }
public CTEObject(CRailwayScene s, CTEScene ss) { mSceneData = s; mTEScene = ss; }
public CTEMiddleLine(CRailwayScene s, CTEScene ss, CRWTEStandard t) : base(s, ss) { }
public CTEPresentation(CRailwayScene s, CTEScene tes, PanelProgress2D p2, PanelInfo p3, Timer timer, List <CHotSpot> hp = null)// { mSceneData = s; mTEScene = tes; mNavigationList = hp; panel2D = p2; panelInfo = p3; if (mNavigationList == null || mNavigationList.Count <= 1) { return; } mNavIndex = mNavigationList.Count - 1; //mNavIndex = Math.Max(0, mNavIndex); mNavNextIndex = (mNavIndex + 1) % mNavigationList.Count; sgworld = new SGWorld66(); timerWaitingForNext = timer; timerWaitingForNext.Tick += TimerWaitingForNext_Tick; if (string.IsNullOrEmpty(mNavObjGroupID)) { mNavObjGroupID = sgworld.ProjectTree.CreateGroup("TrainGroup"); } else { sgworld.ProjectTree.DeleteItem(mNavObjGroupID); mNavObjGroupID = sgworld.ProjectTree.CreateGroup("TrainGroup"); } mPresentationGroupID = sgworld.ProjectTree.FindItem("Presentation"); if (string.IsNullOrEmpty(mPresentationGroupID)) { mPresentationGroupID = sgworld.ProjectTree.CreateGroup("Presentation"); } mPresentation = sgworld.Creator.CreatePresentation(mPresentationGroupID, "Navigating"); mPresentation.PlayAlgorithm = PresentationPlayAlgorithm.PPA_SPLINE; mPresentation.PlayMode = PresentationPlayMode.PPM_AUTOMATIC; mPresentation.LoopRoute = true; //mPresentation.CaptionHeight = 50; //mWorker = (ITerrainModel66)(sgworld.ProjectTree.GetObject(sgworld.ProjectTree.FindItem("worker"))); //mDynamicWorker =(ITerrainDynamicObject66)(sgworld.ProjectTree.GetObject(sgworld.ProjectTree.FindItem("dynamicCamera"))); mDynamicTrain[0] = sgworld.Creator.CreateDynamicObject(0, DynamicMotionStyle.MOTION_AIRPLANE, DynamicObjectType.DYNAMIC_3D_MODEL, mModelName[0], 1, AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mNavObjGroupID, "TrainObj0"); mDynamicTrain[1] = sgworld.Creator.CreateDynamicObject(0, DynamicMotionStyle.MOTION_AIRPLANE, DynamicObjectType.DYNAMIC_3D_MODEL, mModelName[1], 1, AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mNavObjGroupID, "TrainObj1"); mDynamicTrain[2] = sgworld.Creator.CreateDynamicObject(0, DynamicMotionStyle.MOTION_AIRPLANE, DynamicObjectType.DYNAMIC_3D_MODEL, mModelName[1], 1, AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mNavObjGroupID, "TrainObj2"); mDynamicTrain[3] = sgworld.Creator.CreateDynamicObject(0, DynamicMotionStyle.MOTION_AIRPLANE, DynamicObjectType.DYNAMIC_3D_MODEL, mModelName[1], 1, AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mNavObjGroupID, "TrainObj3"); mDynamicTrain[4] = sgworld.Creator.CreateDynamicObject(0, DynamicMotionStyle.MOTION_AIRPLANE, DynamicObjectType.DYNAMIC_3D_MODEL, mModelName[2], 1, AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mNavObjGroupID, "TrainObj4"); //mDynamicTrain.Acceleration = mVirtualObj = sgworld.Creator.CreateDynamicObject(0, DynamicMotionStyle.MOTION_MANUAL, DynamicObjectType.DYNAMIC_VIRTUAL, "", 1, AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mNavObjGroupID, "VirtualObj"); if (!isTEEventRegistered) { sgworld.OnObjectAction += Sgworld_OnObjectAction; sgworld.OnPresentationFlyToReachedDestination += Sgworld_OnPresentationFlyToReachedDestination; isTEEventRegistered = true; } }
public CRailwayRoad(CRailwayScene s, string SerialNo, int projID, int parentID, string ProfessionalName, string profCode, string ProjectName, string SegmentName, string MStartDes, string MEndDes, double Mileage_Start, double Mileage_End, DateTime dt, double AvgProgress, double dir, string labelFile, string photourl, DataTable dt1 = null, DataTable dt2 = null) : base(s, SerialNo, projID, parentID, ProfessionalName, profCode, ProjectName, SegmentName, MStartDes, MEndDes, Mileage_Start, Mileage_End, dt, AvgProgress, dir, labelFile, photourl, false, dt1, dt2) { int i; if (FXProgress == null) { return; } switch (FXProgress.Count) { case 0: for (i = 0; i < 3; i++) { selectedFXid[i] = -1; } break; case 1: selectedFXid[0] = 0; selectedFXid[1] = -1; selectedFXid[2] = -1; break; case 2: selectedFXid[0] = 0; selectedFXid[1] = 1; selectedFXid[2] = -1; break; default: for (i = 0; i < 3; i++) { selectedFXid[i] = i; } break; } // 路基预定义关键分项工程 管桩、挖方、填方 i = 0; foreach (CFXProj fx in FXProgress) { if (fx.fxID == 583) { selectedFXid[0] = i; } else if (fx.fxID == 597) { selectedFXid[1] = i; } else if (fx.fxID == 599) { selectedFXid[2] = i; } i++; } }
public void initPrjDetail(CRailwayScene s) { mRWScene = s; initCustomComponent(); //this.Size.Width }
/// <summary> /// 利用dkcode 与 里程初始化,潜在问题,要求在同一个链中,dkcode一致,目前数据库中的里程描述description不正确 /// </summary> /// <param name="s"></param> /// <param name="SerialNo"></param> /// <param name="projID"></param> /// <param name="profName"></param> /// <param name="ProjectName"></param> /// <param name="SegmentName"></param> /// <param name="DKCode"></param> /// <param name="Mileage_Start"></param> /// <param name="Mileage_Mid"></param> /// <param name="Mileage_End"></param> /// <param name="dt"></param> /// <param name="AvgProgress"></param> /// <param name="dir"></param> /// <param name="labelFile"></param> /// <param name="length"></param> public CRailwayProject(CRailwayScene s, string SerialNo, int projID, int parentID, string profName, string profCode, string ProjectName, string SegmentName, string MStartDes, string MEndDes, double Mileage_Start, double Mileage_End, //string Mileage_Start_Des, string Mileage_Mid_Des, string Mileage_End_Des, DateTime dt, double AvgProgress, double dir, string labelFile, string photoUrl, bool isContBeam = false, DataTable dt1 = null, DataTable dt2 = null) { double tmp; mScene = s; ProfessionalName = profName; mProfessionalCode = profCode; mProjectID = projID; mParentID = parentID; mProjectName = ProjectName; mSegmentName = SegmentName; mSerialNo = SerialNo; mIsValid = CRailwayLineList.parseDKCode(MStartDes, out mStartDKCode, out tmp); // should be Mileage_Start mIsValid &= CRailwayLineList.parseDKCode(MEndDes, out mEndDKCode, out tmp); // should be Mileage_End if (!mIsValid) { LogHelper.WriteLog(mProjectName + "里程错误:" + MStartDes + "\t" + MEndDes); } //if (string.IsNullOrEmpty(dkcode2)) // mEndDKCode = mStartDKCode; //else // mEndDKCode = dkcode2; Mileage_Start_Ds = CRailwayLineList.CombiDKCode(mStartDKCode, Mileage_Start); //Mileage_Mid_Ds = Mileage_Mid_Des; Mileage_End_Ds = CRailwayLineList.CombiDKCode(mEndDKCode, Mileage_End);; mMileage_Start = Mileage_Start; mMileage_Mid = 0; mMileage_End = Mileage_End; //mIsValid = mScene.mMiddleLines.getGPSbyDKCode(mStartDKCode, mMileage_Mid, out mLongitude_Mid, out mLatitude_Mid, out mAltitude_Mid, out mHeading_Mid); //mIsValid = mScene.mMiddleLines.getGPSbyDKCode(mStartDKCode, mMileage_Start, out mLongitude_Start, out mLatitude_Start, out mAltitude_Start, out mHeading_Start); //mIsValid &= mScene.mMiddleLines.getGPSbyDKCode(mEndDKCode, mMileage_End, out mLongitude_End, out mLatitude_End, out mAltitude_End, out mHeading_End); mUpdateTime = dt; mDirection = dir; mLabelImage = labelFile; mLength = Math.Abs(mMileage_End - mMileage_Start); //FIXME 目前是导入,不同DKCode的线路如何求解 mPhotoUrl = photoUrl; if (!isContBeam) { //mPath = new CSubPath( mStartDKCode, mMileage_Start, mEndDKCode, mMileage_End, 10); mPath = new CSubPath(CRailwayLineList.gMileageConnection, mStartDKCode, mMileage_Start, mEndDKCode, mMileage_End, 10); if (!mPath.hasPath) { mIsValid = false; //#if DEBUG // Helper.LogHelper.WriteLog(mProjectName +"\t"+ mStartDKCode + mMileage_Start + "\t" + mEndDKCode + mMileage_End); //#endif return; } mIsValid = true; mIsOnMainPath = mScene.mMainPath.getPathMileageByDKCode(mStartDKCode, mMileage_Start, out mMainMileageS, out mdistanceToMainPath); mScene.mMainPath.getPathMileageByDKCode(mEndDKCode, mMileage_End, out mMainMileageE, out mdistanceToMainPath); mPath.getDKCodebyPathMileage(mPath.mLength * 0.5, out mMidDKCode, out mMileage_Mid); mScene.mMainPath.getPathMileageByDKCode(mMidDKCode, mMileage_Mid, out mMainMileage, out mdistanceToMainPath); mLength = Math.Abs(mPath.mLength); } initFXProgress(dt1, dt2); }
//public void mNavTrain_OnFlyTo() //{ // mNavIndex++; // if (mNavIndex < gRWScene.mHotSpotList.Count) // { // sgworld.Navigate.FlyTo(sgworld.Creator.CreatePosition(gRWScene.mHotSpotList[mNavIndex].CenterLongitude, gRWScene.mHotSpotList[mNavIndex].CenterLatitude, 1000, AltitudeTypeCode.ATC_TERRAIN_RELATIVE), ActionCode.AC_FLYTO); // timerNav.Start(); // } // else // timerNav.Stop(); //} //public void GotoNext() //引发事件方法 //{ // //EventHandler temp = OnFlyTo; // mCount--; // if (mCount <= 0 && mDynamicTrain != null) // { // sgworld.Creator.DeleteObject(mDynamicTrain.ID); // mDynamicTrain = null; // f(); // //if(temp != null) // // temp(this,new EventArgs()); // } //} public CTENavTrain(CRailwayScene s) { mSceneData = s; sgworld = new SGWorld66(); //sgworld.ProjectTree.CreateGroup("Train"); }
// .ToString("u") //public DateTime fromDate = DateTime.Now.AddDays(-7); //public DateTime toDate = DateTime.Now; //private CRailwayScene s; //private CRWTEStandard t; public CTERWItem(CRailwayScene s, CTEScene ss) { mSceneData = s; mTEScene = ss; }
// .ToString("u") //public DateTime fromDate = DateTime.Now.AddDays(-7); //public DateTime toDate = DateTime.Now; //private CRailwayScene s; //private CRWTEStandard t; public CTERWItem(CRailwayScene s, CTEScene ss, CRWTEStandard t) { mSceneData = s; mTEScene = ss; mTEStandard = t; }
//CRailwayScene mSceneData; //CRailwayProject st = null; //List<CRailwayProject> mStList = null; public CTEStation(CRailwayScene s, CTEScene ss) : base(s, ss) { //mSceneData = s; //mStList = s.mStationList; }
public CTEKML(CRailwayScene s, CTEScene ss, CRWTEStandard t) : base(s, ss, t) { }
public CTEProject(CRailwayProject p, CRailwayScene s, CTEScene ss) : base(s, ss) { proj = p; if (!proj.mIsValid) { return; } double lat, lon, z, dir; //double cx, cy; sgworld = new SGWorld66(); double[] cVerticesArray = null; //double[] cVA2 = null; int count; proj.getSpecialPoint(1, out lon, out lat, out z, out dir); //double[] xx,yy,zz,ddir; //CoordinateConverter.LatLonOffest(lat, lon, dir, 90, 20, out cy, out cx); var cPos2 = sgworld.Creator.CreatePosition(lon, lat, 0, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, 0, -75, 0, 2000); //sgworld.Creator.CreateCircle(cPos2, 140, sgworld.Creator.CreateColor(127, 127, 127, 127), sgworld.Creator.CreateColor(127, 127, 127, 127), mGroupIDStatic); labelSign = sgworld.Creator.CreateTextLabel(cPos2, proj.ProjectName, CRWTEStandard.mLabelStyleL3, mGroupIDDynamic, "Prj|" + proj.ProjectName); //ilabel.Message = sgworld.Creator.CreateMessage(); labelSign.ImageFileName = CGisDataSettings.gDataPath + @"Common\progress\Pie" + proj.AvgProgress + ".png"; labelSign.Visibility.MaxVisibilityDistance = 20000; labelSign.Style.LineToGround = true; //labelSign.Message.MessageID = sgworld.Creator.CreateMessage(MsgTargetPosition.MTP_POPUP, proj.ToString(), MsgType.TYPE_TEXT, true).ID; if (proj.mAvgProgress < 0.01) { return; } //count = proj.getSubLine(out cVerticesArray); double[] xx, yy, zz; count = proj.getMiddleLine(out xx, out yy, out zz); cVerticesArray = getVerArray(xx, yy, zz); //proj.getMiddleLine(out cVA2); if (count > 1) { polylineDone = sgworld.Creator.CreatePolylineFromArray(cVerticesArray, sgworld.Creator.CreateColor((int)(255 * proj.mAvgProgress), (int)(255 - 255 * proj.mAvgProgress), 0, 255), AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mGroupIDDynamic, "Done" + proj.ProjectName); //sgworld.Creator.CreatePolylineFromArray(cVA2, sgworld.Creator.CreateColor((int)(255 ), (int)(255 ), 255, 255), // AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mGroupIDDynamic, "Middle" + proj.ProjectName); polylineDone.Spline = true; polylineDone.Visibility.MaxVisibilityDistance = 10000000; polylineDone.Visibility.MinVisibilityDistance = 100000; if (proj is CContBeam) { polylineDone.LineStyle.Width = -5; } else { polylineDone.LineStyle.Width = -2; } } //count = proj.getSubLine(out cVerticesArray); //polylineTodo = sgworld.Creator.CreatePolylineFromArray(cVerticesArray, sgworld.Creator.CreateColor(255, 255, 0, 255), // AltitudeTypeCode.ATC_TERRAIN_ABSOLUTE, mGroupIDDynamic, "ToDo" + proj.ProjectName); //polylineTodo.Spline = true; //polylineTodo.Visibility.MaxVisibilityDistance = 10000000; //polylineTodo.Visibility.MinVisibilityDistance = 10; //polylineTodo.LineStyle.Width = -2; }
public CTEProject(CRailwayScene s, CTEScene ss, CRWTEStandard t) : base(s, ss, t) { }
public CTEPier(CRailwayScene s, CTEScene ss) : base(s, ss) { }
public CTEFactory(CRailwayScene s, CTEScene ss, CRWTEStandard t) : base(s, ss, t) { }
/// <summary> /// 按照工点聚类,单位工程显示第一个 /// </summary> /// <returns></returns> public static void clusterConsFromWebByProj(CRailwayScene s, string dbFile, List <ConsLocation> ls, List <CHotSpot> ls2, string fromDate = null, string toDate = null, bool fromLocal = true) { //double cx, cy; double tx, ty, tz, td; CRailwayLine rl; double mileage, dis, gm; bool isInside; //string fromD = DateTime.Now.AddDays(-7).ToShortDateString(); //string toD = DateTime.Now.ToShortDateString(); //dt2.Columns.Add("ProjectName", typeof(string)); //dt2.Columns.Add("DwName", typeof(string)); //dt2.Columns.Add("Longitude", typeof(double)); //dt2.Columns.Add("Latitude", typeof(double)); //dt2.Columns.Add("StaffNum", typeof(int)); // 2016-05-06 00:00:00Z //DataTable dt = CServerWrapper.findClusterConsByPDW(DateTime.Now.AddDays(-7).Date.ToString("u")); //DataTable dt = CServerWrapper.findClusterConsByPDW(fromDate, toDate); if (ls == null) { ls = new List <ConsLocation>(); } else { ls.Clear(); } if (ls2 == null) { ls2 = new List <CHotSpot>(); } else { ls2.Clear(); } DataTable dt = null; if (fromLocal) { string localPath = dbFile; dt = DatabaseWrapper.ExecuteDataTable(dbFile, @"SELECT * from ConsInfo ;"); } else if (CServerWrapper.isConnected) { dt = CServerWrapper.findClusterConsByProj(fromDate, toDate); } if (dt == null) { return; } foreach (DataRow dr in dt.Rows) { //GPSAdjust.bd_decrypt(Convert.ToDouble(dr["Latitude"]), Convert.ToDouble(dr["Longitude"]), out cy, out cx); rl = CRailwayLineList.getMileagebyGPS(Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]), out mileage, out dis, out isInside); CRailwayLineList.getGPSbyDKCode(rl.mDKCode, mileage, out tx, out ty, out tz, out td); s.mMainPath.getPathMileageByDKCode(rl.mDKCode, mileage, out gm, out dis); //FIXME xyn 加入两次,比较实际坐标和火星坐标的差别 //ConsLocation cl = new ConsLocation("Mars" + dr["ProjectName"].ToString(), dr["DwName"].ToString(), Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]), //tx, ty, // fromDate.Substring(0, 11), toDate.Substring(0, 11), Convert.ToInt32(dr["StaffNum"])); //ls.Add(cl); ConsLocation cl = new ConsLocation(dr["ProjectName"].ToString(), dr["DwName"].ToString(), Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]), fromDate, toDate, Convert.ToInt32(dr["StaffNum"])); ls.Add(cl); ls2.Add(new CHotSpot(rl.mDKCode, mileage, tx, ty, tz, gm, dis, "Cons", cl)); // ls.Add(new ConsLocation(dr["ProjectName"].ToString(), dr["DwName"].ToString(), Convert.ToDouble(dr["Longitude"]), Convert.ToDouble(dr["Latitude"]), //fromDate.Substring(0, 11), toDate.Substring(0, 11), Convert.ToInt32(dr["StaffNum"]))); } //new StaticCluster().clusterProcess(); }
public CTEConsPhoto(CRailwayScene s, CTEScene ss, CRWTEStandard t) : base(s, ss, t) { }