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,在大小和用户方面没有限制。

ARCGIS 数据格式的更多相关文章

  1. ArcGIS数据格式详解

  2. 2013年arcgis培训

    关于开展“GIS空间分析及应用案例解析”培训班的通知   各企事业单位: 随着信息技术的发展,地理信息系统(简称GIS)产业异军突起,在国民经济各个行业中的应用日益广泛,物联网.智慧地球.3S技术等等 ...

  3. ArcGIS几种数据格式

    ArcGIS几种数据格式 ArcInfo常用以下格式的数据:shp.Coverage..Raster CAD和Geodatabase.各种数据的组织形式不一样,其中shp.Coverage.Raste ...

  4. ArcGIS几种数据格式2

    各种数据的组织形式不一样,其中shp.Coverage.Raster.CAD为文件类型,Geodatabase为空间数据库.Workstaion常用Coverage数据格式.现在ESRI公司推荐使用G ...

  5. ArcGIS 10 影像、栅格数据格式批量转换

    转自原文 ArcGIS 10 影像.栅格数据格式批量转换 在做三维场景的时候,经常会涉及多种不同格式DEM数据或者影像的转换,如ASCII.GRID.IMG.TIFF等等,遇到大数据量时,我们就需要批 ...

  6. ArcGIS Javascript地图上添加json数据格式的点

    /** * 显示地图点. * json的格式[{"name":"name1","x":"x1","y" ...

  7. ArcGIS Engine开发之地图基本操作(3)

    地图数据的加载 一.加载Shapefile数据 Shapefile文件是目前主流的一种空间数据的文件存储方式,也是不同GIS软件进行数据格式转换常用的中间格式.加载Shapefile数据的方式有两种: ...

  8. Arcgis, ArcEngine, Arcgis Server使用开发汇总 索引

    ArcGIS系列软件license及安装: Arcgis SDE10.1 和 Arcgis server10.1的授权文件license tnt_esri.dat Arcgis8.1安装license ...

  9. 关于ArcGIS的Web 3D GIS问答

    以下问答基于ArcGIS 10.4版本,涉及的软件有 ArcGIS for Server ArcGIS for Desktop ArcGIS Pro 1.3 Esri Drone2Map 1 支持B/ ...

随机推荐

  1. Java图形界面编程生成exe文件

    1. 先将代码打成jar,然后使用exe4j转成exe ext4j下载 链接:http://pan.baidu.com/s/1kTCIZtX 密码:pvj1 打开EXE4J Advanced Opti ...

  2. [Ext.Net]客户关系管理系统

    本人在企业中非专业人士,交流学习. 1.登录 2.系统主界面 3.用户与角色 3.菜单管理 4.角色与授权 5.登陆日志 6.简易工作流 7.客户分类 8.客户管理 9.报价管理 业务员反馈 报价明细 ...

  3. 《java入门第一季》之类(Scanner类)

    /* * Scanner:用于接收键盘录入数据. * * 前面的时候: * A:导包 * B:创建对象 * C:调用方法 * * System类下有一个静态的字段: * public static f ...

  4. Unity3D学习笔记(四)Unity的网络基础(C#)

    一 网络下载可以使用WWW类下载资源用法:以下载图片为例WWW date = new WWW("<url>");yield return date;texture = ...

  5. AngularJS进阶(五)Angular实现下拉菜单多选

    Angular实现下拉菜单多选 写这篇文章时,引用文章地址如下: http://ngmodules.org/modules/angularjs-dropdown-multiselect http:// ...

  6. DB 查询分析器 6.03 在Windows 8 上安装与运行演示

           DB 查询分析器 6.03 在Windows 8 上安装与运行演示 马根峰                ( 广东联合电子服务股份有限公司, 广州 510300) 摘要          ...

  7. SharePoint 2013 页面访问,Url中间多一段&quot;_layouts/15/start.aspx#&quot;

    问题描述: 我想访问如下页面 http://Host/_layouts/15/ManageFeatures.aspx 点击以后页面地址没有错,但是中间多了一段"_layouts/15/sta ...

  8. Android开发技巧——自定义控件之组合控件

    Android开发技巧--自定义控件之组合控件 我准备在接下来一段时间,写一系列有关Android自定义控件的博客,包括如何进行各种自定义,并分享一下我所知道的其中的技巧,注意点等. 还是那句老话,尽 ...

  9. ROS探索总结(十二)——坐标系统

    在机器人的控制中,坐标系统是非常重要的,在ROS使用tf软件库进行坐标转换. 相关链接:http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一.tf简介 ...

  10. OpenCV实现图像物体轮廓,前景背景,标记,并保存。

    #include <iostream> // for standard I/O #include <string> // for strings #include <io ...