3102 字
16 分钟
GIS领域常用的24种数据格式

地理信息系统(GIS)数据格式在空间数据的管理、分析和可视化中扮演着至关重要的角色。合适的数据格式不仅影响数据的存储效率和处理速度,还直接关系到数据的互操作性和可访问性。高效的数据格式可以显著减少存储空间,加快数据读取和分析速度,从而提高整体工作效率。同时,标准化的数据格式促进了不同GIS平台和软件之间的数据交换,使得跨系统、跨组织的协作成为可能。

GIS数据主要分为两大类型:栅格(Raster)和矢量(Vector),每种类型都有其特定的格式和应用场景。本文介绍24种常用的数据文件格式。

1. Shapefile (.shp, .shx, .dbf)#

Shapefile是由ESRI(Environmental Systems Research Institute)公司开发的一种广泛使用的地理空间矢量数据格式。它用于存储地理要素的位置、形状和属性信息。尽管名为”file”,Shapefile实际上是一组相关文件的集合,通常至少包含三个必需文件:

  • .shp:主文件,存储地理要素的几何形状。
  • .dbf:dBASE表格,存储每个地理要素的属性信息。
  • .shx:索引文件,存储.shp文件中记录的索引,用于加快空间查询速度。

此外,还可能包含其他可选文件,如.prj(投影文件)、.sbn和.sbx(空间索引)等。

Shapefile支持点、线、面三种基本几何类型,能够有效地表示各种地理要素,从简单的地标点到复杂的行政边界。它的优势在于结构简单、读写速度快,并且被大多数GIS软件广泛支持,使其成为地理数据交换的事实标准。

然而,Shapefile也有一些限制,如单个文件大小不能超过2GB,字段名长度限制为10个字符,不支持拓扑关系等。尽管如此,由于其简单性和广泛的兼容性,Shapefile仍然是GIS领域中最常用的矢量数据格式之一。

2. GeoJSON (.geojson)#

GeoJSON是一种用于表示地理空间数据的开放标准格式,基于JSON(JavaScript对象表示法)。它可以描述各种地理要素,如点、线、多边形,以及它们的属性。它轻量且易读,在网络地图应用中颇受欢迎。

以下是GeoJSON的主要特点:

  • 结构简单:使用JSON的键值对结构,易于人类阅读和机器解析。
  • 要素类型:支持Point(点)、LineString(线)、Polygon(多边形)、MultiPoint、MultiLineString、MultiPolygon和GeometryCollection等几何类型。
  • 坐标系统:默认使用WGS84坐标系,但可以指定其他坐标参考系统。
  • 属性信息:每个地理要素可以包含额外的非空间属性数据。
  • 广泛支持:被许多GIS软件、Web地图库和数据库系统支持。

一个完整的GeoJSON示例:

{
“type”: “FeatureCollection”,
“features”: [
{
“type”: “Feature”,
“geometry”: {
“type”: “Point”,
“coordinates”: [1421881.6001608493,87787.9269855246]
},
“properties”: {
“Cafe_name”: “Central Perk”,
“Owner”: “Gunther”
}
},
{
“type”: “Feature”,
“geometry”: {
“type”: “Polygon”,
“coordinates”: [
[
[2377382.6722396947,1196468.8037478637],
[2440022.8169193966,721756.6395827765],
[1864031.5902764509, 590093.8583615604],
[2377382.6722396947,1196468.8037478637]
]
]
},
“properties”: {
“City”: “Pasadena”
}
}
],
“crs”: {
“type”: “name”,
“properties”: {
“name”: “EPSG:3857”
}
}
}

3. KML/KMZ (.kml, .kmz)#

Keyhole标记语言(KML)是一种基于XML的格式,用于在Google Earth等地球浏览器中显示地理数据。KMZ是KML文件的压缩版本,便于分发。

4. GeoTIFF (.tif, .tiff)#

GeoTIFF是一种公共领域元数据标准,允许将地理参考信息嵌入TIFF文件中。它常用于卫星图像和数字高程模型。

GeoTIFF文件包含地理元数据,描述了图像中每个像素在实际空间中所代表的位置。在创建GeoTIFF文件时,空间信息被作为嵌入式标签包含在.tif文件中,这些标签可能包括以下栅格图像元数据:

  • 水平和垂直基准面
  • 空间范围,即数据集覆盖的区域
  • 用于存储数据的坐标参考系统(CRS)
  • 空间分辨率,以每单位长度的独立像素值数量来衡量
  • .tif文件中的图层数量
  • 椭球体和大地水准面 - 地球形状的估算模型
  • 地图投影的数学规则,用于将三维空间的数据转换为二维显示

这些元数据使GeoTIFF成为一种强大的地理空间数据格式,能够精确地表示和定位地球表面的图像数据。

5. CSV (.csv)#

逗号分隔值(CSV)文件是可以存储表格数据的简单文本文件。结合坐标数据,CSV文件可以表示空间数据点,并且易于导入GIS软件。

6. GML (.gml)#

地理标记语言(GML)是一种用于表达地理特征的XML语法。它用于GIS系统间的数据交换,支持复杂的几何形状和拓扑关系。

7. GPX (.gpx)#

GPS交换格式(GPX)是一种设计用于应用程序之间传输GPS数据的XML模式。它常用于GPS设备和应用程序,用于共享航点、轨迹和路线。

8. Esri文件地理数据库 (.gdb)#

文件地理数据库是一个文件夹中的文件集合,可以存储包括要素类、栅格数据集和表格在内的数据集。它支持大型数据集,允许高效的数据存储和管理。

