ArcGIS Pro SDK (五)内容 1 工程
目录
- ArcGIS Pro SDK (五)内容 1 工程
- 1 创建一个空工程
- 2 创建具有指定名称的新工程
- 3 使用 Pro 的默认设置创建新工程
- 4 使用自定义模板文件新建工程
- 5 使用 ArcGIS Pro 提供的模板创建工程
- 6 打开现有工程
- 7 获取当前工程
- 8 获取当前工程的位置
- 9 获取项目的默认 gdb 路径
- 10 保存工程
- 11 检查是否需要保存工程
- 12 另存为工程
- 13 关闭工程
- 14 如何向工程添加新地图
环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0
1 创建一个空工程
//创建一个空工程。工程将在default文件夹中创建
//它将被命名为MyProject1, MyProject2,或者类似的名字……
await Project.CreateAsync();
2 创建具有指定名称的新工程
//用于创建新工程的设置
CreateProjectSettings projectSettings = new CreateProjectSettings()
{//设置将要创建的工程的名称Name = @"C:\Data\MyProject1\MyProject1.aprx"
};
//创建新工程
await Project.CreateAsync(projectSettings);
3 使用 Pro 的默认设置创建新工程
//获取Pro的默认工程设置。
var defaultProjectSettings = Project.GetDefaultProjectSettings();
//使用默认工程设置创建新工程
await Project.CreateAsync(defaultProjectSettings);
4 使用自定义模板文件新建工程
//用于创建新工程的设置
CreateProjectSettings projectSettings = new CreateProjectSettings()
{//工程名称Name = "New Project",//存储路径LocationPath = @"C:\Data\NewProject",//用于创建工程的工程模版路径TemplatePath = @"C:\Data\MyProject1\CustomTemplate.aptx"
};
//创建新工程
await Project.CreateAsync(projectSettings);
5 使用 ArcGIS Pro 提供的模板创建工程
//用于创建新工程的设置
CreateProjectSettings proTemplateSettings = new CreateProjectSettings()
{//工程名称Name = "New Project",//存储路径LocationPath = @"C:\Data\NewProject",//选择使用的Pro模板TemplateType = TemplateType.Catalog//TemplateType = TemplateType.LocalScene//TemplateType = TemplateType.GlobalScene//TemplateType = TemplateType.Map
};
//创建新工程
await Project.CreateAsync(proTemplateSettings);
6 打开现有工程
//打开现有的工程或工程包
await Project.OpenAsync(@"C:\Data\MyProject1\MyProject1.aprx");
7 获取当前工程
//当前工程
var project = Project.Current;
8 获取当前工程的位置
//获取当前工程的位置 - 当前工程文件的路径(*.aprx)
string projectPath = Project.Current.URI;
9 获取项目的默认 gdb 路径
var projGDBPath = Project.Current.DefaultGeodatabasePath;
10 保存工程
//保存工程
await Project.Current.SaveAsync();
11 检查是否需要保存工程
//工程的脏状态表示对工程所做的更改尚未保存。
bool isProjectDirty = Project.Current.IsDirty;
12 另存为工程
//使用指定的文件名将当前工程文件(*.aprx)的副本保存到指定的位置,
//然后打开新的工程文件
await Project.Current.SaveAsAsync(@"C:\Data\MyProject1\MyNewProject1.aprx");
13 关闭工程
//工程不能使用ArcGIS Pro API关闭。
//只有在打开另一个工程、创建新工程或关闭应用程序时,工程才会关闭。
14 如何向工程添加新地图
await QueuedTask.Run(() =>{//注意:请参见ArcGIS.Desktop.Mapping中的MapFactoryvar map = MapFactory.Instance.CreateMap("New Map", MapType.Map, MapViewingMode.Map, Basemap.Oceans);ProApp.Panes.CreateMapPaneAsync(map);});