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

news2024/10/2 14:26:29

在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,也可以按名称导出多个PDF
    ExportFileOptions = ExportFileOptions.ExportAsSinglePDF,
};

// 检查路径是否有效,导出PDF
if (exportFormat.ValidateOutputFilePath())
{
    layout.Export(exportFormat, mapSeriesExportOptions);
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你是否好奇交流充电桩主板的安装维度?

你是否好奇交流充电桩主板的安装维度?安装环境、要求和方式,将影响充电桩的可靠性和安全性。 交流充电桩主板的安装环境至关重要,设备需要安装在室外,因此应选择防水、防火、耐候、耐腐蚀的材料。同时,安装要求具有良好的接地&am…

Redis入门-1

简介 nosql的一种,不是替代传统的sql,而是对传统的sql进行补充增强。redis用于短时间的高访问,其数据是存储在内存上的。 应用场景: 缓存 任务队列 消息队列 分布式锁 Linux系统上安装Redis 运行redis,进入/usr/local/redis-…

【LeetCode】对称二叉树 平衡二叉树

对称二叉树 即先判断根节点的左右子树相不相同,相同时,再判断左孩子的左子树和右孩子的右子树比较,左孩子的右子树和右孩子的左子树(当两个都相同时才是对称的).....依次递推,过程中并设置一些不满足相同的…

虚拟机重启网络服务失败 Failed to start LSB:Bring up/down networking.

许久没有打开虚拟机了,今天一开打发现无法ping通网络 使用 ip addr 也获取不到ip信息 重启网络服务提示我 使用 systemctl status network.service 命令查看 出现以下报错 百度各种解决方案无效,才发现我为了加快电脑开机速度,把虚拟机的一些…

c++学习(智能指针)[29]

RALL RALL(Resource Acquisition Is Initialization)是一种 C 的编程技术,用于管理资源的获取和释放。它的基本思想是在对象的构造函数中获取资源,在对象的析构函数中释放资源,从而确保资源的正确获取和释放。 RALL 的…

实时数据监测与三维可视化:数字孪生技术引领工业互联网发展

随着工业互联网的快速发展,数字孪生技术作为其中的重要组成部分,正逐渐引起广泛关注。数字孪生是将实体世界的实时数据与数字模型相结合,形成实体与数字世界的虚拟镜像,为工业互联网带来了前所未有的效率和质量提升。 首先&#x…

【多模态】ALBEF-融合前对齐

目录 🍁🍁背景 🌷🌷网络结构 🎅🎅损失函数 🌼🌼动量蒸馏 🌺🌺下游任务结果 📒📒Grad-CAM 特征可视化 🚦&#x1f6a…

快速文件传输常见问题

我们所处的世界充斥着各种信息,能够迅速获得正确的数据往往是企业成功的关键因素。将文件从A点移动到B点需要考虑很多问题,但是当涉及需要在最短时间内送达全球各地收件人的大型关键任务文件时,就不能再使用Dropbox和 Google Drive 等方案了。…

flutter:二维码生成与读取

前言 这csdn真的是服了,图片里有个二维码就直接变成违规图片了。至于效果的话,自己运行一下看看吧。 生成 flutter中生成二维码可以使用 qr_flutter。 官方文档 https://pub-web.flutter-io.cn/packages/qr_flutter 安装 flutter pub add qr_flutt…

Dockerfile构建mysql

使用dockerfile构建mysql详细教学加案例 Dockerfile 文件 # 使用官方5.6版本,latest为默认版本 FROM mysql:5.6 #复制my.cof至容器内 ADD my.cnf /etc/mysql/my.cof #设置环境变量 密码 ENV MYSQL_ROOT_PASSWORD123456my.cof 文件 [mysqld] character-set-server…

【chrome扩展开发】vue-i18n使用问题及解决方案

记录chrome扩展开发时调用vue-i18n的一些问题和解决方法 环境 vue: ^3.3.4vue-i18n: ^9.2.2vite: ^4.4.8 错误1 Uncaught (in promise) EvalError: Refused to evaluate a string as JavaScript because unsafe-eval is not an allowed source of script in the following Con…

07 Ubuntu中使用poetry工具管理python环境——巨详细!!!

由于conda和ros2的环境实在太容易冲突了。我真的不敢再使用conda,着实是有些搞不明白这解释器之间的关系。 conda的卸载和ros2的安装暂不赘述,下面着重来说如何在Ubuntu中使用poetry进行包管理及遇到的问题。 1 安装poetry 由于在有写入权限的限制&am…

uniapp 返回上一页并刷新

如要刷新的是mine页面 在/pages/mine/improveInfo页面修改信息,点击保存后跳转到个人中心(/pages/mine/index)页面并刷新更新数据 点击保存按钮时执行以下代码: wx.switchTab({url: /pages/mine/index }) // 页面重载 let pages …

JConsole-的使用

文章目录 一、简介二、使用2.1 启动 JConsole2.2 连接到 Java 进程2.2.1 本地连接2.2.2 远程连接 2.3 监控 JVM 资源 一、简介 JConsole 是一种 Java 监控和管理控制台工具,可以用于监视 Java 虚拟机(JVM)的性能和资源利用情况。它提供了一种…

汉字姓名转拼音

import osimport pandas as pdfrom xpinyin import Pinyindownpath/Users/Kangyongqing/Downloads/ file1教师姓名转拼音.xlsxdtpd.read_excel(downpathfile1) print(dt.info()) dt[pinyin]dt[教师姓名].apply(lambda x:Pinyin().get_pinyin(x).split(-)[0].capitalize() .join…

antd select multiple模式 Dropdown onClick 失效

背景:当 Ant Design 的下拉菜单(Dropdown)在默认情况下从下方弹出,在某些情况下可能会因为页面空间不足而自动切换到上方弹出。这种位置变动可能导致点击事件无法触发。 复现描述:当输入搜索时,option会筛…

几乎与人类无异,机器人手通过触摸感知物体

原创 | 文 BFT机器人 人类即使在看不清物体的情况下也能够毫不费力的感知抓取物体,受到这一启发,加州大学圣迭戈分校工程师领导的研究小组开发出了一种新方法,使机械手能够不依赖视觉,仅通过触摸就能感知旋转物体。 利用他们的技…

什么是OCR?OCR技术详解

光学字符识别(Optical Character Recognition)简称为“OCR”。ORC是指对包含文本资料的图像文件进行分析识别处理,获取文字及版面信息的技术。 一般包括以下几个过程: 1.图像输入 针对不同格式的图像,有着不同的存储格式和压缩方式。目前&…

HTML,url,unicode编码

目录标题 HTML实体编码urlcode编码unicode编码小结基础例题高级例题 HTML实体编码 实体表示&#xff1a; 以&符号开始&#xff0c;后面跟着一个预定义的实体的名称&#xff0c;或是一个#符号以及字符的十进制数字。 例&#xff1a; <p>hello</p> <!-- 等同…

【Python】PySpark 数据计算 ⑤ ( RDD#sortBy方法 - 排序 RDD 中的元素 )

文章目录 一、RDD#sortBy 方法1、RDD#sortBy 语法简介2、RDD#sortBy 传入的函数参数分析 二、代码示例 - RDD#sortBy 示例1、需求分析2、代码示例3、执行结果 一、RDD#sortBy 方法 1、RDD#sortBy 语法简介 RDD#sortBy 方法 用于 按照 指定的 键 对 RDD 中的元素进行排序 , 该方…