GIS笔记之Shapefile与KML相互转换

devtools/2025/2/11 18:14:15/

在GIS应用中,各种不同类型数据的转换与使用是一个重要的环节。在这其中,Shapefile和KML是两种常见的数据形式,两者间的相互转换也是日常工作和学习绕不开的话题。在这里,我们将常用的几种数据转换方法整理如下。

1.Shapefile和KML数据格式简介

在开始数据转换前,有必要简单聊一聊这两种数据格式的来龙去脉。Shapefile文件是ESRI开发的一种空间数据格式,在业界有着极为广泛的应用,常用于描述几何体对象:如点,折线与多边形等。另外,除了几何位置,shp文件也可以存储这些空间对象的属性。

而KML(Keyhole Markup Language,Keyhole 标记语言)最初是由Google 旗下的Keyhole 公司开发和维护的一种基于XML 的标记语言,利用XML 语法格式描述地理空间数据(如点、线、面、多边形和模型等),适合网络环境下的地理信息协作与共享。(摘自百度百科)

2.基于ArcMap的数据转换

ArcMap是常用的GIS软件,有着非常丰富的空间分析工具和功能。

①shapefile转KML

这里,我们可以选择使用“Layer To KML"工具(Conversion Tools-To KML-Layer To KML),将shp图层转换为KML格式。当然,根据具体需要可以对下列参数进行逐一设置。

图片

②KML转shapefile

这里,我们可以选择使用“KML To Layer"工具(Conversion Tools-From KML-KML To Layer),将shp图层转换为KML格式。

图片

3.基于ArcGIS Pro的数据转换

伴随ArcGIS Pro的逐步更新与发展,其使用人群也进一步扩大,同样,ArcGIS Pro也有着很强大的空间分析功能。

①shapefile转KML

同样地,在Pro中我们可以选择使用“Layer To KML"工具,将shp图层转换为KML格式。

图片

②KML转shapefile

我们可以选择使用“KML To Layer"工具,将shp图层转换为KML格式。

图片

4.基于Python的数据转换

在Python中,我们主要使用Geopandas来完成这一系列操作。因此,我们要确保已经完成了geopandas库的安装。

pip install geopandas

①shapefile转KML

python">
import geopandas as gd# 读取Shapefile文件
shp_file = "input_file.shp"  
gdf = gd.read_file(shp_file)# 将GeoDataFrame保存为KML文件
kml_file = "output_file.kml"  
gdf.to_file(kml_file, driver="KML")
print(f"Shapefile已成功转换为KML文件:{kml_file}")

②KML转shapefile

python">
import geopandas as gd# 读取KML文件
kml_file = "input_file.kml"  
gdf = gd.read_file(kml_file)# 将GeoDataFrame保存为Shapefile文件
shp_file = "output_file.shp"  
gdf.to_file(shp_file)
print(f"KML文件已成功转换为Shapefile:{shp_file}")

当然,除此之外,还有其他方便快捷的方式方法,大家可以根据具体需要灵活使用。今天的分享就到这里,后续也会继续更新相关内容,欢迎大家关注!


http://www.ppmy.cn/devtools/157995.html

相关文章

VBA语言的软件工程

VBA语言的软件工程 引言 在当今信息化时代,软件工程已经成为了一门重要的学科,它涉及到软件的设计、开发、测试和维护等多个环节。而在众多编程语言中,Visual Basic for Applications(VBA)凭借其易学易用的特点&…

Java 读取 Word 模板文档并替换内容生成新文档

嘿,朋友们!在实际开发中,经常会遇到需要根据 Word 模板生成特定文档的需求,比如合同、报告等。咱们可以使用 Apache POI 库来读取 Word 模板文档,然后替换其中的指定内容,最后生成新的文档。下面我就详细给…

设计模式学习(四)

行为模式 观察者模式(Observer Pattern) 定义 它定义了对象之间的一对多依赖关系。当一个对象(被观察者)的状态发生变化时,所有依赖它的对象(观察者)都会收到通知并自动更新。 观察者模式的…

网络工程师 (29)CSMA/CD协议

前言 CSMA/CD协议,即载波监听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection)协议,是一种在计算机网络中,特别是在以太网环境下,用于管理多个设备共享同一物理传输介质的重要…

【AI学习】关于 DeepSeek-R1的几个流程图

遇见关于DeepSeek-R1的几个流程图,清晰易懂形象直观,记录于此。 流程图一 来自文章《Understanding Reasoning LLMs》, 文章链接:https://magazine.sebastianraschka.com/p/understanding-reasoning-llms?continueFlagaf07b1a0…

国内知名Deepseek培训师培训讲师唐兴通老师讲授AI人工智能大模型实践应用

课程名称 《Deepseek人工智能大模型实践应用》 课程目标 全面了解Deepseek人工智能大模型的技术原理、功能特点及应用场景。 熟练掌握Deepseek大模型的提示词工程技巧,能够编写高质量的提示词。 掌握Deepseek大模型在办公、营销等领域的应用方法,提升…

2024美团春招硬件开发笔试真题及答案解析

目录 一、选择题 1、在 Linux,有一个名为 file 的文件,内容如下所示: 2、在 Linux 中,关于虚拟内存相关的说法正确的是() 3、AT89S52单片机中,在外部中断响应的期间,中断请求标志位查询占用了()。 4、下列关于8051单片机的结构与功能,说法不正确的是()? 5、…

C++字符串相关内容

字符串 字符串,本质上是一个接一个字符的一组字符。字母、数字、符号等。 const char* 字符串名 字符后面会有一个空终止符,为0。 字符串从指针的内存地址开始,然后继续下去,直到它碰到0,然后意识到字符串终止了。 …