【ArcGIS Pro二次开发】(52):布局导出图片(批量)

这篇具有很好参考价值的文章主要介绍了【ArcGIS Pro二次开发】(52):布局导出图片(批量)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在ArcGIS Pro中设定好布局后,可以直接导出为各种类型的图片。

这是很基本的功能,但是如果你的布局很多,一张一张导图就有点费劲。

之前有网友提出希望可以批量导图,要实现起来并不难,于是就做了这个工具。


一、要实现的功能

【ArcGIS Pro二次开发】(52):布局导出图片(批量),ArcGIS Pro SDK,ArcGIS,arcgis,二次开发,c#,arcgis pro sdk,批量导出布局

如上图所示,点击【制图相关】面板下【导出布局(批量)】按钮,弹出工具框如下:

【ArcGIS Pro二次开发】(52):布局导出图片(批量),ArcGIS Pro SDK,ArcGIS,arcgis,二次开发,c#,arcgis pro sdk,批量导出布局

输入参数中:

1、要导出图片的文件夹位置。

2、导出图片类型。这里预置了PNG,JPG和PDF这三种常用的图片类型,如果还有需求可以再添加。

3、导出图片分辨率,默认设置为300,可手动调整。

示例工程中有2个布局,点击执行后生成结果如下:

【ArcGIS Pro二次开发】(52):布局导出图片(批量),ArcGIS Pro SDK,ArcGIS,arcgis,二次开发,c#,arcgis pro sdk,批量导出布局


二、实现流程

工具的核心代码并不多。

