zoukankan      html  css  js  c++  java
  • ARCGIS 数据格式

    1. 开篇

    刚开始接触 GIS 时,老师说过这样一句话“做我们这一行的,数据就是命,没有数据,什么都干不了”。现在我们需要做一个 webgis 的小项目,体会到了这句阐述的精髓。数据再 GIS 行业的地位举足轻重,而且它的格式多样,为了对数据格式进行详细了解,查阅了相关资料并且做了如下的总结。

    本篇文章主要对以下数据格式进行总结:
    (1)shp
    (2)Coverage
    (3)Raster
    (4)Geodatabase

    2. 数据格式

    2.1 shp 文件

    参考地址:【http://www.cppblog.com/alantop/archive/2008/08/14/58880.html】
    Shapefile 文件是美国环境系研究所所研制的 GIS 文件系统格式文件,是工业标准的矢量数据文件。Shapefile 将空间特征表中的 非拓扑几何对象属性信息 存储在数据集中,特征表中的几何对象存为以坐标点集表示的图形文件 -- SHP 文件。Shapefile 文件并不包含拓扑 (Topological)数据结构。

    一个 Shape 文件包括三个文件:一个主文件(.shp),一个索引文件(.shx),和一个 dBASE(*.dbf)表。主文件是一个直接存取,可变长度记录的文件,每个记录描述一个地理特征(Feature)的所有 vertices 坐标值。在索引文件中,每条记录包含对应主文件记录距离主文件头开始的偏移量。dBASE 表包含 SHP 文件中每一个 Feature 的特征属性,表中几何记录和属性数据之间的对应关系是基于记录数目的ID。在 dBASE 文件中的属性记录和主文件中的记录顺序是相同的。

    Shapefile 中的坐标文件(.shp)由 固定长度的文件头 和接着的 变长度空间数据记录 组成。文件头有 100 字节的说明信息组成,主要说明文件的长度、Shape 类型、整个 Shape 图层的范围等等,这些信息构成了空间数据的 元数据
    在导入空间数据时首先要读入文件头获取 Shape 文件的基本信息,并以此信息为基础建立相应的元数据表。而变长度空间数据记录是由 固定长度的记录头 和 变长度记录 组成。其记录结构基本类似,每条记录都由记录头和记录内容组成。
    记录头的内容包括 记录号 和 坐标记录长度 两个记录项。Shapefile 文件中的记录号都是从 1 开始的,坐标记录长度是按 16 位字节来衡量的。
    记录内容包括目标的几何类型(ShapeType)和具体的坐标记录(X,Y),记录内容因要素几何类型的不同,其具体的内容和格式都有所不同。

    属性文件(.dbf)用于记录属性信息。它是一个标准的 DBF 文件,也是由 头文件 和 实体信息 两部分构成。其中文件头部分的长度是不定长的,它对 DBF 文件做了一些总体说明,其中最主要的是对这个 DBF 文件的记录项的信息进行了详细的描述。
    比如对每个记录项的名称,数据类型,长度等信息都有具体的说明。属性文件的实体信息部分就是一条条属性记录,每条记录由若干个记录项构成,因此只要一次循环每条记录就可以了。

    索引文件(.shx)主要包含坐标文件的索引信息,文件中每个记录包含对应的坐标文件记录记录坐标文件的文件头的偏移量。通过索引文件可以很方便的在坐标文件中定位到指定的目标地理坐标信息。
    其中文件头部分是一个长度固定的(100 bytes)的记录段,其内容与坐标文件的文件头基本一致。它的实体信息以记录为基本单位,每一条记录包括偏移量(Offset)和记录段长度(Content Length)两个记录项目。

    注意:

    1. shp 文件只能存储点、线、面中的一种类型,要么全是点,要不全是线,不然就全是面。
    2. shp 可以设置很多字段属性
    3. shp 可以设置不同的投影信息。有可能两个数据格式没有错,但是因为存在不同的坐标系统而不能叠加。

    2.2 Coverage 格式

    参考:【https://blog.csdn.net/zhongjiekangping/article/details/6112308】

    Coverage 是一种拓扑数据结构,数据结构复杂,属性存储在 Info 表中。目前 ArcGIS 仍然有一些分析操作只能基于这种数据格式进行操作。

    Coverage 是 ArcInfo workstation 的原生数据格式。之所以称之为“基于文件夹的存储”,是因为在 windows 资源管理器下,它的空间信息和属性信息是分别存放在两个文件夹里的。空间信息以二进制文件的形式存储在独立的文件夹中,文件夹的名称即为该 coverage 名称,属性信息和拓扑数据则以 INFO 表的形式存储。

    Coverage 将空间信息和属性信息结合起来,并存储要素间的拓扑关系。然而,通过 ArcCatalog,我们能将存储空间信息的文件夹中的 coverage 二进制文件与存储属性信息的 INFO 文件夹中的 INFO 表联合表达为 coverage ,当使用 ArcCatalog 对 coverage 进行创建、移动、删除或重命名等操作时,ArcCatalog 将自动维护他们的完整性,将 coverage和 INFO文件夹中的内容同步改变。所以对 coverage进行操作,一定要在 ArcCatalog 中进行。

    2.3 Raster 格式

    参考:【http://desktop.arcgis.com/zh-cn/arcmap/10.3/manage-data/raster-and-images/what-is-raster-data.htm】
    最简形式的栅格由按行和列组织的像元矩阵组成,其中的每个像元都包含一个信息值(例如温度)。栅格可以是数字航空像片、卫星影像、数字图片或甚至扫描的地图。

    具体的东西就不再展开,详细信息点击这里

    2.4 Geodatabase 数据库

    参考:【http://www.cnblogs.com/flylong0204/p/3654337.html】
    地理数据库是用于保存数据集集合的“容器”。有以下三种类型:

    1. 文件地理数据库 - 在文件系统中以文件夹的形式存储。每个数据集都以文件形式保存,该文件大小最多可扩展至 1 TB.建议使用文件地理数据库而不是个人地理数据库。
    2. 个人地理数据库 - 所有的数据集都存储在 Microsoft Access 数据文件内,该数据文件的大小为 3 GB。
    3. ArcSDE 地理数据库 - 使用 Oracle、Microsoft SQL Server、IBM DB2、IBM Informix 或 PostgresSQL 存储于关系数据库中。这些多用户地理数据库需要使用 ArcSDE,在大小和用户方面没有限制。
  • 相关阅读:
    iOS YSKit系列
    Xcode $(SRCROOT)和$(PROJECT_DIR)区别
    gcc -ldl 选项作用
    rpm 命令
    ls 命令详解
    Linux下用户组、文件权限详解
    服务不支持chkconfig的解决
    Linux 安装 MongoDB数据库
    CentOS 7 之前好好的,突然一天启动时黑屏,没有登陆界面了(配置 network-scripts 连网)
    vi 命令集
  • 原文地址:https://www.cnblogs.com/firepation/p/8686527.html
Copyright © 2011-2022 走看看