【ArcGIS模型构建器】02:shp批量转kml/kmz

news2024/9/20 22:49:22

文章目录

  • 一、加载实验数据
  • 二、设计模型构建器
  • 三、保存模型构建器


一、加载实验数据

打开ArcMap,加载专栏配套实验数据data02.rar中的,位于乡镇根目录文件夹内的15个乡镇矢量数据。

在这里插入图片描述
接下来跟我一步步实现用模型构建器批量转为kml。

二、设计模型构建器

1. 打开模型构建器

点击ArcMap工具栏中的【模型构建器】工具,打开模型构建器窗口,如下图所示。

在这里插入图片描述

2. 添加数据文件夹

首先需要将存放矢量数据的根目录(多个数据可能回位于根目录内不同的文件夹)拖拽添加。

在这里插入图片描述

3. 添加要素类迭代器

由于是批量处理,一定要添加一个迭代器,类型选择要素类。点击【插入】→【迭代器】→【要素类】:

在这里插入图片描述

用连接工具,将文件夹拖到迭代要素类上,弹出窗口中选择【工作空间或要素数据集】。

在这里插入图片描述

双击迭代要素类,打开迭代要素类对话框。如果shp位于多个文件夹内,要勾选【递归】,软件会遍历文件夹内的所有shp数据,我们没必要把所有shp手动放到一个文件夹内。点击确定。

在这里插入图片描述

4. 添加【创建要素图层】工具

由于【图层转kml】工具要求的输入参数为图层(并非要素类),因此要将迭代器遍历得到的要素类转为要素图层,找见该工具。

在这里插入图片描述

将【创建要素图层】工具拖到模型构建器,连接,让迭代的矢量要素类为其输入要素。

在这里插入图片描述

5. 添加【图层转kml】工具

在转换工具箱中找到图层转kml工具,此工具用于将要素或栅格图层转换为 KML 文件,其中包含 Esri 几何和符号系统的转换。该文件采用 ZIP 压缩方式压缩,具有 .kmz 扩展名,并且可以由任何 KML 客户端读取,包括 ArcGIS Earth、ArcGlobe 和 Google Earth。
在这里插入图片描述

将其拖入模型构建器,让转换后的要素图层做为其输入图层,进行kml转换。

在这里插入图片描述
可以通过点击工具栏的【自动布局】是先模型的排版。

在这里插入图片描述

6. 输出文件命名

双击输出名称变量,确定输出路径,将名称改为:%名称%.kmz,点击保存。

在这里插入图片描述

至此,简单完整的模型构建完毕。

7. 运行模型

点击工具栏的【运行】工具运行模型;或者点击菜单【模型】→【运行】:

在这里插入图片描述

转换完成,关闭对话框。

在这里插入图片描述

打开结果输出文件夹:

在这里插入图片描述
8. 结果验证

可以将kml格式的数据加入ArcGIS Earth、Google Earth、globalmapper、大疆智图等软件中进行查看。

(1)ArcGIS Earth

在这里插入图片描述
拓展阅读

【ArcGIS微课1000例】0063:ArcGIS Earth完美代替Google Earth(附安装包下载)

(2)globalmapper

在这里插入图片描述
拓展阅读

《GlobalMapper中文实战精品教程》:最新GlobalMapper中文版入门实战实验教程,图文并茂,实用性强,内容包括:GM基础操作、数据处理及地形图制作、航测内业数据处理、点云处理、地形分析、空间分析、数据库建库入库等。配套完整案例数据,持续同步更新!订阅专栏后,从私信查收中文安装包永久版(中文23.0+24.0)及配套实验数据包。

(3)大疆智图

在这里插入图片描述
拓展阅读

【大疆智图】大疆智图(DJI Terra 3.0.0)安装及使用教程

到此为止,我们实现了通过利用ArcGIS模型构建器对shp批量转kml的简单应用。如果大家对模型构建器及Python有深入研究,不妨继续往下看。

三、保存模型构建器

1.导出为Python脚本

点击【模型】→【导出】→【至Python脚本】:

在这里插入图片描述
生成的代码如下所示:

在这里插入图片描述
Python代码:

# -*- coding: utf-8 -*-
# ---------------------------------------------------------------------------
# shp2kml.py
# Created on: 2023-10-22 20:43:49.00000
#   (generated by ArcGIS/ModelBuilder)
# Description: 
# ---------------------------------------------------------------------------

# Import arcpy module
import arcpy

# Load required toolboxes
arcpy.ImportToolbox("模型函数")


# Local variables:
乡镇 = "C:\\乡镇"
名称 = "金山乡"
八里湾乡_shp = "C:\\乡镇\\金山乡.shp"
八里湾乡_Layer = "金山乡_Layer"
v_名称__kmz = "C:\\乡镇kml\\%名称%.kmz"

# Process: 迭代要素类
arcpy.IterateFeatureClasses_mb(乡镇, "", "", "NOT_RECURSIVE")

# Process: 创建要素图层
arcpy.MakeFeatureLayer_management(八里湾乡_shp, 八里湾乡_Layer, "", "", "FID FID VISIBLE NONE;Shape Shape VISIBLE NONE;geom geom VISIBLE NONE;省 省 VISIBLE NONE;市 市 VISIBLE NONE;县 县 VISIBLE NONE;乡 乡 VISIBLE NONE")

# Process: 图层转 KML
arcpy.LayerToKML_conversion(八里湾乡_Layer, v_名称__kmz, "0", "NO_COMPOSITE", "DEFAULT", "1024", "96", "CLAMPED_TO_GROUND")


可以对Python代码进行简单的修改,运行独立脚本是先批处理。有关Python批处理,大家可参阅相关专栏《ArcGIS遇上Python》。

2.保存为tbx工具箱

如果你对Python不太熟悉,可以将模型构建器保存为tbx工具箱,使用更为简单仿方便。

将输入和输出变量重命名,右键勾选模型参数即可。

在这里插入图片描述
点击另存为,点击新建工具箱。

在这里插入图片描述

输入名称Mytoolbox。

在这里插入图片描述

输入工具名称。

在这里插入图片描述

打开工具箱,右键→添加工具箱。

在这里插入图片描述

选择Mytoolbox。

在这里插入图片描述

展开Mytoolbox,双击shptokml工具。

在这里插入图片描述

可以重新定义输入输出参数,点击确定开始运行。

在这里插入图片描述
学习提示

本文收录于《ArcGIS模型构建器批处理专栏》,订阅专栏,获取专栏内所有文章阅读权限,配套持续同步更新的实验数据及相关资料,方便学习。

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

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

相关文章

如何创建前端绘图和图表?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

外贸找客户软件:BotMaster 2023 Crack

具有多设备支持的全新 WhatsApp™ Business 批量发送器 最新9.0.2.1 稳定且工作。 测试日期:2023 年 10 月 9 日 所有功能工作正常。 图像发送问题固定 数字过滤器和组抓取器已修复。 目前稳定 现在使用 BotMaster 9.0.2.1 从 WhatsApp™ 发送交互式按钮 您现在可以…

设置host

macOS sudo nano /etc/hosts sudo nano /etc/hosts127.0.0.1 yourdomain.com 127.0.0.1 subdomain.yourdomain.com 将 yourdomain.com 替换为您要配置的域名,将 subdomain.yourdomain.com 替换为您要配置的子域名。确保 IP 地址为 127.0.0.1,这将指向…

C++对象模型(19)-- 函数语义学:成员函数