首先,获取当前工程的所有布局:

                // 获取当前工程中的所有LayoutProjectItem
                IEnumerable<LayoutProjectItem> layoutProjects = Project.Current.GetItems<LayoutProjectItem>();

                await QueuedTask.Run(() =>
                {
                    foreach (LayoutProjectItem layoutProject in layoutProjects)
                    {
                        // 获取layout 
                        Layout layout = layoutProject.GetLayout();
                        // TODO
                });

然后就可以导出了,不过要先设置好导出的图片格式:

                        // JPG图片属性
                        JPEGFormat JPG = new JPEGFormat()
                        {
                            HasWorldFile = true,
                            Resolution = dpi,               // 分辨率
                            OutputFileName = filePath + @"\" + layout.Name + @".jpg",      // 输出路径
                        };
                        // PNG图片属性
                        PNGFormat PNG = new PNGFormat()
                        {
                            HasWorldFile = true,
                            Resolution = dpi,               // 分辨率
                            OutputFileName = filePath + @"\" + layout.Name + @".png",      // 输出路径
                        };
                        // PDF图片属性

                        PDFFormat PDF = new PDFFormat()
                        {
                            OutputFileName = filePath + @"\" + layout.Name + @".pdf",      // 输出路径
                            Resolution = dpi,               // 分辨率
                            DoCompressVectorGraphics = true,   // 是否压缩矢量图形
                            DoEmbedFonts = true,            // 是否执行嵌入字体         
                            HasGeoRefInfo = true,             // 是否具有地理参考信息
                            ImageCompression = ImageCompression.Adaptive,   // 图形压缩.自适应
                            ImageQuality = ImageQuality.Best,           // 图形质量.最好
                            LayersAndAttributes = LayersAndAttributes.LayersAndAttributes   // 图层  属性
                        };

导出时需要判断一下图片格式:

                        // 导出JPG
                        if (pic_type == "jpg")
                        {
                            layout.Export(JPG);
                        }
                        // 导出PNG
                        if (pic_type == "png")
                        {
                            layout.Export(PNG);
                        }
                        // 导出PDF
                        if (pic_type == "pdf")
                        {
                            layout.Export(PDF);
                        }

以上便实现了工具的主要功能。


三、工具文件分享

我把工具都集合成工具箱,不再单独放单个工具,可以到这里下载完整工具箱,会不断更新:

【ArcGIS Pro二次开发】:CC工具箱https://blog.csdn.net/xcc34452366/article/details/131506345PS:可以直接点击...bin\Debug\net6.0-windows\下的.esriAddinX文件直接安装。文章来源地址https://www.toymoban.com/news/detail-604731.html

到了这里,关于【ArcGIS Pro二次开发】(52):布局导出图片(批量)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【ArcGIS Pro二次开发】(47):要素类追加至空库(批量)

    【ArcGIS Pro二次开发】(47):要素类追加至空库(批量)

    本工具主要是针对国空数据入库而做的。 如果你手头已经整理了一部分要素类数据,但是数据格式,字段值可能并没有完全按照规范设置好,需要将这些数据按规范批量和库,就可以尝试用这个工具。 准备数据:标准空库、你已做好的数据。 做好的数据需要把要素名改成和

    2024年02月16日
    浏览(24)
  • 【ArcGIS Pro二次开发】(55):给多个要素或表批量添加字段

    【ArcGIS Pro二次开发】(55):给多个要素或表批量添加字段

    在工作中可能会遇到这样的场景:有多个GDB要素、表格,或者是SHP文件,需要给这个要素或表添加相同的多个字段。 在这种情况下,手动添加就变得很繁琐,于是就做了这个工具。 需求具体如下图: 左图是待处理数据,有shp文件也有gdb文件。 右图是待添加字段的属性结构描

    2024年02月14日
    浏览(13)
  • 【ArcGIS Pro二次开发】(41):勘测定界txt文件转数据库(批量)

    【ArcGIS Pro二次开发】(41):勘测定界txt文件转数据库(批量)

    在规划工作中有时候会收到一种带坐标点的txt文件: 上网查了一下资料,这是根据《勘测定界界址点坐标交换格式》制作的固定格式文件。 其中包含了坐标系、精度、地块编号、地块名称、坐标点等信息。 这个工具的目的就是将TXT格式坐标批量转换为数据库文件,并读取地

    2024年02月09日
    浏览(9)
  • 【ArcGIS Pro二次开发】(57):地图系列

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

    在ArcGIS Pro中,有一个地图系列,可以在一个布局中导出多个地图。 在SDK中为ArcGIS.Desktop.layout.MapSeries类和映射系列导出选项,可以以支持多页导出。 MapSeries类提供了一个静态CreateSpatialMapSeries方法,该方法使用指定的索引层(作为参数传递)为给定布局生成空间地图系列。 使

    2024年02月14日
    浏览(9)
  • arcgis批量导出图片(JPG、BMP、PNG)

    arcgis批量导出图片(JPG、BMP、PNG)

    ARCGIS自动批量输出图片(JPG、BMP、PNG) 批量输出图片工具: 免费下载链接: https://pan.baidu.com/s/1gVfTLTxQCQ6uiz1mmtNsNA?pwd=8j5n 提取码: 8j5n 批量快速导出图片(JPG、BMP、PNG ) ,每张图都会独立显示本图斑的范围线,不会附带其他图斑范围线哦,整洁美观!!! 哦耶~~从此,再也不用

    2024年02月09日
    浏览(9)
  • 【ArcGIS Pro二次开发】(64):多分式标注

    【ArcGIS Pro二次开发】(64):多分式标注

    在ArcGIS中有时会遇到需要二分式标注的情况,有时甚至是三分式、四分式。 通过输入标注表达式,可以做出如下的效果,但是代码不短,每次都要输一遍也挺麻烦。 网上也有一些分式标注的python工具,但不够直观,于是做了这个一键式的工具。 如上图所示,在待处理的要素

    2024年02月10日
    浏览(12)
  • 【ArcGIS Pro二次开发】(59):Editing(编辑)模块

    ArcGIS Pro SDK中的\\\"Editing\\\"(编辑)模块提供了一系列API和工具,允许开发人员在ArcGIS Pro中实现各种地图数据编辑操作,从简单的要素绘制到复杂的数据集编辑。 下面列举一些常用编辑工具的实现方法。 1、获取所选要素的属性及赋值 2、通过【inspector】获取字段属性 3、裁剪面

    2024年02月13日
    浏览(10)
  • 【ArcGIS Pro二次开发】(80):标注_CIMLabelClass

    CIMLabelClass(Cartographic Information Model Label Class)是ArcGIS Pro SDK中的一个类。 它主要用于定义标签的样式和属性,如字体、大小、颜色、对齐方式等,以及标签的排列和布局规则。 1、获取当前地图的标签引擎 2、修改当前地图的标签引擎 3、将文字符号TextSymbol应用到要素图层

    2024年02月19日
    浏览(14)
  • 【ArcGIS Pro二次开发】(81):文本符号_CIMTextSymbol

    CIMTextSymbol是用于绘制文本图形注释的文本符号。 0、属性 Angel 文本符号的放置角度 BlockProgression 多行文本的堆叠方向 Callout 引线 DrawSoftHyphen 连字符 FlipAngle 文本翻转(镜像)到位的角度 FontEffects 上下标 FontEncoding 获取文字的Encoding FontFamilyName 字体名称 FontStyleName 字形样式,例

    2024年02月20日
    浏览(16)
  • 【ArcGIS Pro二次开发】(36):度分秒转十进制度

    【ArcGIS Pro二次开发】(36):度分秒转十进制度

    经纬度坐标的表达方式比较常用的一般有2种,【度分秒和十进制度】。 在成果展示中,以【度分秒】居多,但如果要将坐标导入ArcGIS中,则一般需要用到【十进制度】,这个转换可以在Excel中进行,也可以在ArcGIS中的字段计算里计算,但都有点小麻烦。 为了更方便的转换,

    2024年02月09日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包