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

arcpy实现kml批量转出为shp 包括shp合并

参考文章

arcpy实现 kml批量转出为shp_kml批量合并转shp_A873054267的博客-CSDN博客

参考帮助是arcgis里边自带的KMLToLayer_conversion函数

应用场景:

两步路产生的多个轨迹文件KML,批量转换成arcgis 的gdb数据库

最后合并成一个shp

第一步:把kml转换成gdb

import arcpy, os# Set workspace (where all the KMLs are) 放kml文件的文件夹,如果kml文件过多,建议50个kml一个文件夹,多执行几个py就行,否则500个kml可能要一个小时
arcpy.env.workspace="D:/KML"# Set local variables and location for the consolidated file geodatabase 导出的geodata文件夹
outLocation = "D:/KMLOUT"# Create the master FileGeodatabase# Convert all KMZ and KML files found in the current workspace 找出kml文件,速度不快的
for kmz in arcpy.ListFiles('*.kml'):print "CONVERTING: " + os.path.join(arcpy.env.workspace,kmz)arcpy.KMLToLayer_conversion(kmz, outLocation)

第二步:

把数据合并到一个shp

import arcpy,os
# 下面是输出shp的文件夹
out_path = "D:/KML2SHP"
fcz=[]
# 下面是gdb存放的的文件夹
arcpy.env.workspace = "D:/KMLOUT"# Loop through all the FileGeodatabases within the workspace
wks = arcpy.ListWorkspaces('*', 'FileGDB')
# Skip the Master GDB
for fgdb in wks:  # Change the workspace to the current FileGeodatabasearcpy.env.workspace = fgdb    # For every Featureclass inside, copy it to the Master and use the name from the original fGDB  featureClasses = arcpy.ListFeatureClasses('*', '', 'Placemarks')for fc in featureClasses:if fc=='Polylines': # 只要线段,点不要,这个看自己的需求print "COPYING: " + fc + " FROM: " + fgdb    fcCopy = fgdb + os.sep + 'Placemarks' + os.sep + fc    print(fcCopy)fcz.append(fcCopy)arcpy.Merge_management(fcz,os.path.join(out_path,'M123.shp'))#M123是导出shp的文件名,可以自行修改,不能重复print("done")

比上面的参考文件的好的是,将所有layer转出到shp,这步没做,速度会快一点。

后续可能会写个自动分割执行的东西,因为kml文件较多,一个个生成比较慢;或者用异步生成工具

另外生成合并也有点慢,为了速度,用重名工具,先把文件重命名为a001,a002,最后就直接合并数组,可能会快一点,或者python直接去文件名后拼接数组 fcz.append(fcCopy) 只是搞了一堆字符串,并不需要这么复杂,因为生成的是有规律的字符串

相关文章:

arcpy实现kml批量转出为shp 包括shp合并

参考文章 arcpy实现 kml批量转出为shp_kml批量合并转shp_A873054267的博客-CSDN博客 参考帮助是arcgis里边自带的KMLToLayer_conversion函数 应用场景: 两步路产生的多个轨迹文件KML,批量转换成arcgis 的gdb数据库 最后合并成一个shp 第一步&#…...

高等数学:泰勒公式

