当前位置: 首页 > wzjs >正文

上海企炬做的网站一级消防工程师考试题型

上海企炬做的网站,一级消防工程师考试题型,产品推广ppt模板,肃宁县做网站本文详细介绍了如何利用ArcGIS软件和Python脚本自动化生成长春市城区街道/乡镇边界的NDVI(归一化植被指数)分布图。首先,需要准备包括长春市行政边界、街道/乡镇边界、背景底图和NDVI数据在内的基础数据。接着,通过ArcGIS的数据驱…

本文详细介绍了如何利用ArcGIS软件和Python脚本自动化生成长春市城区街道/乡镇边界的NDVI(归一化植被指数)分布图。首先,需要准备包括长春市行政边界、街道/乡镇边界、背景底图和NDVI数据在内的基础数据。接着,通过ArcGIS的数据驱动页面功能,手动设置并批量导出地图。然后,使用Python的arcpy库编写脚本,实现自动化批量导出PNG格式的NDVI分布图。文章还强调了结合ArcMap的数据驱动页面工具和arcpy脚本的优势,以提高地图制作的效率和灵活性。最后,提供了完整的Python代码示例,


用于提供对已启用“数据驱动页面”的地图文档内管理各个页面的方法和属性的访问。


首先需要准备原始基础数据,这里以长春市城区为例,自动化输出以街道/乡镇为边界的NDVI程度分布图。所以我们需要有的数据:

01.长春市行政边界;
02.长春市城区街道/乡镇边界;(替换为自己的数据集)
03.背景底图;(遥感图/高程图)
04.程度分布可视化图像;(替换为自己的数据集)

我们先来看一下批量输出的字段。读取长春市城区街道/乡镇边界矢量数据的“乡”字段,每一条数据为一个边界,每一个边界为一张图。

在写代码之前,我们需要先来了解一下批量出图的思路,即如何手动批量出图。

首先将城区矢量边界的符号系统读取唯一值,便于显示。
(双击该图层进入图层属性,选择符号系统)

在标注页面下选择“标注”,并调整合适的尺寸。

我们需要借助数据驱动来对数据进行处理,
首先添加“数据驱动页面”工具。

需要启用数据驱动页面,并选择需要批量出图的矢量图层,如果对出图序号有要求需要提前添加字段设置排序,并设置页码。我这里对出图顺序无要求故未设置。

接下来设置“页面与打印设置”,在工具栏"文件"目录下的“页面与打印设置”。

设置打印机或pdf,选择纸张大小与方向,并在数据驱动界面检查是否与刚刚设置的保持一致。

进入布局视图页面下,微调页面排版,加载图件必要的基础要素信息。
(图名+指北针+图例+比例尺)

接下来我们需要对数据进行裁剪。

我们以DEM为底图,所以dem不参与裁剪,需要排除。需要裁剪NDVI_R5,也作为动态显示的图斑数据。

最后,我们导出底图看一下效果(输出为pdf)

建议新建一个文件夹存储数据,这里我只批量5份底图测试。

手动批量导出测试通过。

接下来我们通过arcpy代码的方式实现上述步骤。

参考文件可以使用帮助文档:

接下来是代码思路及编写内容:

首先指定脚本使用UTF-8编码,确保正确处理非ASCII字符(如中文路径或图层名称)。

# -*- coding: utf-8 -*-

强制将Python2的默认字符串编码设为UTF-8。

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

导入arcpy库:

  • arcpy.mapping:ArcGIS的地图文档操作模块(如加载.mxd文件)。

import arcpy.mapping as map

定义一个函数:

def batch_export_png():pass

定义主函数,

if __name__ == '__main__':batch_export_png()

 设置工程文件路径,

mxdpath = r'E:\arcgispython\cs.mxd'

将“数据驱动页面”系列的每一页导出到单个 PNG 文件中。

mxd = map.MapDocument(mxdpath)for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1):mxd.dataDrivenPages.currentPageID = pageNumprint "Exporting page {0} of {1}".format(str(mxd.dataDrivenPages.currentPageID), str(mxd.dataDrivenPages.pageCount))map.ExportToPNG(mxd, outputpath + str(pageNum) + "_分布图" + ".png")del mxd

