GIS五花八门的数据格式

技术文章4年前 (2021-05-13)4528

初学者往往会被格式五花八门的 GIS 数据文件,弄得一头雾水,每个软件(ArcGIS、SuperMap、MapGIS等等)也都喜欢自己整一套数据格式,更想让自己开发的数据结构成为标准,这些厂商为了达到商业目的各自为阵,给我们这些学习和使用者带来了很多麻烦,增加了学习成本,数据互操作困难,这个软件编辑的数据,那个软件打不开。

有意思的是这种格式间的壁垒,却让有心之人嗅到了商机,从而很多格式转换工具被开发出来,比如著名的 FME(Feature Manipulate Engine),支持100多种不同 GIS 空间数据格式之间的转换,自然正版价格不便宜。

透过现象看本质,数据模型决定数据结构,数据格式又是根据数据结构设计的。就矢量数据模型来说,需要描述的无非是几何实体(点、线、面)、空间关系、空间索引、空间参考、一般属性等内容,所以无论是什么数据格式的文件,基本都是在和上面这些信息打交道,有的格式可能注重于读写效率、有的可能没有保存拓扑关系、有的可能注重数据压缩。

栅格数据是将空间分割成有规律的网格,每一个网格称为一个单元(像素),并在各单元上赋予相应的属性值来表示实体的一种数据形式,它的数据结构较于矢量数据更加简单了。各种数据格式的差异主要体现在压缩方式、读写效率、元数据等方面。


下面就着重介绍一下几种常见的格式:

1.矢量数据[1]

矢量数据格式,如文章开头的导图所示,种类繁多,这里只介绍几种常见、常用的格式,这几个格式中大部分都和 GIS 第一大厂 ESRI 脱不开关系。

1.1.Shapefile

shapefile 可能是大多学 GIS 接触最多也是接触最早的数据格式之一,它是ESRI 提出的一种矢量数据格式,也是最被广泛使用的矢量数据格式。目前,它已经是地理信息软件界开放标准格式,也是一种重要的交换格式,能够在ESRI与其他公司的产品之间进行数据互操作,如果一个 GIS 软件不支持 shp,肯定会贻笑大方。需要注意的是 shapefile 不能存储拓扑关系

一个 shapefile 文件至少有三个文件:

  • *.shp:主文件用于存储地理要素的几何图形

  • *.shx:索引文件用于存储图形要素和属性信息索引

  • *.dbf:dBase 表文件用于存储要素的一般属性信息

除此之外,还有一些可选文件:

  • *.prj:存储空间参考信息

  • *.sbn/sbx:存储几何实体的空间索引信息

  • *.fbn/fbx:存储只读集合实体的空间索引信息

每个 shapefile 文件只能存储一种几何类型(或点、或线、或面)的数据,在 ArcCatalog 中浏览 shp 数据文件夹可以看到,文件名左侧图标清晰的标识出该 shp 所存几何实体的文件类型。

1.2. File GeoDatabase

Esri 创建的一种采用标准关系数据库技术来表现地理信息的数据模型。其具有结构和性能上的优势:快速的性能、多样的数据关系、兼容存储栅格数据、优化空间索引以及数据压缩等。下图可以看到,在ArcGIS 中创建数据库时有三种选项:

File Geodatabse 不同于 Personal Geodatabase,File GeoDatabase 在存储能力、平台支持、读写速度、压缩率等方面全面强于 Personal Geodatabse, 具体差异不在此赘述。Database Connection 连接的就是ArcSDE GeoDatabase,它通过 ArcSDE 使用大型数据库 Oracle,SqlServer,DB2 等存储空间数据,可以实现并发操作,不过需要单独的用户许可。

1.3. Coverage

Coverage 也是 ESRI 提出的一种地理空间数据格式,现在已经很少使用,但毕竟是大厂出品,这里还是说一下。它没有扩展名,只是一组文件夹。Coverage使用要素类来存储点、弧、多边形或注释。tic是地理控制点,有助于确定覆盖范围。

1.4. E00

后缀为E00的文件是Esri的一种通用交换格式文件。这种文件通过明码的方式表达了几乎所有的矢量格式以及属性信息,广泛应用于与其他软件之间进行数据交换。

1.5. GeoJSON

GeoJSON 是一种基于JSON的开源标准格式,其和 JSON 一样数据结构简单,可读性强,前后端兼容性好,也特别适合在 Web 中使用。GeoJSON 的点数据结构说明如下,详情请点击「阅读原文」了解。

由于 GeoJSON 结构简单、使用灵活,许多轻量的前端地图展现都采用 GeoJSON,比如前端图表组件 EChart 中地图显示就是采用 GeoJSON 作为数据源。

在 web 地图中,常常有这样的需求:点击或搜索某块区域时,让这块区域能够高亮显示,来改善用户体验,这里的高亮效果就可以通过 GeoJSON 来处理,后面会写几篇文章介绍如何制作、使用GeoJSON。

1.6. KML/KMZ

KML是标记语言(Keyhole Markup Language)的缩写,最初由 Google 旗下 Keyhole 公司开发,是一种基于XML 语法与格式的、用于描述和保存地理信息(如点、线、图像、多边形和模型等)的编码规范。KMZ 是一个经过ZIP格式压缩过的 KML 文件,其文件自身可以包含图标,影像和模型等。KMZ/KML 可以被 Google Earth、Google Map 和 ArcGIS Earth 等识别并显示。

