| | |
| | | { |
| | | FrmWin win; |
| | | |
| | | List<string> codes = new List<string> { "重置鼠标", "打开方案", "保存方案", "矢量数据", "影像数据", "地形数据", "模型数据(osgb)", "模型数据(obj)", "编辑数据", "点量算", "坡向分析", "线量算", "面量算", "体量算", "角量算", "空间统计", "空间分析", "剖面分析", "坡度分析", "等值线", "剖切分析", "地理场景产品组装", "传统4D产品派生", "打开fly" }; |
| | | List<string> codes = new List<string> { "重置鼠标", "打开方案", "保存方案", "矢量数据", "影像数据", "地形数据", "模型数据(osgb)", "模型数据(obj)", "编辑数据", "点量算", "坡向分析", "线量算", "面量算", "体量算", "角量算", "空间统计", "空间分析", "剖面分析", "坡度分析", "等值线", "剖切分析", "地理场景产品组装", "传统4D产品派生", "打开fly", "加载shp" }; |
| | | |
| | | public FrmTool(FrmWin win) |
| | | { |
| | |
| | | |
| | | string angleGroupName = "角量算"; |
| | | |
| | | string shpGroupName = "矢量数据"; |
| | | |
| | | string mainUrl = Application.StartupPath; |
| | | |
| | | public FrmWin() |
| | |
| | | InvokeOsgbLab(); break; |
| | | case 0xd7: // 打开fly |
| | | SG.Open(this.fly); break; |
| | | case 0xd8: // 加载shp |
| | | LoadShp(); break; |
| | | } |
| | | } |
| | | |
| | |
| | | ExecCmd(new List<string> { "taskkill /f /t /im OSGBLab.exe" }); |
| | | RunExe(GetAbsolutePath("osgblabPath"), null, false); |
| | | } |
| | | |
| | | private void LoadShp() |
| | | { |
| | | OpenFileDialog dialog = new OpenFileDialog(); |
| | | dialog.Filter = "Shapefile文件 (*.shp)|*.shp"; |
| | | dialog.RestoreDirectory = true; |
| | | |
| | | if (dialog.ShowDialog() == DialogResult.OK) |
| | | { |
| | | LoadShp(dialog.FileName); |
| | | } |
| | | } |
| | | |
| | | private void LoadShp(string shpFile) |
| | | { |
| | | string gid = GetGroupIdByName(shpGroupName); |
| | | string conn = "FileName=" + shpFile + ";TEPlugName=OGR;"; // 连接字符串 |
| | | string shpName = Path.GetFileNameWithoutExtension(shpFile); |
| | | |
| | | IFeatureLayer71 layer = SG.Creator.CreateFeatureLayer(shpName, conn, gid); // 加载shp |
| | | layer.Refresh(); |
| | | |
| | | SG.Navigate.FlyTo(layer.ID); |
| | | } |
| | | |
| | | private string GetGroupIdByName(string groupName) |
| | | { |
| | | string gid = SG.ProjectTree.FindItem(groupName); |
| | | if (string.IsNullOrEmpty(gid) || !SG.ProjectTree.IsGroup(gid)) |
| | | { |
| | | gid = SG.ProjectTree.CreateGroup(groupName, SG.ProjectTree.RootID); |
| | | } |
| | | |
| | | return gid; |
| | | } |
| | | } |
| | | } |