完整版代码:

# -*- coding: utf-8 -*-
import arcpy.mapping as map
import sys
import os
reload(sys)
sys.setdefaultencoding('utf-8')mxdpath = r'E:\arcgispython\cs.mxd'
outputpath = r'E:\arcgispython\csct\gismap\cs'def batch_export_png():mxd = map.MapDocument(mxdpath)for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1):mxd.dataDrivenPages.currentPageID = pageNumprint "Exporting page {0} of {1}".format(str(mxd.dataDrivenPages.currentPageID), str(mxd.dataDrivenPages.pageCount))map.ExportToPNG(mxd, outputpath + str(pageNum) + "_分布图" + ".png")# map.ExportToPNG(mxd, os.path.join(outputpath) + str(pageNum) + "_分布图" + ".png")del mxdif __name__ == '__main__':batch_export_png()

 运行后结果:

注意:

可使用 ArcMap 内的数据驱动页面 工具条来创建系列地图,而无需编写任何脚本。反之亦然:可使用 arcpy.mapping 编写系列地图的全部脚本,而无需使用 ArcMap 中的“数据驱动页面”用户界面,但将两种方法相结合的效果更优。ArcMap 的“数据驱动页面”工具条可能没有足够的选项来创建“完美的”系列地图,但启用了“数据驱动页面”的地图文档可利用其固有行为省去多行代码,例如地图文档可自动管理页面范围、比例和动态文本等内容,所以不必写入相应代码。

当文本元素的字符串信息需要使用自定义逻辑进行格式化或需要构建多个字段时,即属上述情形之一。不必为这样一个简单的自定义需求在 arcpy.mapping 中执行所有操作。可通过启用“数据驱动页面”制作地图文档,然后利用 arcpy.mapping 处理自定义的文本元素字符串需求。具体的代码示例如下。

首先必须使用 ArcMap 中的“数据驱动页面”工具条在地图文档 (.mxd) 内启用和制作数据驱动页面,然后才能通过 arcpy.mapping 引用“数据驱动页面”。

DataDrivenPages 类只有一个单独的 exportToPDF 方法,但这并不意味着不能创建其他导出文件


喜欢本篇文章请多多关注,您的鼓励是我最大的动力。欢迎大家互相分享交流。(aaanimals)


http://www.dtcms.com/wzjs/833362.html

相关文章:

  • 什么是网站快照WordPress如何加代码
  • 3g版网站制作wordpress如何设置商城
  • 网站建设方案书 内容管理制度电商货源网站大全
  • 2021网站你懂我意思正能量郑州最新情况
  • 力洋网站建设公司商业网站开发
  • 怎么免费建设自己网站今天东莞封路
  • 徐州市 两学一做网站官方入口
  • 微信自媒体网站建设宁波企业网站搭建图片
  • 什么是营销型企业网站旅游景区规划设计公司
  • 销售网站设计搜索引擎查询
  • 公司网站制作都需要图片网站建设合同详细
  • 网站续费模版什么网站建设最便宜
  • 哪里有免费网站空间申请哪家做的濮阳网站建设
  • 青岛建设集团网站常州城乡建设局网站
  • 实体店面做网站推广要多少钱销售型企业有哪些公司
  • 在游戏网站做中介合法中小企业管理培训班
  • 最佳经验网站网站建设服务器如何选择
  • 开发网站的过程福建住房和城乡建设部网站
  • 建立网站要花多少钱外贸公司取什么名字好
  • 做网站需要多少空间阳信县住房和城乡建设局网站
  • 网站建设兼职招聘织梦怎么建设论坛网站
  • 海南建设银行官方网站宁波市市建设法规颁发网站
  • 济宁鱼台网站建设深圳seo公司
  • 网站备案信息批量查询网站建设问题新闻资讯
  • 做携程网站的技术中国手机最好的网站排名
  • 烟台网站建设联系电话华亭县建设局网站2017
  • 个人备案企业网站经典的jq查询网站
  • 网站备案登记做品牌网站哪个好用
  • 上海html5网站建设wordpress 轻云
  • 常州微信网站建设网站建设与运营的公司