《Web GIS原理与应用开发》读书笔记(3)

第三章 空间数据的存储和处理

以下均掺杂个人理解
书目:Web GIS 原理与应用开发 —— 刘光 曾敬文 曾庆丰 著

3.1 空间数据常用的开放格式

3.1.1 基于文件的数据

3.1.1.1 Shapefile

shapefile是ESRI开发的一种空间数据开放格式。由多个文件组成

文件结构

  • 必须

    • .shp文件:图形格式。用于保存元素的几何实体。
    • .shx文件:图形索引格式。几何体位置索引,记录每一个几何体在shp文件之中的位置,能够加快向前或向后搜索一个几何体的效率。
    • .dbf文件:属性数据格式。以数据表格式存储每个几何形状的属性数据。
  • 可选

    • .prj文件:用于保存地理坐标系统与投影信息。
    • .sbnand.sbx文件:几何体的空间索引。
    • .fbnand.fbx文件:只读的Shapefiles的几何体的空间索引。
    • .ainand.aih文件:列表中活动字段的属性索引。
    • .ixs文件:可读写Shapefile文件的地理编码索引。
    • .mxs文件:可读写Shapefile文件的地理编码索引。
    • .atx文件:.dbf文件的属性索引。
    • .shp.xml文件:以XML格式保存元数据。
    • .cpg文件:用于描述.dbf文件的代码页,指明其使用的字符编码。
3.1.1.2 KML

KML是一种基于XML的格式,用于存储地理数据和相关内容。(目前属于google)

.kml或.kmz(压缩的kml文件)

是单个高度可移植文件,可包含图层的全部内容和要素几何、影像、符号系统、描述、属性等地图元素,以及其他相关内容,并且可以通过许多受欢迎的免费应用程序进行查看。

3.1.1.3 GeoJSON与TopoJSON

JSON是一种轻量级的数据交换格式,比XML更小、更快、更易解析

优点:易于用户阅读和编写,易于机器解析和生成

JSON由键值对构成

GeoJSON在JSON的基础上,对各名称做了规范,可以表示点、线、面等空间几何类型

TopoJSON在GeoJSON的基础上进行一些优化(边界线只记录一次, 不使用浮点数而使用整数)

{
  "type": "FeatureCollection", // 数据集
  "features": [ // 组成数据集的要素列表
        {
            "type":"Feature",
            "properties":{ // 属性集
                "name": "Point"
            }, 
            "geometry":{
                "type":"Point", // 数据类型
                "coordinates":[x,y] // 数据坐标
            }
        }
    ]
}
3.1.1.4 其他文本文件

GPX:是一个XML格式,一种GPS数据格式,可以用来描述路点、轨迹、路程

一个没有顺序关系的点集合叫做路点,一个有顺序的点的集合叫作轨迹或者集合

CSV:以纯文本形式存储表格数据的一个字符序列。

每条记录由字段组成,字段间的分隔符是特定的字符或字符串。

3.1.1.5 栅格格式

包括JPEG、PNG、TIFF、BMP等

KML/KMZ也能包含栅格数据

3.1.2 基于空间数据库的数据

将数据存储在数据库中,更容易运行高级查询、建立关系数据集,并管理编辑的数据。

3.1.2.1 PostGIS

它为关系型数据库PostgreSQL提供了存储空间地理数据的支持。实现了OGC所提供的简单要素的SQL实现参考

PostGIS实现了一个基于轻量级的几何体实现,提供了完善的索引,大大减少了存储量提高了查询性能。

使用pgAdmin插件可以将shapefile导入PostGIS数据库中

3.1.2.2 SpatiaLite

SpatialList是一套具有空间数据功能的SQLite(一种轻量级数据库引擎)数据库系统。

不需要安装关系数据库管理系统即可使用。

速度比MySQL、PostgreSQL都快

SpatialLite提供了一些实用工具(命令行工具、操作数据的图形化界面、用于浏览的数据简单桌面GIS工具)

3.2 Web GIS 中的数据层

3.2.1 服务器的选择

通常可以通过最大限度减少存储数据的服务器与用户之间的中转站数量来提高网站地图的性能。

  • 数据是文件形式或简单的数据库时,可以将数据直接存储在GIS服务器上,不需要使用单独的数据库服务器,可以减少GIS服务器与数据库服务器之间的网络传输。
  • 数据量非常大或用户数量大时,最好分开放置,以便备份数据以及在用户访问量大时放置数据库和服务器对资源的竞争。

在配置时应保证防火墙允许机器之间的端口通信。

3.2.2 文件与数据库方式的选择

  • 当数据集的数据量较小且不经常变换时,更适合文件存储方式,存储较简单且便于在用户与计算机之间迁移和共享。
  • 当需要存储大量的数据或者数据经常为编辑,或需要维护关系表连接数据集时,更适合数据库方式,数据库能提供强大的查询功能以及空间关系。

你可能感兴趣的:(webgis)