shapefile文件格式说明

shapefile是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式,可以用于表达点、线、面、多点、多线、多面等地理要素格式,并不存储拓扑数据。它是Esri公司开发出的用于实现SFS简单要素模型的一种文件格式。

尽管它的名字看起来仅表示一个文件,但实际上,一个shapefile至少包含三个基础文件: .shp、.dbf和.shx 。为了使它们联系彼此,它们的名字必须相同,必须在同一文件夹里出现。

1 .shp文件

用于存储要素空间位置信息,其中每个记录用其顶点列表描述一个形状;

该主文件具有100bytes的固定长度头文件,含有17个字段,共100个字节,其中包含九个4字节(32位有符号整数,int32)整数字段,紧接着是八个8字节(双精度浮点数)有符号浮点数字段:

BytesTypeEndiannessUsage
0–3int32bigFile code (always hex value 0x0000270a)
4–23int32bigUnused; five uint32
24–27int32bigFile length (in 16-bit words, including the header)
28–31int32littleVersion
32–35int32littleShape type (see reference below)
36–67doublelittleMinimum bounding rectangle (MBR) of all shapes contained within the dataset; four doubles in the following order: min X, min Y, max X, max Y
68–83doublelittleRange of Z; two doubles in the following order: min Z, max Z
84–99doublelittleRange of M; two doubles in the following order: min M, max M

然后该文件包含任意数量的可变长度记录。每条记录都有一个8字节的记录头:

BytesTypeEndiannessUsage
0–3int32bigRecord number (1-based)
4–7int32bigRecord length (in 16-bit words)

接下来是存储的实际数据:

BytesTypeEndiannessUsage
0–3int32littleShape type (see reference below)
4–Shape content

长度可变的记录内容取决于形状类型,形状类型必须是文件头中给定的形状类型或Null。以下是可能的形状类型:

ValueShape typeFields
0Null shapeNone
1PointX, Y
3PolylineMBR, Number of parts, Number of points, Parts, Points
5PolygonMBR, Number of parts, Number of points, Parts, Points
8MultiPointMBR, Number of points, Points
11PointZX, Y, Z Optional: M
13PolylineZMandatory: MBR, Number of parts, Number of points, Parts, Points, Z range, Z array Optional: M range, M array
15PolygonZMandatory: MBR, Number of parts, Number of points, Parts, Points, Z range, Z array Optional: M range, M array
18MultiPointZMandatory: MBR, Number of points, Points, Z range, Z array Optional: M range, M array
21PointMX, Y, M
23PolylineMMandatory: MBR, Number of parts, Number of points, Parts, Points Optional: M range, M array
25PolygonMMandatory: MBR, Number of parts, Number of points, Parts, Points Optional: M range, M array
28MultiPointMMandatory: MBR, Number of points, Points Optional Fields: M range, M array
31MultiPatchMandatory: MBR, Number of parts, Number of points, Parts, Part types, Points, Z range, Z array Optional: M range, M array
2 .dbf文件

用于存储要素的非空间属性信息,其中每个地理要素使用一个记录,属性和位置信息通过记录号一对一对应,所以 .dbf 文件和 .shp 文件的记录顺序必须相同

3 .shx文件

存储索引信息,文件中每个记录包含对应的 .shp 文件记录距离 .shp 文件的初始位置的偏移量。
索引文件首先包含与 .shp 文件相同的100字节头,后跟任意数量的8字节定长记录,由以下两个字段组成:

BytesTypeEndiannessUsage
0–3int32bigRecord offset (in 16-bit words)
4–7int32bigRecord length (in 16-bit words)

它记录每一个几何体在 .shp 文件之中的位置ID,从而能够加快向前或向后搜索一个几何体的效率。

*最后值得一提的是在一个shapefile中只能定义一种集合类型。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用提供了一些关于QGIS的资源链接,其中包括了QGIS的源代码下载、官方API查询和官方文档。引用则提供了一段关于QGIS的代码,该代码是基于MainWindow的,并进行了图层操作。引用提到了Shapefile是QGIS支持的一种重要的数据格式,并说明了如何在QGIS中显示Shapefile文件。 关于wd格式文件在QGIS中的使用,根据提供的信息,我没有找到关于wd格式说明或者与QGIS相关的信息。可能需要进一步了解wd格式的具体信息以及是否与QGIS兼容。如果您能提供更多关于wd格式文件的信息,我将能够给出更具体的回答。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [QGis的使用](https://blog.csdn.net/pzs0221/article/details/126412140)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [QGIS二次开发:显示Shapefile,编程环境QGIS3.28+VS2017](https://download.csdn.net/download/KK_2018/88217552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值