ArcGIS Pro SDK (五)内容 1 地图工程

ArcGIS Pro SDK (五)内容 1 工程

目录

  • [ArcGIS Pro SDK (五)内容 1 工程](#ArcGIS Pro SDK (五)内容 1 工程)
    • [1 创建一个空工程](#1 创建一个空工程)
    • [2 创建具有指定名称的新工程](#2 创建具有指定名称的新工程)
    • [3 使用 Pro 的默认设置创建新工程](#3 使用 Pro 的默认设置创建新工程)
    • [4 使用自定义模板文件新建工程](#4 使用自定义模板文件新建工程)
    • [5 使用 ArcGIS Pro 提供的模板创建工程](#5 使用 ArcGIS Pro 提供的模板创建工程)
    • [6 打开现有工程](#6 打开现有工程)
    • [7 获取当前工程](#7 获取当前工程)
    • [8 获取当前工程的位置](#8 获取当前工程的位置)
    • [9 获取项目的默认 gdb 路径](#9 获取项目的默认 gdb 路径)
    • [10 保存工程](#10 保存工程)
    • [11 检查是否需要保存工程](#11 检查是否需要保存工程)
    • [12 另存为工程](#12 另存为工程)
    • [13 关闭工程](#13 关闭工程)
    • [14 如何向工程添加新地图](#14 如何向工程添加新地图)

环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0

1 创建一个空工程

csharp 复制代码
//创建一个空工程。工程将在default文件夹中创建
//它将被命名为MyProject1, MyProject2,或者类似的名字......
await Project.CreateAsync();

2 创建具有指定名称的新工程

csharp 复制代码
//用于创建新工程的设置
CreateProjectSettings projectSettings = new CreateProjectSettings()
{
    //设置将要创建的工程的名称
    Name = @"C:\Data\MyProject1\MyProject1.aprx"
};
//创建新工程
await Project.CreateAsync(projectSettings);

3 使用 Pro 的默认设置创建新工程

csharp 复制代码
//获取Pro的默认工程设置。
var defaultProjectSettings = Project.GetDefaultProjectSettings();
//使用默认工程设置创建新工程
await Project.CreateAsync(defaultProjectSettings);

4 使用自定义模板文件新建工程

csharp 复制代码
//用于创建新工程的设置
CreateProjectSettings projectSettings = new CreateProjectSettings()
{
    //工程名称
    Name = "New Project",
    //存储路径
    LocationPath = @"C:\Data\NewProject",
    //用于创建工程的工程模版路径
    TemplatePath = @"C:\Data\MyProject1\CustomTemplate.aptx"
};
//创建新工程
await Project.CreateAsync(projectSettings);

5 使用 ArcGIS Pro 提供的模板创建工程

csharp 复制代码
//用于创建新工程的设置
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 打开现有工程

csharp 复制代码
//打开现有的工程或工程包
await Project.OpenAsync(@"C:\Data\MyProject1\MyProject1.aprx");

7 获取当前工程

csharp 复制代码
//当前工程
var project = Project.Current;

8 获取当前工程的位置

csharp 复制代码
//获取当前工程的位置 - 当前工程文件的路径(*.aprx)
string projectPath = Project.Current.URI;

9 获取项目的默认 gdb 路径

csharp 复制代码
var projGDBPath = Project.Current.DefaultGeodatabasePath;

10 保存工程

csharp 复制代码
//保存工程
await Project.Current.SaveAsync();

11 检查是否需要保存工程

csharp 复制代码
//工程的脏状态表示对工程所做的更改尚未保存。
bool isProjectDirty = Project.Current.IsDirty;

12 另存为工程

csharp 复制代码
//使用指定的文件名将当前工程文件(*.aprx)的副本保存到指定的位置,
//然后打开新的工程文件
await Project.Current.SaveAsAsync(@"C:\Data\MyProject1\MyNewProject1.aprx");

13 关闭工程

csharp 复制代码
//工程不能使用ArcGIS Pro API关闭。
//只有在打开另一个工程、创建新工程或关闭应用程序时,工程才会关闭。

14 如何向工程添加新地图

csharp 复制代码
await QueuedTask.Run(() =>
                     {
                         //注意:请参见ArcGIS.Desktop.Mapping中的MapFactory
                         var map = MapFactory.Instance.CreateMap("New Map", MapType.Map, MapViewingMode.Map, Basemap.Oceans);
                         ProApp.Panes.CreateMapPaneAsync(map);
                     });
相关推荐
数据库小学妹7 小时前
空间数据库 PostGIS 兼容性怎么验?函数、类型、坐标系逐条核(附 SQL)
gis·信创·空间分析·空间数据库·地图渲染
god_cvz10 小时前
麒麟 V10(ARM64 / aarch64)源码编译 3dtiles 全步骤
后端·gis
Leinwin12 小时前
Copilot Studio 实战:多模型选择、GitHub Copilot harness 计费与 Copilot Credits 额度管理
开发语言·c#
FuckPatience13 小时前
C# Winform 使用Label循环显示闪烁
开发语言·c#
念何架构之路13 小时前
OpenTelemetry核心概念
后端·目标跟踪·golang·c#·linq
开开心心就好13 小时前
电脑语音实时转文字工具,会议记录很省事
运维·服务器·前端·c#·ocr·perl·1024程序员节
波力海苔夹心脆67513 小时前
C# 固高 GTS 运动控制卡入门:伺服上下电、Jog 点动与二维插补(WinForms 实战)
服务器·开发语言·c#·运动控制·伺服电机·winforms·固高
何以解忧唯有撸码20 小时前
c# + YOLODotNet+OpenCVSharp 实现物品轨迹追踪
计算机视觉·c#·winform·yolov8·opencvsharp
行走的GISer1 天前
三维场景数据接入清单:六类数据、两条来源
gis·三维可视化·倾斜摄影·3dtiles·天地图
web3d5201 天前
打包后地图资源 404?publicPath 与静态路径排查
前端框架·gis