一、关于shp文件
1. 什么是shp文件?
shp文件是一个存储了非拓扑几何体及其属性信息的地理特征的数据集。
非拓扑:
点、线、面等几何体之间并无拓扑关系,每一个记录(几何体)都是各自独立的;
属性信息:
dbf中存储了描述shp中这些几何体的信息,如点名等地理属性等特征。
因为shp文件没有存储几何体之间的拓扑关系,因此shp文件在进行绘制和读写的时候,具有更高的效率。即使在编辑时,因为没有拓扑关系,其编辑效率相对于其他数据结构来说,也具有更高的效率。同时,不用存储拓扑关系,其磁盘占用相对更少。
研究了shp结构之后会发现,shp的三个核心数据文件(后面会深入分析的*.shx、*.shp、*.dbf)各司其职,无论是读写还是绘制,这三兄弟分别提供了各自最合适的功能。
这里简要介绍一下:
- shx:记录每一个几何体在文件中的起始位置——快读和快查;
- shp:存储几何体的顶点信息——核心数据;
- dbf:几何体的描述信息——地理特征。
shp数据三兄弟都是二进制文件,关于shp文件中每个字节的含义,下一章将会进行详细介绍,这里不深入。
2. shp文件的使用场景
shp文件最常用在GIS领域,用来存储矢量数据。
矢量数据:
通俗来讲,矢量数据是用点坐标来描述一个几何体对象,如折线段,用一个具有顺序的点集来描述。因为其坐标是固定的,因此绘制出来其空间相对位置是不变的,其形状不会随着用户缩放而变化。
栅格数据:
数据以栅格图像的形式存储,其最明显的特征是,随着用户缩放,几何体会出现马赛克
。这也是栅格数据和矢量数据最大的不同。
shp文件在地理信息领域,一般用来描述地物实体,基本上一些地图软件中,那些能看到的公路、房屋、湖泊等地理实体,都可以用shp文件来进行记录和描述。
甚至可以这么说,只要是可以用矢量数据进行几何体描述的地方,都可以使用shp文件。但shp文件也有其局限性,那就是对于那种具有复杂拓扑关系的几何体集合,shp文件就无法胜任,需要其他的数据格式来进行描述。
3. 本章结束
以上就是第一章关于shp文件的简单介绍,第二章将会深入讲解shp文件的格式。