注:第三条 e x e^x ex的展开式,在 1 1 1和 1 2 x 2 \frac{1}{2}x^2 21​x2之间添上一个 x x x。 1 1 − x ∑ n 0 ∞ x n 1 x x 2 x 3 ο ( x 3 ) , x ∈ ( − 1 , 1 ) . \begin{aligned}\frac{1}{1-x}\sum_{n0}^\infty x^n1xx^2x^3\omicron(x^…...

JZ32 从上往下打印二叉树(Java)

题目地址:从上往下打印二叉树_牛客题霸_牛客网 题目回顾: 不分行从上往下打印出二叉树的每个节点,同层节点从左至右打印。例如输入{8,6,10,#,#,2,1},如以下图中的示例二叉树,则依次打印8,6,10,2,1(空节点不打印&…...

hackNos靶机

靶机训练1 - hackNos: Os-hackNos 靶机平台 Vulnhub 是一个提供各种漏洞环境的靶场平台,供安全爱好者学习使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目…...

取地址及 const取地址操作符重载

取地址及 const取地址操作符重载 #include <iostream> using namespace std;class A { public:A(int year, int month, int day){_year year;_month month;_day day;}//它们是默认成员函数&#xff0c;我们不写编译器会自动生成&#xff0c;自动生成就够用了&#xff…...

【Linux初阶】进程间通信介绍 管道

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;进程间通信介绍&#xff0c;管道概述&#xff0c;匿名管道应用&#xff0c;命名管道应用 &#x1f6a2;&#…...

App 在macOS Catalina下提示已损坏无法打开解决办法:

App 在macOS Catalina下提示已损坏无法打开解决办法&#xff1a; 打开终端&#xff1b; 输入以下命令&#xff0c;回车&#xff1b; sudo xattr -d com.apple.quarantine /Applications/xxxx.app注意&#xff1a;/Applications/xxxx.app 换成你的App路径&#xff08;推荐直接…...

ad+硬件每日学习十个知识点(26)23.8.6 (DCDC的降压电路、升压电路、降压-升压电路,同步整流,选型考虑同步、隔离)

文章目录 1.DCDC的降压原理2.DCDC的升压原理3.DCDC的升压和降压原理4.什么是肖特基二极管造成的死区电压&#xff1f;5.MOS管有死区电压么&#xff1f;6.DCDC的同步整流&#xff08;用MOS管取代整流二极管&#xff0c;避免死区电压的影响&#xff09;7.DCDC选型——同步与非同步…...

Elasticsearch3节点集群配置账号密码安全验证

Elasticsearch3节点集群配置账号密码安全验证 ES配置文件 rootnode1:~# grep -Ev "^#|^$" /etc/elasticsearch/elasticsearch.yml cluster.name: es-pre node.name: node1 node.master: true node.data: true path.data: /data/elk/es/data path.logs: /data/elk/…...

ffmepg滤镜

视频按顺时针方向旋转90度 ffplay -vf transpose1 -i juren-30s.mp4 ffplay -f lavfi -i testsrc -vf transpose1 -f lavfi -i testsrc这个滤镜是ffmpeg给用户的一个测试使用的视频 视频水平翻转(左右翻转) -vf hflip 实现慢速播放&#xff0c;声音速度是原始速度的50% ffpla…...

Linux 基础(六)常用命令 - find locate which whereis gzip gunzip tar

find & locate & which & whereis & gzip & gunzip & tar findlocatewhichwhereisgzipgunzipzip/unziptar find 在指定目录下查找文件或目录 find --help Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...…...

【Ajax】回调地狱解决方法

回调地狱&#xff08;Callback Hell&#xff09;是指在异步编程中&#xff0c;特别是在嵌套的回调函数中&#xff0c;代码变得深度嵌套、难以阅读和维护的现象。这通常发生在处理多个异步操作时&#xff0c;每个操作都依赖于前一个操作的结果。回调地狱使代码变得难以理解、扩展…...

解决Vue根组件设置transition失效的问题

解决Vue根组件设置transition失效的问题 1.代码 <div id"app"><!-- :name"$route.meta.transitionName" --><transition :name"animation" mode"out-in"><router-view /></transition></div>&…...

【剑指 Offer 40】最小的k个数

题目&#xff1a; 输入整数数组 arr &#xff0c;找出其中最小的 k 个数。例如&#xff0c;输入 4、5、1、6、2、7、3、8 这 8 个数字&#xff0c;则最小的 4 个数字是 1、2、3、4。 示例&#xff1a; 输入&#xff1a;arr [3,2,1], k 2 输出&#xff1a;[1,2] 或者 [2,1] …...

vue3+vite在main.ts文件中引入./App.vue报错(./App.vue不是模块)

问题 如下图&#xff1a; 方法一 下载TypeScript Vue Plugin (Volar)插件就不报红了&#xff0c;看它的描述应该就是ts文件可以识别vue文件。 方法二 在src文件夹下添加env.d.ts文件&#xff0c;添加以下代码&#xff1a; declare module *.vue {import type { DefineC…...

【LeetCode】102. 二叉树的层序遍历、107. 二叉树的层序遍历 II

作者&#xff1a;小卢 专栏&#xff1a;《Leetcode》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 102. 二叉树的层序遍历 102. 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节…...

HTML详解连载(2)

HTML详解连载&#xff08;2&#xff09; 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽超链接作用代码示例解释经验分享 音频标签代码示例注意强调 视频标签代码示例注意强调 列表作用&#xff1a;布局内容排列整齐的区域。分类&#xff1a;无序列表&#x…...

qt事件系统源码-----定时器

qt定时器的使用一般有以下几种方式&#xff1a; 1、直接使用QTimer对象&#xff0c;绑定定时器的timeout信号&#xff1b; 2、使用QTimer的静态方法singleshot方法&#xff0c;产生一个一次性的定时事件 3、在QObject子类中&#xff0c;调用startTimer方法&#xff0c;产生定…...

【Android】ViewBinding+DataBinding+MVVM新手快速上手

为什么写这篇博客 网上大部分博客&#xff0c;代码量都比较大&#xff0c;把实际的业务都代入进去了 这篇博客的目的&#xff0c;就是为了讲解基本原理和使用思路&#xff0c;然后给出一个最简单的Demo 这里不讲解具体用法&#xff0c;那样篇幅会太长&#xff0c;直接看Demo…...

生成式人工智能模型:提升营销分析用户体验

使用生成式人工智能来改善分析体验&#xff0c;使业务用户能够询问有关我们数据平台中可用数据的任何信息。 在本文中&#xff0c;我们将解释如何使用新的生成式人工智能模型 ( LLM ) 来改善业务用户在我们的分析平台上的体验。假设我们为零售销售经理提供 Web 应用程序或移动应…...

别再手动转码了!用VSCode的`files.autoGuessEncoding`设置,一劳永逸解决中文乱码

彻底告别乱码&#xff1a;VSCode智能编码配置全攻略 每次打开旧项目文件&#xff0c;总要先和乱码大战三百回合&#xff1f;团队协作时&#xff0c;同事的代码在你电脑上显示成天书&#xff1f;别再浪费时间手动转码了&#xff01;VSCode内置的编码识别系统能帮你一劳永逸解决这…...

Mac/Linux上NPM全局安装又报EACCES?别急着用sudo,试试这个更安全的权限修复方法

Mac/Linux上NPM全局安装报EACCES&#xff1f;这才是符合Unix哲学的权限修复方案 每次在终端输入npm install -g准备安装一个全局工具时&#xff0c;那个刺眼的EACCES: permission denied错误就像一堵墙&#xff0c;把我们的开发效率挡在外面。很多开发者会条件反射地加上sudo暴…...

用CubeIDE搞定LCD12864:手把手教你移植字库并显示自定义汉字

STM32CubeIDE实战&#xff1a;LCD12864自定义字库开发全指南 在嵌入式设备的人机交互界面开发中&#xff0c;LCD12864液晶屏因其高性价比和良好的显示效果被广泛应用。但当我们需要显示特殊符号、罕见汉字或自定义图形时&#xff0c;内置字库往往无法满足需求。本文将带你从零开…...

信号与系统作业题变实战:用LM358在面包板上复现RC低通滤波器的‘逆系统’

从理论到面包板&#xff1a;用LM358实战RC低通滤波器的逆系统设计 在电子工程专业的学习中&#xff0c;"信号与系统"课程里那些抽象的可逆系统概念&#xff0c;常常让初学者感到困惑。当课本上的RC低通滤波器习题变成面包板上跳动的示波器波形时&#xff0c;理论突然…...

从PyTorch到ONNX Runtime:跨平台模型部署实战指南

1. 为什么需要从PyTorch转向ONNX Runtime 当你费尽心思训练好一个PyTorch模型后&#xff0c;准备把它部署到生产环境时&#xff0c;往往会遇到几个头疼的问题。首先是环境依赖&#xff0c;PyTorch本身加上CUDA等组件动辄几个GB&#xff0c;在资源受限的边缘设备上根本装不下。其…...

番茄小说下载器完整教程:5步打造永不消失的个人数字图书馆

番茄小说下载器完整教程&#xff1a;5步打造永不消失的个人数字图书馆 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否曾经为心爱的小说突然下架而心痛&#xff1f;是否因为网络信号…...

nli-MiniLM2-L6-H768在数字人文中的应用:古籍摘录文本时代风格自动判定

nli-MiniLM2-L6-H768在数字人文中的应用&#xff1a;古籍摘录文本时代风格自动判定 1. 引言&#xff1a;古籍文本分类的挑战与机遇 古籍研究是数字人文领域的重要方向&#xff0c;其中文本时代风格的判定一直是学者们面临的难题。传统方法依赖专家人工判断&#xff0c;不仅效…...

【Android】智能工具箱_1_1_8_Lwely

【Android】智能工具箱_1_1_8_去广告_解锁订阅版_Lwely 链接&#xff1a;https://pan.xunlei.com/s/VOqe5UC9mJL1rNZAeFOhIm0jA1?pwdhucf#这款智能工具箱解锁订阅版已去除广告干扰&#xff0c;集成超过百种实用工具于一体&#xff0c;从尺子、水平仪到系统优化功能一应俱全。界…...

从“拒绝访问”到注册成功:深度复盘Win10/Win11下MSCOMM控件安装的全流程避坑指南

从“拒绝访问”到注册成功&#xff1a;Win10/Win11下MSCOMM控件安装全流程避坑指南 当你在Windows 10或11系统上尝试运行某个老旧的工控软件或VB6程序时&#xff0c;突然弹出一个令人沮丧的错误提示&#xff1a;"没有注册类(MSCOMM)"。这个看似简单的错误背后&#x…...

Windows电脑无法识别iPhone?终极解决方案:Apple-Mobile-Drivers-Installer

Windows电脑无法识别iPhone&#xff1f;终极解决方案&#xff1a;Apple-Mobile-Drivers-Installer 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地…...