9. SpatiaLite (.sqlite)#

SpatiaLite是SQLite关系数据库的扩展。它增加了空间功能,允许在轻量级、独立的数据库文件中高效存储和查询空间数据。

10. NetCDF (.nc)#

网络通用数据格式(NetCDF)是一套用于面向数组的科学数据的软件库和机器无关的数据格式。它广泛用于气候学、气象学和海洋学,用于存储多维数据。

NetCDF文件(Network Common Data Form)是一种多维数组,其中每一层代表不同变量或一组变量的空间网格分布,而这些网格集可以堆叠成时间切片。

上图中,每个表格代表单个变量的网格化空间覆盖。以这种方式表示了三个变量,它们被一起存储在单个时间步长中。文件的实际结构可能更简单(即可能只包含单个变量和/或单个时间步长),也可能更复杂(有更多的变量,或者每个变量实际上是一组覆盖范围,代表该变量的一系列值;想象一下在一系列深度测量的水温读数)。然后,这些数据块可以作为随时间变化的组合空间覆盖被访问。

从事气候和地球系统研究的人们倾向于以这种方式存储他们的数据。这也是一种方便的方式来跟踪随时间推移从卫星测量获得的数据。它们非常适合管理大量的空间数据。

11. HDF (.hdf)#

分层数据格式(HDF)旨在存储和组织大量数值数据。它常见于科学计算,用于处理复杂数据集,包括卫星图像。

12. LAS/LAZ (.las, .laz)#

LAS是用于存储激光雷达数据的二进制文件格式。LAZ是LAS文件的压缩版本。它们存储从激光扫描仪收集的点云数据,对高分辨率地形测绘至关重要。

13. DXF (.dxf)#

图形交换格式(DXF)是由Autodesk开发的CAD数据文件格式,用于AutoCAD与其他程序之间的数据互操作性。它用于表示2D和3D绘图。

14. DWG (.dwg)#

DWG是用于存储设计数据和元数据的专有二进制文件格式。它是Autodesk的AutoCAD软件的原生格式,在工程和建筑设计中广泛使用。

15. 栅格ASCII网格 (.asc)#

ASCII网格文件是表示栅格数据的简单文本文件。它们常用于表示高程数据,易于阅读并导入各种GIS应用程序。

16. WKT/WKB (.wkt, .wkb)#

Well-Known Text (WKT)和Well-Known Binary (WKB)是表示几何对象的格式。它们用于数据库和GIS软件中的空间数据交换,支持标准几何类型。

17. MapInfo TAB (.tab, .map, .dat, .id)#

MapInfo TAB是MapInfo GIS软件使用的文件格式。它由多个文件组成,用于存储空间和属性数据,支持复杂的制图和分析。

18. CADRG (.toc)#

压缩ARC数字化栅格图形(CADRG)是一种用于压缩栅格地图的军事标准。它用于国防应用中地图数据的高效存储和快速检索。

19. VTK (.vtk)#

可视化工具包(VTK)文件用于3D计算机图形、图像处理和可视化。它们常见于科学计算,用于可视化复杂的数据结构。

20. STL (.stl)#

立体光刻(STL)文件用于3D打印和计算机辅助制造。它们存储3D模型,在GIS应用中的地形建模和可视化中很有用。

21. Geopackage (.gpkg)#

GeoPackage是一种开放、基于标准、平台无关、便携、自描述、紧凑的地理空间信息传输格式。

22. FlatGeobuf#

FlatGeobuf是一种新的地理空间数据格式,允许用户更高效地处理矢量数据。它可以作为GeoJSON的替代品,提供更小的文件大小和更快的加载速度。它是一种二进制(FlatBuffers编码)格式,定义了地理空间几何。与GeoParquet和GeoArrow的列式存储不同,它是面向行的,提供了一组不同的权衡。

23. GeoParquet#

Apache Parquet是一种开源的列式数据存储格式,它以高效的方式存储数据以便于加载,具有良好的压缩性能,可以大幅减少数据大小。它为Python、Java、C++等语言提供了API,并与Apache Arrow良好集成。Parquet是一种非常适合存储复杂的海量数据的数据格式

Parquet的优点:

  • 它具有良好的压缩性能,因此可以减少云存储成本
  • 数据跳过和字段统计功能可以通过加载更小的数据块来提高数据处理性能
  • 设计用于存储任何类型的大数据

https://parquet.apache.org/docs

24. DEM

数字高程模型(DEM)以数字格式展示地理区域的地形的能力为其特征,提供了地球表面的三维视图,帮助用户理解一个区域的地形。DEM用于创建地形图,并作为多种直接测量程序的数据输入。

它们为所表示的区域提供定量高度,广泛应用于地理信息系统(GIS)和制作地形图。DEM的主要数据格式是栅格,即组织成行和列的单元格或像素网格。栅格中的每个单元代表地球表面的一个方块,单元的值对应于该方块的平均高程。单元的大小,或称分辨率,决定了DEM的细节水平:较小的单元大小将产生更详细的地理特征,而较大的单元大小将提供景观的宏观概览。

随着大数据时代的到来,能够有效处理和分析海量空间数据的格式变得尤为重要。因此,选择合适的GIS数据格式不仅是技术问题,更是提高空间数据价值、支持科学决策的关键因素。


本公众号相关内容推荐#

GIS领域常用的24种数据格式
https://blog.scidatalab.net/posts/gis领域常用的24种数据格式/
作者
Echo
发布于
2024-10-15
许可协议
CC BY-NC-SA 4.0