矢量数据 - zLulus/My_Note GitHub Wiki

摘抄自从零开始GIS(Ⅱ)— 五花八门的数据格式GISer必备数据格式清单

矢量数据(Vector Data)是用X、Y、Z坐标表示地图图形或地理实体位置的数据。矢量数据一般通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误。常见的矢量数据有:点、线、面等格式。

SHP (Shapefile)

Shapefile是目前最常见的一种矢量数据格式。作为行业标准,几乎所有的商业和开源GIS软件都支持Shapefile。

一个Shapefile数据最少包括三个文件:

主文件(*.shp)——存储地理要素的几何图形的文件。

索引文件(*.shx)——存储图形要素与属性信息索引的文件。

dBASE表文件(*.dbf)——存储要素信息属性的dBase表文件。

除此之外还有可选的文件,包括:

空间参考文件(.prj)、几何体的空间索引文件(.sbn 和 .sbx)、只读的Shapefiles的几何体的空间索引文件(.fbn 和*.fbx)等等。

v2-55ffa7753830f6cbc6727ac4d94ef6cb_720w

KMZ/KML (Keyhole Markup Language)

KML是标记语言(Keyhole Markup Language)的缩写,最初由Keyhole公司开发,是一种基于XML 语法与格式的、用于描述和保存地理信息(如点、线、图像、多边形和模型等)的编码规范。

KMZ是一个经过ZIP格式压缩过的KML文件,其文件自身可以包含图标,影像和模型等。KMZ/KML可以被 Google Earth、Google Map和ArcGIS Earth等识别并显示。

FileGDB(File Geodatabase)

FileGDB是由Esri创建的一种采用标准关系数据库技术来表现地理信息的数据模型。其具有结构和性能上的优势:快速的性能、多样的数据关系、兼容存储栅格数据、优化空间索引以及数据压缩等。
v2-efbfd1e852b25f69c4241ad2c98d7969_720w

GeoJSON

GeoJSON是一种对各种地理数据结构进行编码的格式;它是基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。

一个完整的GeoJSON数据结构总是一个(JSON术语里的)对象。在GeoJSON里,对象由名/值对——也称作成员的集合组成。对每个成员来说,名字总是字符串。成员的值要么是字符串、数字、对象、数组,要么是下面文本常量中的一个:"true","false"和"null"。数组是由值是上面所说的元素组成。

v2-e3c07db39bd4060a9713adeff7ce08a7_720w

由于 GeoJSON 结构简单、使用灵活,许多轻量的前端地图展现都采用 GeoJSON,比如前端图表组件 EChart 中地图显示就是采用 GeoJSON 作为数据源。
在 web 地图中,常常有这样的需求:点击或搜索某块区域时,让这块区域能够高亮显示,来改善用户体验,这里的高亮效果就可以通过 GeoJSON 来处理

AutoCAD(.DXF)

DXF 是AutoCAD与其它软件之间进行CAD数据交换的开放矢量数据文件格式,可以分为两类:ASCII格式和二进制格式;ASCII具有可读性好的特点,但占用的空间较大;二进制格式则占用的空间小、读取速度快。由于AutoCAD现在是最流行的CAD系统,DXF也被广泛使用,成为事实上的标准。绝大多数CAD系统都能读入或输出DXF文件。

E00 ArcInfo Interchange

后缀为E00的文件是Esri的一种通用交换格式文件。这种文件通过明码的方式表达了

Arc/Info中几乎所有的矢量格式以及属性信息,广泛应用于与其他软件之间进行数据交换。

v2-2fd16e1349f26c3a9aaecb44b2282223_720w