【ArcGIS Pro二次开发】(57):地图系列

在ArcGIS Pro中,有一个地图系列,可以在一个布局中导出多个地图。

在SDK中为ArcGIS.Desktop.layout.MapSeries类和映射系列导出选项,可以以支持多页导出。

MapSeries类提供了一个静态CreateSpatialMapSeries方法,该方法使用指定的索引层(作为参数传递)为给定布局生成空间地图系列。

使用返回的SpatialMapSeries类实例可以细化地图系列格式选项(范围选项、边距设置等)。

与布局关联的地图系列(如果有)可以从其【layout.MapSeries】属性中访问。


1、创建地图系列

  await QueuedTask.Run(() =>{// 地图系列构造函数【布局,地图,视图图层,名称】var SMS = MapSeries.CreateSpatialMapSeries(layout, mapFrame, countiesLayer, "新地图系列");// SMC参数SMS.CategoryField = "State";SMS.SortField = "Population";SMS.ExtentOptions = ExtentFitType.BestFit;SMS.MarginType = ArcGIS.Core.CIM.UnitType.PageUnits;SMS.MarginUnits = ArcGIS.Core.Geometry.LinearUnit.Centimeters;SMS.Margin = 1;// 创建地图系列layout.SetMapSeries(SMS);});

2、导出地图系列

要导出地图系列,可以将MapSeriesExportOptions类与ExportFormat结合使用以创建多页导出。对于PDF和TIFF,可以将地图系列导出为单个文件,每个地图页导出一个,也可以导出为包含所有(指定)地图页的单个多页(或多图像)文件。对于所有其他导出格式,单独的页面将作为单独的文件导出。

下面以导出多页PDF为例:

// 将具有多个页面的地图系列从活动布局导出为单个PDF
var layout = LayoutView.Active.Layout;
if (layout == null) return;// 设置输出路径
var pdf = @"C:\Users\Administrator\Desktop\States.pdf";
if (File.Exists(pdf)) { File.Delete(pdf); }// 设置导出的PDF图片格式
var exportFormat = new PDFFormat()
{OutputFileName = pdf,Resolution = 300,DoCompressVectorGraphics = true,DoEmbedFonts = true,HasGeoRefInfo = true,ImageCompression = ImageCompression.Adaptive,ImageQuality = ImageQuality.Better,LayersAndAttributes = LayersAndAttributes.LayersAndAttributes
};// // 设置地图系列的导出方式
var mapSeriesExportOptions = new MapSeriesExportOptions()
{// 导出内容,包括【All, Current, SelectedIndexFeatures】ExportPages = ExportPages.Custom,CustomPages = "1-3",// 导出单个PDF,也可以按名称导出多个PDFExportFileOptions = ExportFileOptions.ExportAsSinglePDF,
};// 检查路径是否有效,导出PDF
if (exportFormat.ValidateOutputFilePath())
{layout.Export(exportFormat, mapSeriesExportOptions);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/55905.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

输入框长度在XSS测试中如何绕过字符长度限制

大家好,这是我编写的第一篇文章,之所以会分享这个故事,是因为我花了几个晚上的时间,终于找到了解决某个问题的方法。故事如下: 几个月前,我被邀请参加一个非公共的漏洞悬赏项目,在初期发现了一些…

Amazon Aurora Serverless v2 正式发布:针对要求苛刻的工作负载的即时扩展

我们非常兴奋地宣布,Amazon Aurora Serverless v2 现已面向 Aurora PostgreSQL 和 MySQL 正式发布。Aurora Serverless 是一种面向 Amazon Aurora 的按需自动扩展配置,可让您的数据库根据应用程序的需求扩展或缩减容量。 亚马逊云科技开发者社区为开发者…

数学建模-爬虫系统学习

尚硅谷Python爬虫教程小白零基础速通(含python基础爬虫案例) 内容包括:Python基础、Urllib、解析(xpath、jsonpath、beautiful)、requests、selenium、Scrapy框架 python基础 进阶(字符串 列表 元组 字典…

UNIX 入门

与 UNIX 建立连接启动会话登录命令提示符修改口令退出系统 简单的 UNIX 命令命令格式ls 命令who 命令虚拟终端 tty伪终端 ptywho am i 命令 cal 命令help 命令man 命令 shell 概述shell 命令更换 shell临时更改 shell永久更改 shell 登录过程 与 UNIX 建立连接 启动会话 要启…

【已解决】Java 中使用 ES 高级客户端库 RestHighLevelClient 清理百万级规模历史数据

🎉工作中遇到这样一个需求场景:由于ES数据库中历史数据过多,占用太多的磁盘空间,需要定期地进行清理,在一定程度上可以释放磁盘空间,减轻磁盘空间压力。 🎈在经过调研之后发现,某服务…

docker版jxTMS使用指南:使用jxTMS采集数据之一

本文讲解了如何jxTMS的数据采集与处理框架并介绍了如何用来采集数据,整个系列的文章请查看:docker版jxTMS使用指南:4.4版升级内容 docker版本的使用,请查看:docker版jxTMS使用指南 4.0版jxTMS的说明,请查…

QT信号和槽

QT信号和槽 为了分析代码方便,我们要给控件改名字。要通俗易懂。 信号:信号就是指控件发出的特定的信号 槽: 槽就是槽函数的意思,我们可以把槽函数绑定在某一个控件的信号上。类似于中断函数 自动关联,信号和槽函数 手动关联

深入理解缓存 TLB 原理

今天分享一篇TLB的好文章,希望大家夯实基本功,让我们一起深入理解计算机系统。 TLB 是 translation lookaside buffer 的简称。首先,我们知道 MMU 的作用是把虚拟地址转换成物理地址。 MMU工作原理 虚拟地址和物理地址的映射关系存储在页表…

企业如何实现自己的AI垂直大模型

文章目录 为什么要训练垂直大模型训练垂直大模型有许多潜在的好处训练垂直大模型也存在一些挑战 企业如何实现自己的AI垂直大模型1.确定需求2.收集数据3.准备数据4.训练模型5.评估模型6.部署模型 如何高效实现垂直大模型 ✍创作者:全栈弄潮儿 🏡 个人主页…

VMWare虚拟机设置固定ip

1、在主机上刷新并重新获取ip 1、输入以下命令以释放原先的 ip 地址 #windows命令 ipconfig /release #linux/macos命令 sudo dhclient -r2、再输入以下命令以重新获取 ip 地址 #windows命令 windows:ipconfig /renew #linux/macos命令 sudo dhclient2、设置虚拟…

在 Linux 上以 All-in-One 模式安装 KubeSphere

官方文档:https://www.kubesphere.io/zh/docs/v3.3/quick-start/all-in-one-on-linux/ 操作系统 最低配置 Ubuntu: 16.04,18.04, 20.04, 22.04 2 核 CPU,4 GB 内存,40 GB 磁盘空间Debian Buste:Stretch 2 核 CPU&am…

SpringBoot+SSM实战<一>:打造高效便捷的企业级Java外卖订购系统

文章目录 项目简介项目架构功能模块管理端用户端 技术选型用户层网关层应用层数据层工具 项目优缺点结语 黑马程序员最新Java项目实战《苍穹外卖》:让你轻松掌握SpringBootSSM的企业级开发技巧项目简介 《苍穹外卖》是一款为餐饮企业(餐厅、饭店&#x…