Shapefile文件格式介绍
介绍
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文件格式介绍相关推荐
- 大数据常用文件格式介绍
文章目录 一.SequenceFile 二.Avro 三.parquet 四.Orc 五.同为列式存储, orc和parquet的区别 列式存储的优化点 orc和parquet的一些区别和对比 六.一 ...
- N-Gram文件格式介绍 - ARPA
From: https://cmusphinx.github.io/wiki/arpaformat/ Source: Wiki N-Gram文件格式介绍 - ARPA Statistical lang ...
- Flink大数据实时计算系列-列式存储parquet文件格式介绍、Flink进行rowformat格式文件保存
Flink大数据实时计算系列-列式存储parquet文件格式介绍 Flink进行rowformat格式文件保存 列式存储parquet文件格式介绍
- 常用电子书文件格式介绍
常用电子书文件格式介绍 http://ebook.18shouji.com/ old_西勾月 西勾月 论坛元老 发短消息 加为好友 当前离线 1# 大 中 小 发表于 2007-11-15 17:35 ...
- dxf文件用什么打开(dxf文件格式介绍)
很多机械设计小伙伴日常工作都会接触到dxf文件,那么dxf是什么文件格式呢?以及dxf文件用什么打开?相信这都是很多机械设计小伙伴关心的问题,接下来小编就来跟大家讲解一下. 1.dxf文件格式介绍 D ...
- 程序常用配置文件格式介绍
文章目录 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 ...
- mp3 文件格式介绍
1, MP3简介 MP3是今天一种常见的音乐格式,但恐怕除了工作要求之外,有兴趣对此进行研究的人恐怕不多.所以,当我打算做MP3解码方面的工作时,在找资料时也颇费了一番周折,同时也觉得很有趣.所以想在 ...
- Houdini文件格式介绍指南
Houdini是一款专门用来制作视频特效的Mac软件,根据Houdini版本的不同,软件也会为大家提供不同形式的文件格式,例如Houdini Apprentice场景文件后缀为.hipnc(非商业性) ...
- Hyper-V 2016 系列教程52 常见的虚拟机文件格式介绍
常见的几种虚拟机文件格式如表5-2所示,表里包含了开放虚拟化通用文件格式.XenServer.VMware.Microsoft三大厂商的自已开发的文件格式. 表5-2 ...
- Linux ELF文件格式介绍
文章目录 一.引言 二.介绍 三.ELF目标文件格式 3.1 常见段及对应用途 3.2 目标文件内容解析 3.2.1 代码段.text 3.2.2 只读数据段.rodata 3.2.3 数据段.dat ...
最新文章
- Android --- textColorHint与textColor的用法介绍(包懂)
- STM32 RTC实时时钟
- mysql视图_mysql之视图详解
- 信息学奥赛一本通(C++)在线评测系统——基础(二)基础算法 —— 1313:【例3.5】位数问题
- [实验流体力学][Matlab] pi 定理的应用
- 运行php web文件路径,php的web路径获取
- linux实验2 vi编译器的使用
- Linux常用软件包
- 2021-01-15
- 6个Web前端值得收藏很实用的菜单模板(下)
- Hibernate【映射】续篇
- 科普:指纹识别的工作原理
- 大家小心 日本公司淘宝天猫阿里巴巴行为异常 我购买的业务已经被关闭
- 可行解、最优解、基解、基可行解、基最优解
- flashback六大技术之flashback version query
- JavaFX实现网络对话程序设计(互联网程序设计课程 第2讲)
- void Delay(__IO u32 nCount)最简单的延时函数
- 手绘 | 深入解析风控8大场景中的机器学习应用
- python输出json到文件_Python:JSon输出到文件(Python : JSon Output to a file)
- 剩余电流互感器 漏电安全监测 开口式安装 安科瑞AKH-0.66/L