//将数据集添加到场景中 private void AddToSceneToolStripMenuItem_Click(object sender, EventArgs e) { WorkspaceTreeNodeBase node = this.workspaceControl.WorkspaceTree.SelectedNode as WorkspaceTreeNodeBase; Dataset dataset = node.GetData() as Dataset; Layer3D layer3D = null; TerrainLayer terrainLayer = null; String layerName = dataset.Name + "@" + dataset.Datasource.Alias; switch (node.NodeType) { case WorkspaceTreeNodeDataType.DatasetVector: { Random random = new Random(Guid.NewGuid().GetHashCode()); DatasetVector datasetVector = dataset as DatasetVector; Layer3DSettingVector settingVector = new Layer3DSettingVector(); GeoStyle3D style = new GeoStyle3D(); style.FillMode = FillMode3D.LineAndFill; style.MarkerColor = Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)); //Color.Red; style.LineColor = Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)); //Color.SaddleBrown; style.FillForeColor = Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)); //Color.SkyBlue; if (datasetVector.Type == DatasetType.Line3D) { style.AltitudeMode = AltitudeMode.Absolute; style.LineWidth = 4; } settingVector.Style = style; layer3D = this.m_sceneControl.Scene.Layers.Add(datasetVector, settingVector, true, layerName); break; } case WorkspaceTreeNodeDataType.DatasetGrid: { DatasetGrid datasetGrid = dataset as DatasetGrid; terrainLayer = this.m_sceneControl.Scene.TerrainLayers.Add(datasetGrid, true); break; } case WorkspaceTreeNodeDataType.DatasetImage: { DatasetImage datasetImage = dataset as DatasetImage; Layer3DSettingImage settingImage = new Layer3DSettingImage(); layer3D = this.m_sceneControl.Scene.Layers.Add(datasetImage, settingImage, true, layerName); break; } } //if (layer3D != null) //{ // this.m_sceneControl.Scene.EnsureVisible(layer3D.Bounds); //} //if (terrainLayer != null) //{ // this.m_sceneControl.Scene.EnsureVisible(terrainLayer.Bounds); //} this.m_sceneControl.Scene.Refresh(); }
//删除数据集 private void DelDataset_ToolStripMenuItem_Click(object sender, EventArgs e) { WorkspaceTreeNodeBase node = this.workspaceControl.WorkspaceTree.SelectedNode as WorkspaceTreeNodeBase; Dataset dataset = node.GetData() as Dataset; //如果该图层在场景中打开,移除图层 Layer3Ds layers = this.m_sceneControl.Scene.Layers; int nLayer = layers.Count; for (int i = 0; i < nLayer; i++) { Layer3D layer = layers[i]; if (layer.Caption.Contains(dataset.Name)) { layers.Remove(layer.Name); nLayer--; i--; } } Datasource datsource = dataset.Datasource; bool ret = datsource.Datasets.Delete(dataset.Name); datsource.Refresh(); }
private void AddData() { try { WorkspaceTreeNodeBase node = workspaceControl1.WorkspaceTree.SelectedNode as WorkspaceTreeNodeBase; WorkspaceTreeNodeDataType type = node.NodeType; if ((type & WorkspaceTreeNodeDataType.Dataset) != WorkspaceTreeNodeDataType.Unknown) { type = WorkspaceTreeNodeDataType.Dataset; } switch (type) { case WorkspaceTreeNodeDataType.Dataset: { Dataset dataset = node.GetData() as Dataset; layersControl1.Map.Layers.Add(dataset, true); layersControl1.Map.Refresh(); m_mapControlEagleEye.Map.Layers.Add(dataset, true); m_mapControlEagleEye.Map.Refresh(); } break; case WorkspaceTreeNodeDataType.MapName: { mapName = node.GetData() as String; mapControl1.Map.Open(mapName); geoMap.MapName = mapName; rect = new Rectangle2D(new Point2D(850, 1300), new Size2D(1500, 1500)); geoRect = new GeoRectangle(rect, 0); geoMap.Shape = geoRect; elements.AddNew(geoMap); m_mapControlEagleEye.Map.Open(mapName); mapControl1.Map.Refresh(); m_mapControlEagleEye.Map.Refresh(); m_mapControlEagleEye.Map.ViewEntire(); } break; case WorkspaceTreeNodeDataType.SymbolMarker: { SymbolLibraryDialog.ShowDialog(workspace1.Resources, SymbolType.Marker); } break; case WorkspaceTreeNodeDataType.SymbolLine: { SymbolLibraryDialog.ShowDialog(workspace1.Resources, SymbolType.Line); } break; case WorkspaceTreeNodeDataType.SymbolFill: { SymbolLibraryDialog.ShowDialog(workspace1.Resources, SymbolType.Fill); } break; default: break; } } catch { } }