1、普通成员函数的调用 1.1 调用方式的转换 为了提高普通成员函数的调用效率,在C中,对普通成员函数的调用,会转换成对全局函数的调用。 假如有下面所示的成员函数: class Test { public:int m_i;int func(int a) {m_i a;retu…

划片机:半导体芯片是如何封装的?

半导体芯片的封装是指将芯片内部的电路通过引脚、导线、焊盘等连接起来,并保护芯片免受外部环境的影响,同时满足外部电路的连接需求。以下是半导体芯片封装的常见步骤: 1. 减薄:将晶圆研磨减薄,以便于后续的划片操作。…

2023京东双十一活动今晚20点开始?京东双十一时间安排和满减规则

2023京东双十一活动时间节点! 京东双十一红包,同样是每天可以领取,10月23日开始,面额最高11111元。 京东app搜索【红包到手210】即可领取双11红包 (数字要带上) 2023年京东双11整体将围绕六个时期展开: 1、第一波&…

如何处理前端多语言支持?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

最成功的国产手机得到央视认可,自研系统走向国际挑战谷歌

随着美国对中国企业不断采取措施,中国手机企业都在努力自主创新,日前又一家国产手机自研操作系统被网友质疑,不过央视却肯定了这家企业在创新方面的优势,赞扬了它带动中国制造走向国际市场。 央视给予赞誉的这家企业就是小米&…

QSlider 类使用教程

文章目录 1、简介2 、公共类型3、属性4、functions4.1、访问属性相关 function4.2、公共槽4.3、Signal4.4、其他方法 5、设置样式 QT 官方文档参考地址:https://doc.qt.io/qt-5/qslider.html 1、简介 QSlider是垂直或水平滑块条控件,最常见的应用就是视…

摩尔信使MThings的报文管理功能

设备通信过程中,通道报文是关键调试信息。为了高效地辅助调试运维过程,摩尔信使MThings提供报文记录功能,支持丰富且友好的方法进行报文管理,包括:收发颜色标记、异常识别、通道过滤、支持Modbus全系列; 查…

springboot项目多数据源导致事务报错问题

springboot项目多数据源导致事务报错问题 序言报错日志报错原因解决办法序言 序言 之前有一篇讲了如何使用多数据源动态配置,这里遇到的一个问题和大家分享,在使用多数据源时,对数据进行更新和插入避免不了使用事务,使用多数据源…

推荐系统:从经典模型到深度学习,你需要掌握什么?

文章目录 🌟 协同过滤:最经典的推荐模型,我们应该掌握什么?🌟 深度学习革命:深度学习推荐模型发展的整体脉络是怎样的?🌟 TensorFlow入门和环境配置🌟 模型特征、训练样本…

Delphi 编程实现拖动排序并输出到文档

介绍:实现拖动排序功能,并将排序后的内容输出到文档中。我们将使用 Delphi 的组件来创建一个界面,其中包括一个 Memo 控件用于输入内容,一个 ListBox 控件用于显示排序后的内容,并且提供按钮来触发排序和输出操作。 代…

万宾科技智能井盖传感器怎么使用?

时代在进步,科技在更新,人们身边的万事万物都在随着时代的脚步不断的前进。各种各样高科技技术在城市基础设施建设的过程中得到应用,很多智能产品不仅施工方便,而且可以向政府部门提供精准的数据,提高了相关管理人员的…

7.(vue3.x+vite)组件间通信方式之vuex

前端技术社区总目录(订阅之前请先查看该博客) 示例效果: Vuex 简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。每一个 Vuex 应用的核心就是 store(仓库)。“store” 基本上就是一个容器,它包含着你的应用中大部分的状态 ( state )。 (1)Vuex 的状态存储是…

居民小区电动汽车有序充电策略研究

摘 要:针对电动汽车在居民小区无序充电对电网系统产生严重隐患及充电间时过长问题,提出一种采用延迟充电的电动汽车有序充电控制策略,并在分析国内外电动汽车有序充电的研究现状后,设计了居民小区电动汽车有序充电策略的总体框架。…

CAN总线测试——CAN一致性之物理层

CAN一致性物理层测试项 1.最小通讯电压测试2.最大通讯电压测试3.显性位/隐性位输出电压测试4.信号跳变沿测试5. 地偏移6. 终端电阻 1.最小通讯电压测试 2.最大通讯电压测试 3.显性位/隐性位输出电压测试 4.信号跳变沿测试 5. 地偏移 6. 终端电阻

基于51单片机DS18B20温度测量仿真设计(源码+仿真+报告+讲解)

本设计 基于51单片机DS18B20温度测量仿真设计 1 功能说明:2 讲解视频:3 仿真电路:4 程序:5 设计报告:6 资料清单(提供资料清单所有文件): 基于51单片机DS18B20温度测量仿真设计&…

vscode类似GitHub Copilot的插件推荐

由于GitHub Copilot前段时间学生认证的账号掉了很多,某宝激活也是价格翻了几倍,而却,拿来用一天就掉线,可以试试同类免费的插件哦。 例如:TabNine,下载插件后,他会提示你登录,直接登…

ASP.NET Core 中的五种过滤器

ASP.NET Core 中的五种过滤器 前言一、过滤器介绍1.五种过滤器(1)IActionFilter(2)IAuthorizationFilter(3)IExceptionFilter(4)IResourceFilter(5)IResultFi…