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打开数据后再保存成你想要的格式,下图是它支持的格式,看滚动条的长度应该还有一半没显示,可以说你能想到的格式它都支持。
地理数据处理之矢量数据如果要批量转换可以用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.2 利用Geopandas处理矢量数据

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

相关文章: