public DrawingLine(ITerraExplorerObject66 inLine, ITerrainLabel66 inLabel, string markerType, List <string> conObjGuids) { Type = "Line"; SkylineObj = inLine; SkylineLabel = inLabel; MarkerType = markerType; ConnObjGuids = conObjGuids; Ts = new TsFile(inLine, Type, "PLine", "X", MarkerType, Name, conObjGuids); Ts.WriteTsFile(); }
public DrawingRegion(ITerraExplorerObject66 inRegion, ITerrainLabel66 inLabel66, string markerType, List <string> conObjGuids) { Type = "Region"; SkylineObj = inRegion; SkylineLabel = inLabel66; MarkerType = markerType; ConnObjGuids = conObjGuids; Ts = new TsFile(inRegion, Type, "PLine", "X", markerType, Name, ConnObjGuids); Ts.WriteTsFile(); }
/// <summary> /// TODO 丁一明,显示聚类结果 /// </summary> /// <param name="groupID"></param> public override void TECreate() { /* string[] usrName; * string[] projName; * string[] consDate; * double[] x; * double[] y; * * var sgworld = new SGWorld66(); * var branch = sgworld.ProjectTree.FindItem(groupID); * * int num; * num = CConsLog.findLast365Cons(out usrName, out projName, out consDate, out x, out y); * for (int i = 0; i < num; i++) * { * Console.WriteLine("{0} #\t: User {1}\t Project {2}\t x {3}\t y {4}\t Date {5}", i, usrName[i], projName[i], x[i], y[i], consDate[i]); * }*/ ///dym var sgworld = new SGWorld66(); if (string.IsNullOrEmpty(mGroupIDDynamic)) { mGroupIDDynamic = sgworld.ProjectTree.CreateGroup("Cons"); } //var branch = sgworld.ProjectTree.FindItem(groupID); List <ConsLocation> ls; //ls = CConsLog.clusterConsByProj(); ls = CConsLog.clusterConsFromWebByProj(mTEScene.fromDate.ToString("u"), mTEScene.toDate.ToString("u")); //int maxParticles = 100; //string imageName = ""; //int rate = 2; //int shape = 0; //var branch = sgworld.ProjectTree.FindItem("Dying"); //ITerrainEffect66 gParticleLabel = (ITerrainEffect66)sgworld.ProjectTree.GetObject(branch); //var xml = gParticleLabel.EffectXML; //Console.WriteLine(xml); //var particleText = "$$PARTICLE$$UserDefine: \r\n <?xml version='1.0' encoding='UTF-8'?> \r\n <Particle ID='Custom'>"; //particleText += "<ParticleEmitter ID='Disc' NumParticles='130' Texture='d:\\Campfire.png'>\r\n"; //particleText += "<Emitter Rate='13' Shape='Disc' SpeedShape='Disc' Scale='50,50,50' Speed='1,1,1' />\r\n"; //particleText += "<Cycle Value='1' /><Sort Value='1' /><Rotation Speed='1' Time='2' Initial='0' />\r\n"; //particleText += "<Render Value='Billboard' /><Gravity Value='0, 1, 0' /><Force Value='0' OverrideRotation='0' />\r\n"; //particleText += "<Position Value='0, 0, 0' /><Life Value='3.06' /><Speed Value='1.41' />\r\n"; //particleText += "<Color Value='0,0,255,255' /><Size Value='24,24' /><Drag Value='1' />\r\n"; //particleText += "<Blend Type='' /><Fade FadeIn='0.47' FadeOut='0.65' MaxFade='0.28' /></ParticleEmitter>\r\n"; //particleText += "</Particle>"; //IPosition66 tp = sgworld.Creator.CreatePosition(118.086466892066, 36.9038495888797, 3, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, // 0, -90.0, 0, 0); //ITerrainRegularPolygon66 tcircle = sgworld.Creator.CreateCircle(tp, 200, 0xFF0000FF, 0x00FF00FF, branch, "测试点"); //tcircle.LineStyle.Width = -5.0; foreach (ConsLocation cl in ls) { IPosition66 p = sgworld.Creator.CreatePosition(cl.Longitude, cl.Latitude, 30, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, 0, -90.0, 0, 0); ITerrainRegularPolygon66 circle = sgworld.Creator.CreateCircle(p, cl.number * 2 + 200, 0xFF0000FF, 0x00FF00FF, mGroupIDDynamic, cl.ProjName + cl.number); // circle.de circle.LineStyle.Width = -5.0; circle.Visibility.MinVisibilityDistance = 100000; //circle.SetParam ITerrainLabel66 iLabel = sgworld.Creator.CreateLabel(p, cl.number + "", CGisDataSettings.gDataPath + @"Common\地标图片\worker.png", mTEStandard.mLabelStyleL2, mGroupIDDynamic, cl.ProjName); iLabel.Message.MessageID = sgworld.Creator.CreateMessage(MsgTargetPosition.MTP_POPUP, cl.ToString(), MsgType.TYPE_TEXT, true).ID; // circle.Message.MessageID = sgworld.Creator.CreateMessage(MsgTargetPosition.MTP_POPUP, cl.ToString(), MsgType.TYPE_TEXT, true).ID; //particleText += "<ParticleEmitter ID='ring' NumParticles='" + maxParticles + "' Texture='" + imageName + "'>" + "\r\n" + // "<Emitter Rate='" + rate + "' Shape='" + shape + "' SpeedShape='" + speedShape + "' Scale='" + scaleX + "," + scaleY + "," + scaleZ + "' Speed='" + speedX + "," + speedY + "," + speedZ + "' />" + "\r\n" + // shape:(Cone, Sphere, ShellCone, ShellSphere, Ring, Disc, Cube), scale:the size of the shape in meters, speed:(X,Alt,Z) disform the shape like it is in radius=1. // "<Cycle Value='1' />" + "\r\n" + // 0=one time , 1=loop // "<Sort Value='1' />" + "\r\n" + // rotationNodeConditional + // "<Render Value='" + render + "' />" + "\r\n" + // "<Gravity Value='" + gravityX + ", " + gravityY + ", " + gravityZ + "' />" + "\r\n" + // Gravity in X, Altitude and Z directions // "<Force Value='" + force + "' OverrideRotation='" + overrideRotation + "' />" + "\r\n" + // Gravity in X, Altitude and Z directions // "<Position Value='0, 0, 0' />" + "\r\n" + // doesn;t work // "<Life Value='" + timeSpan + "' />" + "\r\n" + // life of each particle in seconds // "<Speed Value='" + particleSpeed + "' />" + "\r\n" + // this value multiply the Emitter speed values (x,y,z) // "<Color Value='20," + colorR + "," + colorG + "," + colorB + "' />" + "\r\n" + // "<Size Value='" + sizeWithRatioX /*size*/ + "," + sizeWithRatioY /*size * sizeRatio*/ + "' />" + "\r\n" + // size of the particle image 1=original image size. Format: SizeX, SizeY // "<Drag Value='" + drag + "' />" + "\r\n" + // drag force (units like graviy) // "<Blend Type='" + blend + "' />" + "\r\n" + // //*** "<Rotation Speed='0' Time='1.7' />" + "\r\n" + // optional: should be in a checkbox // "<Fade FadeIn='" + fadeIn + "' FadeOut='" + fadeOut + "' MaxFade='" + maxFade + "' />" + "\r\n" + // fade of each particle. FadeIn/fade out in seconds. Max fade - the maximum fade value (alpha 0-1) //"</ParticleEmitter>" + "\r\n"; //particleText += "</Particle>"; //ITerrainEffect66 ite = sgworld.Creator.CreateEffect(p, particleText, branch, cl.name + cl.number); //ite.EffectXML = particleText; //ite.Terrain.BBox //Console.WriteLine("x: {0} y {1} number {2}", cl.longitude, cl.latitude, cl.number); } //DBSCAN.Cluster(); //for (int i = 0; i < DBSCAN.center.Count; i++) //{ // IPosition66 p = sgworld.Creator.CreatePosition(DBSCAN.center[i].longitude, DBSCAN.center[i].latitude, 0, AltitudeTypeCode.ATC_TERRAIN_RELATIVE, // 341, -90.0, 0, 445000); // ITerrainRegularPolygon66 Circle = sgworld.Creator.CreateCircle(p, DBSCAN.p_count[i], 0x00FFFF, 0x00FF00, "", ""); // Circle.LineStyle.Width = -5.0; // // sgworld.Creator.CreateCircle(p, DBSCAN.p_count[i]*100, 0x0000FF, 0x00FF00, "", ""); // //sgworld.Creator.CreateEllipse(p, DBSCAN.p_count[i], DBSCAN.p_count[i], 0x00FFFF, 0x00FF00, -1, "", ""); //} }