GIS遥感应用开发中,会遇到各种各样的数据格式。本期,小编将会为大家详细介绍GIS中常用的各种数据格式。
一、矢量数据
矢量数据(Vector Data)是用X、Y、Z坐标表示地图图形或地理实体位置的数据。矢量数据一般通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误。常见的矢量数据有:点、线、面等格式。
SHP (Shapefile)
Shapefile是目前最常见的一种矢量数据格式。作为行业标准,几乎所有的商业和开源GIS软件都支持Shapefile。
一个Shapefile数据最少包括三个文件:
主文件(*.shp)——存储地理要素的几何图形的文件。
索引文件(*.shx)——存储图形要素与属性信息索引的文件。
dBASE表文件(*.dbf)——存储要素信息属性的dBase表文件。
除此之外还有可选的文件,包括:
空间参考文件(.prj)、几何体的空间索引文件(.sbn 和 .sbx)、只读的Shapefiles的几何体的空间索引文件(.fbn 和*.fbx)等等。
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创建的一种采用标准关系数据库技术来表现地理信息的数据模型。其具有结构和性能上的优势:快速的性能、多样的数据关系、兼容存储栅格数据、优化空间索引以及数据压缩等。
GeoJSON
GeoJSON是一种对各种地理数据结构进行编码的格式;它是基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。
一个完整的GeoJSON数据结构总是一个(JSON术语里的)对象。在GeoJSON里,对象由名/值对——也称作成员的集合组成。对每个成员来说,名字总是字符串。成员的值要么是字符串、数字、对象、数组,要么是下面文本常量中的一个:"true","false"和"null"。数组是由值是上面所说的元素组成。
{
"type":"FeatureCollection",
"features":[
{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[
102,
0.5
]
},
"properties":{
"prop0":"value0"
}
},
{
"type":"Feature",
"geometry":{
"type":"LineString",
"coordinates":[
[
102,
0
],
[
103,
1
],
[
104,
0
],
[
105,
1
]
]
},
"properties":{
"prop0":"value0",
"prop1":0
}
},
{
"type":"Feature",
"geometry":{
"type":"Polygon",
"coordinates":[
[
[
100,
0
],
[
101,
0
],
[
101,
1
],
[
100,
1
],
[
100,
0
]
]
]
},
"properties":{
"prop0":"value0",
"prop1":{
"this":"that"
}
}
}
]
}
二、栅格数据
栅格数据就是将空间分割成有规律的网格,每一个网格称为一个单元(像素),并在各单元上赋予相应的属性值来表示实体的一种数据形式。
Esri Grid
如果要将属性数据添加到栅格文件中,那么Esri网格格式是您的最佳选择。但是,你只能将属性添加到整数网格。属性存储在值属性表(VAT)中 ——网格中每个网格单元对应唯一一个属性记录,count值表示单元格的数量。
Esri网格文件的两种类型是整数和浮点网格。土地覆盖物将是离散网格的一个例子。每个类都有一个唯一的整数单元格值。高程数据是浮点网格的示例。每个单元格表示海拔浮动值。
GeoTIFF(Geographic Tagged Image File Format)
GeoTIFF已经成为GIS和遥感应用的行业图像标准文件。几乎所有的GIS和图像处理软件包都具有GeoTIFF兼容性。GeoTIFF包含的其他文件有: TFW(渲染栅格地理位置所需的文件)、XML(可选,元数据文件)、 AUX(输出辅助文件,存储投影等信息)。
三、切片地图
受服务器处理能力与网络传输带宽等因素的影响,切片格式的地图越来越流行,切片地图是一种多分辨率层次的金字塔模型,从切片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。
Esri Vector Tile Package(.vtpk)
Esri的矢量切片(Vector Tile Package)以vtpk为文件后缀,利用协议缓冲(Protocol Buffers)技术的紧凑的二进制格式来传递信息。当渲染地图时矢量切片使用一系列储存的内部数据进行制图。被组织到矢量切片的图层(比如道路、水、区域),都有包含几何图形和可变属性的独立要素(例如姓名、类型等等)。通俗的说,就是将矢量数据以建立金字塔的方式,像栅格切片那样分割成一个一个描述性文件,然后在前端根据显示需要按需请求不同的矢量瓦片数据进行显示。
OGC GeoPackage
GeoPackage是一种开放的、基于OGC标准的、独立于平台的、便携式的用于传输地理空间信息的压缩格式。GeoPackage统一规范在SQLite数据库中存储以下内容:矢量数据、不同比例尺的影像切片、扩展文件等。
MBTiles
MBTiles 是由MapBox公司主导的一种地图切片存储的数据规范,它使用SQLite数据库,可大大提高海量地图切片的读取速度,比通过切片文件方式的读取要快很多,适用于Android、IPhone等智能手机的离线地图存储。
MapBox Vector Tile(.mvt)
MapBox 矢量切片通过Google Protocol Buffers(一种兼容多语言、多平台、易扩展的数据序列化格式)进行编码,这种格式应用于客户端或服务端高效渲染或查询要素信息。使用.mvt文件为后缀。
小结
由于GIS数据格式种类繁多,仅GDAL库支持的矢量删格数据格式就多达上百种,在此也仅是汇总了一些比较常用或比较新的数据格式方便大家查阅,后续有机会会再进行详细地梳理,同时也欢迎各位读者补充。
标签:文件,GIS,矢量,网格,切片,格式,清单,数据格式 From: https://blog.51cto.com/u_16553100/9513222