Shapefile

Shapefile属性格式(.dbf)

每个图形的属性数据存储在dBase格式的数据表之中。属性数据也可以存储在另一种开放的数据表格式xBase格式之中。在开源Shapefile函数库Shapefile C library中就是这样存储。

Shapefile空间索引格式(.sbn)

这是一个二进制的空间索引文件，仅仅可以应用在ESRI的软件之中。其文件格式没有公开的文档，其他厂商也没有实现这个文件。.sbn并不是必须的，因为.shp文件之中已经包含了所有的解析空间数据所需的信息。

Shapefile与拓扑

Shapefile无法存储拓扑信息。在ESRI的文件格式中，ArcInfo 的Coverage、以及Personal/File/Enterprise地理数据库，能够保存地理要素的拓扑信息。

空间表达

在shapefile文件之中，所有的折线与多边形都是用点来定义，点与点之间采用线性插值，也就是说点与点之间都是用线段相连。在数据采集时，点与点之间的距离决定了该文件所使用的比例。当图形放大超过一定比例的时候，图形就会呈现出锯齿。要使图形看上去更加平滑，那么就必须使用更多的点，这样就会消耗更大的存储空间。在这种情况下，样条函数可以很精确地表达不同形状的曲线而且占据相对更少的空间，但是当前shapefile并不支持样条曲线。

混合几何类型

由于在每一条几何记录中都有该记录的几何类型，所以理论上一个shapefile是可以存储混合的几何类型。但实际上规范中指出在同一shapefile之中所有非空的几何体都必须是同一类型。因此shapefile被限制为仅仅可以混合存储空几何体和另一单一几何体，该几何体的类型必须与文件头中定义的类型一致。例如，一个shapefile文件不可能同时包含折线与多边形数据，所以，在实际的地理事物描述中，井（点类型）、河（折线类型）与湖（多边形类型）必须分开存储在三个不同的文件之中。