ArcGIS Pro 共享地图(MPKX)

目录

1、MPKX

2、创建地图包

2.1 打开地图加载数据

2.2 新建地图包

2.3 保存包的位置

2.4 标签和摘要

2.5 包含企业数据和UNV路径数据

2.6 共享方式

2.7 附件

2.8 点击包,完成打包上传

3、在ArcGIS Online浏览共享的地图包

3.1 进入共享的组织

3.2  在组织内容选项卡可以发现共享的内容

4、下载共享的地图包

4.1 下载地图包

4.2 在ArcGIS Pro中打开

4.3 地图包解压位置

4.4 ArcGIS Pro中加载的地图包数据

5、地图共享API

5.1 制作地图包

5.2 上传地图包

5.3 下载地图包

5.4 加载地图包

6、参考地址

 


1、MPKX

通过地图包 (.mpkx) 可轻松共享完整地图。地图包是包含了地图 (.mapx) 及其图层所引用的数据的文件。使用地图包可在工作组中的同事之间、组织中的各部门之间或通过 ArcGIS Online 或 ArcGIS Enterprise 与其他 ArcGIS 用户轻松共享地图。

2、创建地图包

2.1 打开地图加载数据

2.2 新建地图包

2.3 保存包的位置

可以保存到ArcGIS Online也可以是本地文件。

2.4 标签和摘要

摘要和标签是必填项

2.5 包含企业数据和UNV路径数据

该选项意思是是否将远程地理数据库或UNC路径的数据提取到文件地理数据库打包到地图包中,不勾选的话,只会存储数据路径。

2.6 共享方式

共享方式:

  • 我的组织 - 如果您使用组织帐户登录,您将会看到此选项。此选项允许您与组织中所有经过身份验证的用户共享您的内容。
  • 所有人 - 该选项将您的内容变为公开状态。任何人均可访问并进行查看。
  • 群组 - 您可以与您所在的群组以及群组中的成员共享您的内容。

 

2.7 附件

将想要包含的项目添加到附件。该选项允许您包括其他内容,如详细文档、报告、图表等。但不能包含以下文件类型:.js、.vbs、.py、.pyc、.pyo、.bat 和 .ocx。同时,仅允许签署的 .dll 文件和 .exe 文件。

 

2.8 点击包,完成打包上传

3、在ArcGIS Online浏览共享的地图包

3.1 进入共享的组织

3.2  在组织内容选项卡可以发现共享的内容

 

======================================================================

在ArcGIS Pro目录窗格的门户中也能看见上传的内容

 

4、下载共享的地图包

4.1 下载地图包

4.2 在ArcGIS Pro中打开

4.3 地图包解压位置

ArcGIS Pro会将地图包解压到C:\Users\Administrator\Documents\ArcGIS\Packages,文件夹以地图包名称_GUID命名。里面包含了一个gdb数据库和mapx文件。

 

4.4 ArcGIS Pro中加载的地图包数据

数据源指向mmpk解压的位置

 

5、地图共享API

5.1 制作地图包

执行GP工具时有个小技巧,不知道参数怎么组织、不知道工具路径的话,直接执行一下GP,然后在目录窗格的历史里面,找到执行过的GP历史信息,然后右键复制python命令到文本编辑器:

此外也可以参考工具参考:http://pro.arcgis.com/zh-cn/pro-app/tool-reference/data-management/package-map.htm

代码:

var args = Geoprocessing.MakeValueArray("Map", @"C:\Users\Administrator\Desktop\MyMPKX.mpkx");

var gpResult = await Geoprocessing.ExecuteToolAsync("management.PackageMap", args);

5.2 上传地图包

// 获取当前激活的portal

var portal = ArcGISPortalManager.Current.GetActivePortal();

// 获取用户名

var owner = portal.GetSignOnUsername();



#region 上传地图包

sPath = @"E:\我的资料\ArcGIS\ArcGIS Pro\Shared\";

UploadDefinition ud = new UploadDefinition(portal.PortalUri.OriginalString,

ItemFactory.Instance.Create(sPath + "123.mpkx"),

new string[] { "上传测试" });

ud.CreateFolderIfNotPresent = true;

ud.FolderName = "上传测试";

ud.Description = "测试";

ud.Tags = new string[] { "test" };



EsriHttpClient client = new EsriHttpClient();

var result = await client.UploadAsync(ud);

 

5.3 下载地图包

protected override async void OnClick()

{

string sMessage = string.Empty;

bool bDownSuccess = true;



// 获取当前激活的portal

var portal = ArcGISPortalManager.Current.GetActivePortal();

// 获取用户名

var owner = portal.GetSignOnUsername();

// 获取用户内容

var userContent = await portal.GetUserContentAsync(owner);



//Get all the folders

foreach (var pf in userContent.PortalFolders)

{

// 获取文件夹下的内容

await QueuedTask.Run(() =>

{

var items = pf.GetItems();

items.ToList().ForEach(async (item) =>

{

sMessage += $"文件夹【{pf.Name}】:{item.Name}" + Environment.NewLine;

bDownSuccess = bDownSuccess && await ((PortalItem)item).GetItemDataAsync(@"E:\我的资料\ArcGIS\ArcGIS Pro\Shared\" +pf.Name+ item.Name);

});
});
}


// 获取根目录下的内容

foreach (var pi in userContent.PortalItems)

{

sMessage += $"根目录:{pi.Name}" + Environment.NewLine;

bDownSuccess = bDownSuccess&& await pi.GetItemDataAsync(@"E:\我的资料\ArcGIS\ArcGIS Pro\Shared\" + pi.Name);

sMessage += $"根目录:{pi.Name}" + Environment.NewLine;

}

}

结果展示:

5.4 加载地图包

注意:如果地图包有问题如引用的数据源缺少等,newmap对象将为null。

string sPath = @"E:\我的资料\ArcGIS\ArcGIS Pro\Shared\";

var currentItem = ItemFactory.Instance.Create(sPath + "测试Map.mpkx");

await QueuedTask.Run(async () =>

{

 加载地图包

if (MapFactory.Instance.CanCreateMapFrom(currentItem))

{

Map newMap = MapFactory.Instance.CreateMapFromItem(currentItem);

if (newMap != null)

await ProApp.Panes.CreateMapPaneAsync(newMap);

}

});

6、参考地址

http://pro.arcgis.com/zh-cn/pro-app/help/sharing/overview/map-package.htm

https://github.com/Esri/arcgis-pro-sdk/wiki/ProSnippets-sharing

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值