免费查企业网站,巴中哪里做网站,企查查企业信息查询网页版,做微网站是订阅号还是服务号号在ArcGIS Pro中我们对工程的基本操作一般包括打开、新建、保存等。下面演示在二次开发中如何用代码进行以上操作。
新建一个项目#xff0c;命名为【ProjectManager】#xff0c;添加8个按钮#xff0c;命名为【CreateEmptyProject、CreateProjectByDefault、OpenExProjest…在ArcGIS Pro中我们对工程的基本操作一般包括打开、新建、保存等。下面演示在二次开发中如何用代码进行以上操作。
新建一个项目命名为【ProjectManager】添加8个按钮命名为【CreateEmptyProject、CreateProjectByDefault、OpenExProjest、SaveProject、SaveAsProjest、GetCurrentProject、GetDefaultGDBPath、AddMap】分别对应8种基本操作的演示如下图所示 一、创建一个空的工程
更新OnClick()事件就一个方法无参数。
代码如下 protected override async void OnClick(){// 创建一个空的工程await Project.CreateAsync();} 二、根据系统默认模板来创建新工程
同样是创建工程的方法但需要输入一个【设置】参数【设置】直接引用系统默认。
更新OnClick()事件代码如下 protected override async void OnClick(){// 获取系统默认的工程设置var defaultProjectSettings Project.GetDefaultProjectSettings();// 按模板创建新的工程await Project.CreateAsync(defaultProjectSettings);} 三、打开现有工程
通过打开对话框获取要打开工程的路径然后按此路径打开工程。
更新OnClick()事件代码如下 protected override async void OnClick(){OpenItemDialog openDlg new OpenItemDialog(){Title 选择一个工程, //打开对话框标题MultiSelect false, //是否可以多选Filter ItemFilters.Projects, //类型筛选};//打开对话框bool? ok openDlg.ShowDialog();//如果没有选择内容则返回if (!ok.HasValue || openDlg.Items.Count() 0)return;//如果有选择内容返回选择的内容var item openDlg.Items.First();// 按返回的工程路径打开工程await Project.OpenAsync(item.Path);}} 四、保存当前工程
更新OnClick()事件也是一个简单的方法无参数。代码如下 protected override async void OnClick(){// 保存工程await Project.Current.SaveAsync();} 五、工程另存为
通过打开对话框获取要另存工程的路径然后按此路径保存工程。
更新OnClick()事件代码如下 protected override async void OnClick(){SaveItemDialog saveDlg new SaveItemDialog(){Title 保存项目为, //打开对话框标题Filter ItemFilters.Projects, //类型筛选};//打开对话框bool? ok saveDlg.ShowDialog();//如果没有选择内容则返回if (!ok.HasValue)return;// 按返回的工程路径保存await Project.Current.SaveAsAsync(saveDlg.FilePath);}} 六、获取当前工程
获取当前的工程并通过消息框的方法显示。
更新OnClick()事件代码如下 protected override void OnClick(){// 获取当前的工程var project Project.Current;// 用消息框显示MessageBox.Show(当前项目为\r\n project.Path);} 七、获取当前工程默认的GDB数据库
获取当前工程默认的GDB数据库并通过消息框的方法显示。
更新OnClick()事件代码如下 protected override void OnClick(){// 获取工程默认数据库var DefalutGDB Project.Current.DefaultGeodatabasePath;// 用消息框显示MessageBox.Show(当前项目的默认数据库\r\n DefalutGDB.ToString());} 八、在当前工程中创建新的地图
通过MapFactory.Instance.CreateMap方法创建新地图。有4个参数第1个参数是地图名第23个参数一般默认第4个参数是要调用的底图。
更新OnClick()事件代码如下 protected override async void OnClick(){await QueuedTask.Run(() {// 创建示例地图var map MapFactory.Instance.CreateMap(示例地图,MapType.Map,MapViewingMode.Map,Basemap.Oceans);ProApp.Panes.CreateMapPaneAsync(map);});} 九、工程文件分享
最后放上工程文件的链接
ProjectManagerhttps://pan.baidu.com/s/1enqUi4YpzxoQB-GvVfB9Xw?pwd357c