地理数据处理之矢量数据

矢量数据处理

        • 1.前言
        • 2.软件安装和环境配置
        • 3.矢量数据处理
          • 3.1 矢量数据格式转换
          • 3.2 矢量数据的WKT表示
          • 3.3 利用Geopandas处理矢量数据
        • 4.后记

1.前言

这篇文章主要写的是矢量数据的批量、快速处理,用的还是Python。相比栅格数据,矢量数据的信息更加精确,格式更加复杂,需要处理的内容更多。

2.软件安装和环境配置

  1. Python:推荐安装anaconda,安装方式上一篇已经写过了。
  2. QIG:一个开源GIS软件,下载地址
  3. Geopandas:在命令行用conda install -c conda-forge geopandas安装,或着pip install geopandas

3.矢量数据处理

3.1 矢量数据格式转换

方法肯定有很多,如果是单个文件的格式转换推荐使用QGIS,利用QGIS打开数据后再保存成你想要的格式,下图是它支持的格式,看滚动条的长度应该还有一半没显示,可以说你能想到的格式它都支持。
地理数据处理之矢量数据_第1张图片
如果要批量转换可以用geopandas

file=gpd.read_file('sjy.gpkg')
file.to_file('sjy.shp')

多个文件就是遍历目录循环执行这两条语句。

3.2 矢量数据的WKT表示

WKT是开放地理空间联盟(OGC)制定的用于表示矢量数据中的几何对象的一种形式,在数据传输与数据库存储时,常用到它的二进制形式,即WKB。关于wkt的更多信息大家自行查阅相关资料,下面介绍用wkt表示点、线面的方法:
点:POINT(6 10)
线:LINESTRING(3 4,10 50,20 25)
面:POLYGON((1 1,5 1,5 5,1 5,1 1))#注意面要首尾闭合。

用到它的二进制形式

3.3 利用Geopandas处理矢量数据

geopandas本质上还是基于gdal写的(可以说开源gis离不开gdal),它是它的强大之处就在于它会把矢量数据读成一个二维表,表格的内容是属性表+geometry,geometry中是以wkt形式存的空间信息。
ps:下面内容可能涉及到pandas相关知识,大家可以参考我以前写的另一篇文章:[pandas 入门:DataFrame的创建,读写,插入和删除(https://blog.csdn.net/xtfge0915/article/details/52938740)
地理数据处理之矢量数据_第2张图片地理数据处理之矢量数据_第3张图片地理数据处理之矢量数据_第4张图片地理数据处理之矢量数据_第5张图片地理数据处理之矢量数据_第6张图片地理数据处理之矢量数据_第7张图片

4.后记

python处理矢量数据的库比较多,geopandas是我个人比较喜欢的一个,因为它将数据读成一个二维表形式,处理方式和思维方式比较接近。,geopandas还提供了拓扑查询等操作,具体内容大家可以访问官网。关于空间数据的处理我就写代这里了,时间和水平都有限,对于文中的内容有任何疑问都可以通过下面的邮箱联系我。

作者:张博
邮箱:[email protected]
博客:https://blog.csdn.net/xtfge0915

你可能感兴趣的:(技术交流之ArcGis,技术交流之python,矢量数据处理,geopandas,python)