文件格式

已审核 2016-09-05

与任何类型的数据一样,在计算机上存储地理数据有多种方式。它可以保存在数据库中,数据库是专门存储和检索数据的系统,事实上,有专门为存储地理数据而设计的数据库系统。也可以存储在传统的计算机文件中,不过地理数据的文件格式有很多种。

在本节中,我们将介绍几种存储地理数据的方法,解释它们的工作原理以及它们通常是如何使用的。

.OSM文件

.osm 文件格式是OpenStreetMap所特有的。你不会在其他地方遇到它。如果你曾经使用JOSM下载过数据并将其保存为文件,你可能已经注意到文件的扩展名是.osm。如果你是一个GIS用户,你可能也注意到,使用QGIS等软件打开这些文件并不容易。

那么,为什么OSM数据是以一种没有人使用的文件格式存储的呢?答案是,许多地理数据格式在现代互联网时代之前就已经存在了,而且是为了快速访问和查询而设计的,就像查询数据库一样。另一方面,OSM数据的设计是为了在互联网上以标准格式轻松发送和接收。因此,.osm文件是用XML编码的,并以结构化、有序的格式包含地理数据。如果在文本编辑器中查看,一个简单的.osm文件是这样的:

Sample OSM XML file

获取.osm格式的数据很容易 - 事实上,每次下载JOSM中的数据时都会这样做,但使用这些文件进行分析和地图设计并不容易。因此,你最好将数据转换为另一种格式,或者从为你转换数据的服务中获取数据。

原始OSM数据通常存储在.osm文件中,但你也可能看到以.bz2.pbf结尾的文件。这些文件基本上都是.osm文件,只是被压缩以节省空间,这在处理大型数据文件时非常有用。

Shapefiles

shapefile是一种广泛使用的矢量地理数据存储格式。它是由ESRI公司开发的,该公司制造了ArcGIS,这是一套流行的地理信息系统应用程序。

Shapefile实际上是几个不同文件的集合。例如,一个包含建筑数据的shapefile可能有以下扩展名的文件。

  • buildings.shp
  • buildings.shx
  • buildings.dbf

shapefiles通常也会有包含其他信息的附加文件。

一个shapefile只能容纳一种类型的特征(点、线或多边形),每个特征的属性都包含在一个表中。与OpenStreetMap系统不同的是,在OpenStreetMap系统中,每个对象都可以拥有无限数量的标签,shapefile中的特征属性必须适合shapefile定义的表格结构,它看起来可能像这样。

Shapefile attributes

OpenStreetMap数据可以转换为shapefiles。各种网站提供了从OSM数据转换而来的shapefiles。这些在 下一章中讨论。

数据库

许多类型的信息都储存在数据库系统中,数据库系统提供了组织和获取数据的逻辑方法。地理数据也是如此,尽管为地理数据设计的数据库是专门用来处理查询地理数据所需的复杂功能的。

OpenStreetMap数据通常存储在带有PostGIS扩展的PostgreSQL数据库中。这种类型的数据库提供了对数据的快速访问,并且可以很容易地与Mapnik一起使用,Mapnik是一个创建网络滑行地图中使用的地图磁贴的软件。有几种工具可用于将原始OSM数据导入PostgreSQL数据库中。

另一种数据库被称为SQLite,它提供了与PostgreSQL数据库类似的功能,但都存储在一个文件中,不需要数据库软件运行。这些数据库自己创建起来比较困难,但对于小数据集来说,可以比较容易地进行处理。

小结

在接下来的章节中,我们将介绍如何从互联网下载各种格式的数据,以及如何使用各种工具自行处理原始数据。