你可以通过 ArcGIS ToolBox 中「Layer to KML」工具将 *.lyr 文件转为 kml 格式,然后打开google earth 添加查看:

1.7. AutoCAD(.dxf)

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

8. MapGIS

MapGIS 现在大多使用于国土、市政相关领域,应用范围也挺广,毕竟是国产软件还是要支持一下的。

其数据文件主要包括工程文件文件和工程内各工作区的文件。工作区是MAPGIS提出的一个概念,简单地说,工作区就是一个数据池,存放实体的空间数据、拓扑数据、图形数据和属性数据,每个工作区都对应于一个MAPGIS数据文件。数据文件主要有以下几种:

  • 工作区(.MPJ文件):工程文件,存放工程中所有的工作区文件

  • 点工作区(.WT文件):点(PNT)

  • 线工作区(.WL文件):线(LIN)、结点(NOD)

  • 区工作区(.WP文件):线(LIN)、结点(NOD)、区(REG)

  • 网工作区(.WN文件:线(LIN)、结点(NOD)、网(NET)

  • 表工作区(.WB文件):无空间实体,仅有表格记录

2.栅格数据

2.1. GeoTIFF (.tiff)

GeoTIFF 已经成为 GIS 和卫星遥感应用的行业图像标准文件。几乎所有的GIS和图像处理软件包都具有 GeoTIFF 兼容性。GeoTIFF 包含的其他文件有:

  • TFW:渲染栅格地理位置所需的文件

  • XML:可选,元数据文件

  • AUX:输出辅助文件,存储投影等信息

2.2. Erdas Imagine(.img)

Erdas Imagine是美国 ERDAS 公司开发的遥感图像处理系统(ERDAS IMAGINE)使用的遥感影像格式。这种格式广泛应用于遥感数据处理,因为它提供了一个用于整合来自多源传感器数据的框架。该框架支持地理参考、地理编码元数据、多波段、不同数据类型的数据的存储,同时该格式基于瓦片的方式进行数据的存取,这样加快了数据显示和重采样的速度。

2.3. ENVI (.hdr)

ENVI 使用的是通用栅格数据格式,包含一个简单的二进制文件和一个相关的ASCII(文本)的头文件。这也保证了单个 ENVI 栅格文件没有大小上限。ENVI 栅格文件必须包含这两个文件,其中头文件的后缀名为 .hdr,数据文件的后缀随意,甚至可以不带后缀名。这两个文件是通过文件名来关联,即数据文件和头文件名称一致。

2.4. HDF (Hierarchical Data Format)

HDF 格式是一种不必转换格式就可以在不同平台间传递的数据格式,由美国国家高级计算应用中心(NCSA)研制,已经应用于 MODIS、MISR 等数据中。当前流行的版本是 HDF5。HDF 有6种主要数据类型:栅格图像数据、调色板(图像色谱)、科学数据集、HDF 注释(信息说明数据)、Vdata(数据表)、Vgroup(相关数据组合)。HDF 采用分层式数据管理结构,并可以直接从嵌套的文件中获得各种信息。因此,打开一个HDF文件,在读取图像数据的同时可以方便的查取到其地理定位、轨道参数、图像属性、图像噪声等各种信息参数。

到这里常用的 GIS 常用的数据格式介绍完了,这里给了矢量数据更多的篇幅,因为矢量数据结构更加复杂,在 GIS 中使用场景也更丰富灵活;而栅格数据就数据本身来说结构相对简单许多,但其背后却是一门遥感学科,牵扯到的关于影像的一系列知识,可绝不是作者随便说几句就能掰扯清楚的,咱们来日方长~~~


相关文章

在ArcGIS 10.3标注中竖排文字

在ArcGIS 10.3标注中竖排文字

ArcGIS 10.3中文字默认“从左至右”排列,而实际的标注比如“XX路、XX街”有些文字是竖直排列的。接着就涉及到“标注样式”的问题。如果是整体竖排,点击图层的Properties...(属性),...

平面地图是三维世界的二维投影

平面地图是三维世界的二维投影

平面地图是三维世界的二维投影,不可避免的失真,看看真实世界产生的变形与你看到的地图的差别有多大.地图投影...

shapefile 输出的地理处理注意事项

shapefile 输出的地理处理注意事项

多年以来,Esri 研发了三种用于存储地理信息的主要数据格式:coverage、shapefile 以及地理数据库。其中,Shapefile 为存储地理及属性信息提供了一种简单的格式。正由于...

ARCGIS如何查看自己的地图单位?

ARCGIS如何查看自己的地图单位?

不同坐标系的数据底图单位是不一致的,地图单位的查看是通过查看数据的坐标系中的线性单位。具体可以在内容列表中通过双击数据打开数据的图层属性——源,进行查看。...

如何在ARCGIS软件中调用天地图服务

如何在ARCGIS软件中调用天地图服务

国家地理信息公共服务平台为大家提供多种地图服务,大家可以根据本文步骤调用天地图服务。步骤1:注册网站并申请天地图应用开发许可1.打开国家地理信息公共服务平台(网址:https://www.tiandi...

SuperMap iDesktop 自动化制图

SuperMap iDesktop 自动化制图

传统的地图制图有许多弱点,生产难度大、成本高、周期长、不能反映空间地理事物的动态变化、信息难以共享等。因此,自动化制图技术应运而生。地图制图的自动化可以大大提高制图的效率和规范性。SuperMap i...