介绍

Shapefile文件格式是一种矢量图形格式,它能够保存几何图形的位置和相关属性,但是它没法存储地理数据的拓扑信息,所以shapefile文件经常是和其他文件一起使用,本文主要关注shapefile文件的结构组成,关于shapefile文件的详细描述可以参考百度百科中关于shapefile文件的描述。

文件结构

Shapefile文件由文件头和内容两个部分组成,其中文件头是由固定长度的数据组成,具体如下:

Bytes Field Value Type Byte Order
0-3 File Code 9994 Integer Big Endian
4-23 Unused 0 Integer Big Endian
24-27 File Length File Length Integer Big Endian
28-31 Version 1000 Integer Little Endian
32-35 Shape Type Shape Type Integer Little Endian
36-67 Minimum Bounding Rectangle Xmin, Ymin, Xmax and Ymax double Little Endian
68-83 Bounding Box Zmin, Zmax double Little Endian
84-99 Bounding Box Mmin, Mmax double Little Endian

需要注意的是文件中的的File Length是16位字表示的,所以使用时注意转换,在内容部分,我们也会看到相同的表示

在文件头中有个比较特殊的字段Shape Type, 它用来描述shapefile文件表示的几何图形类型,所有值对应的几何类型如下:

Value Shape Type
0 Null Shape
1 Point
3 Polyline
5 Polygon
8 MultiPoint
11 PointZ
13 PolyLineZ
15 PolygonZ
18 MultiPointZ
21 PointM
23 PolyLineM
25 PolygonM
28 MultiPointM
31 MultiPatch

Shapefile文件头后跟着的就是不定长度的文件内容,Shapefile文件内容由许多record组成,每个record由固定长度的header和可变长度的content两个部分组成,header部分如下:

Bytes Field Value Byte Order
0-3 Record Number Record Number Big Endian
4-7 Record Length Record Length Big Endian

content部分包含具体的描述几何结构的数据内容,如当前record表示点信息的时候,content的结构如下:

Bytes Shape Type Value Type Number Byte Order
0-3 Shape Type 1 Integer 1 Little Endian
4-11 X X Double 1 Little Endian
12-19 Y Y Double 1 Little Endian

其他几何类型的数据结构可以参考ESRI Shapefile Technical Description,下面是ESRI中关于Polygon的结构描述:

Shapefile文件格式介绍相关推荐

  1. 大数据常用文件格式介绍

    文章目录 一.SequenceFile 二.Avro 三.parquet 四.Orc 五.同为列式存储, orc和parquet的区别 列式存储的优化点 orc和parquet的一些区别和对比 六.一 ...

  2. N-Gram文件格式介绍 - ARPA

    From: https://cmusphinx.github.io/wiki/arpaformat/ Source: Wiki N-Gram文件格式介绍 - ARPA Statistical lang ...

  3. Flink大数据实时计算系列-列式存储parquet文件格式介绍、Flink进行rowformat格式文件保存

    Flink大数据实时计算系列-列式存储parquet文件格式介绍 Flink进行rowformat格式文件保存 列式存储parquet文件格式介绍

  4. 常用电子书文件格式介绍

    常用电子书文件格式介绍 http://ebook.18shouji.com/ old_西勾月 西勾月 论坛元老 发短消息 加为好友 当前离线 1# 大 中 小 发表于 2007-11-15 17:35 ...

  5. dxf文件用什么打开(dxf文件格式介绍)

    很多机械设计小伙伴日常工作都会接触到dxf文件,那么dxf是什么文件格式呢?以及dxf文件用什么打开?相信这都是很多机械设计小伙伴关心的问题,接下来小编就来跟大家讲解一下. 1.dxf文件格式介绍 D ...

  6. 程序常用配置文件格式介绍

    文章目录 1.键值对 2.JSON 2.1 JSON 语法 2.2 JSON 实例 2.3 JSON 解析 3.XML 3.1 XML 语法 3.2 XML 实例 3.3 XML 解析 4.YAML ...

  7. mp3 文件格式介绍

    1, MP3简介 MP3是今天一种常见的音乐格式,但恐怕除了工作要求之外,有兴趣对此进行研究的人恐怕不多.所以,当我打算做MP3解码方面的工作时,在找资料时也颇费了一番周折,同时也觉得很有趣.所以想在 ...

  8. Houdini文件格式介绍指南

    Houdini是一款专门用来制作视频特效的Mac软件,根据Houdini版本的不同,软件也会为大家提供不同形式的文件格式,例如Houdini Apprentice场景文件后缀为.hipnc(非商业性) ...

  9. Hyper-V 2016 系列教程52 常见的虚拟机文件格式介绍

    常见的几种虚拟机文件格式如表5-2所示,表里包含了开放虚拟化通用文件格式.XenServer.VMware.Microsoft三大厂商的自已开发的文件格式.   表5-2                ...

  10. Linux ELF文件格式介绍

    文章目录 一.引言 二.介绍 三.ELF目标文件格式 3.1 常见段及对应用途 3.2 目标文件内容解析 3.2.1 代码段.text 3.2.2 只读数据段.rodata 3.2.3 数据段.dat ...

最新文章

  1. Android --- textColorHint与textColor的用法介绍(包懂)
  2. STM32 RTC实时时钟
  3. mysql视图_mysql之视图详解
  4. 信息学奥赛一本通(C++)在线评测系统——基础(二)基础算法 —— 1313:【例3.5】位数问题
  5. [实验流体力学][Matlab] pi 定理的应用
  6. 运行php web文件路径,php的web路径获取
  7. linux实验2 vi编译器的使用
  8. Linux常用软件包
  9. 2021-01-15
  10. 6个Web前端值得收藏很实用的菜单模板(下)
  11. Hibernate【映射】续篇
  12. 科普:指纹识别的工作原理
  13. 大家小心 日本公司淘宝天猫阿里巴巴行为异常 我购买的业务已经被关闭
  14. 可行解、最优解、基解、基可行解、基最优解
  15. flashback六大技术之flashback version query
  16. JavaFX实现网络对话程序设计(互联网程序设计课程 第2讲)
  17. void Delay(__IO u32 nCount)最简单的延时函数
  18. 手绘 | 深入解析风控8大场景中的机器学习应用
  19. python输出json到文件_Python:JSon输出到文件(Python : JSon Output to a file)
  20. 剩余电流互感器 漏电安全监测 开口式安装 安科瑞AKH-0.66/L

热门文章

  1. 载波与载波频率,中心频率的解释
  2. 大数据导论习题_2020高校邦《数据科学与大数据技术导论》课后作业习题答案...
  3. android gui工具,搞机助手简约易用的安卓ADB GUI玩机工具箱
  4. C语言 打印数组为什么要用循环
  5. 5G/NR BWP基本概念
  6. AMI码及HDB3码的编译码程序设计
  7. 使用matlab计算 洛伦兹方程 的李雅普诺夫指数
  8. ATMEGA128——初探
  9. JavaScript 计数器
  10. 线性动力学问题(二)