shape数据类型.doc

上传人:11****ws 文档编号:3263421 上传时间:2019-05-27 格式:DOC 页数:62 大小:547.50KB
下载 相关 举报
shape数据类型.doc_第1页
第1页 / 共62页
shape数据类型.doc_第2页
第2页 / 共62页
shape数据类型.doc_第3页
第3页 / 共62页
shape数据类型.doc_第4页
第4页 / 共62页
shape数据类型.doc_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、1ArcGIS 中,可以将要素的属性值存储为七种数据类型之一,即短整型(short integer)、长整型(long integer)、浮点型(float)、双精度(double)、文本型(text)、日期型(date)和大型二进制对象(BLOB)。属性表同样包含预定义字段,保存了数据的几何特性(Shape)和要素 ID(FID)。 浮点和双精度数据是真实的数值,通常用于测量或计算的连续数据。短整型和长整型数据所反映的数值,通常用于记数或为分类指定一个编码值(coded value)。文本数据也能够存储编码值或者描述要素特征的文本,比如名称。要素时间方面的数据存储为日期型,如阀门的最后检测时

2、间。BLOB 能够集成其它的媒体,如视频、影像或声音。数据类型 描述浮点型(Float) 1 个符号位、7 个指数位和 24 个小数位双精度(Double) 1 个符号位、7 个指数位和 56 个小数位短整型(Short Integer) 1 个符号位、15 个二进制位,大约在-3200032000长整型(Long Integer) 1 个符号位、31 个二进制位,大约在-20000000002000000000文本型(Text) 数字字符存储为字节日期型(Date) 日期值基于标准时间格式存储BLOB 复杂对象,如影像和视频Shape files 数据说明Shape files 是 ESRI

3、 提供的一种矢量数据格式,它没有拓扑信息,一个 Shape files 由一组文件组成,其中必要的基本文件包括坐标文件( .shp )、索引文件( .shx )和属性文件( .dbf )三个文件。坐标文件的结构说明坐标文件 (.shp) 用于记录空间坐标信息。它由头文件和实体信息两部分构成Shapefile 文件支持的几何类型( ShapeType )Shapefile 文件所支持的几何类型如表 2.3 所示:编号 几何类型0 Null Shape (表示这个 Shapefile 文件不含坐标)1 Point (表示 Shapefile 文件记录的是点状目标,但不是多点)3 PolyLine

4、(表示 Shapefile 文件记录的是线状目标)5 Polygon (表示 Shapefile 文件记录的是面状目标)8 MultiPoint (表示 Shapefile 文件记录的是多点,即点集合)11 PointZ (表示 Shapefile 文件记录的是三维点状目标)13 PolyLineZ (表示 Shapefile 文件记录的是三维线状目标)15 PolygonZ (表示 Shapefile 文件记录的是三维面状目标)18 MultiPointZ (表示 Shapefile 文件记录的是三维点集合目标)221 PointM (表示含有 Measure 值的点状目标)23 PolyL

5、ineM (表示含有 Measure 值的线状目标)25 PolygonM (表示含有 Measure 值的面状目标)28 MultiPointM (表示含有 Measure 值的多点目标)31 MultiPatch (表示复合目标)实体信息的内容实体信息负责记录坐标信息,它以记录段为基本单位,每一个记录段记录一个地理实体目标的坐标信息,每个记录段分为记录头和记录内容两部分。记录头的内容包括记录号( Record Number )和坐标记录长度 (Content Length) 两个记录项。它们的位序都是 big 。记录号( Record Number )和坐标记录长度 (Content Le

6、ngth) 两个记录项都是 int 型,并且 shapefile 文件中的记录号都是从 1 开始的。记录内容包括目标的几何类型( ShapeType )和具体的坐标记录 (X 、 Y) ,记录内容因要素几何类型的不同其具体的内容及格式都有所不同。下面分别介绍点状目标( Point )、线状目标( PolyLine )和面状目标( Polygon )三种几何类型的 .shp 文件的记录内容:点状目标 shapefile 中的点状目标由一对 X 、 Y 坐标构成,坐标值为双精度型( double )。点状目标的记录内容如表 2.4 :记录项 数值 数据类型 长度 个数 位序几何类型( ShapeT

7、ype) 1 (表示点状目标) int 型 4 1 LittleX 方向坐标 X 方向坐标值 double 型 8 1 LittleY 方向坐标 Y 方向坐标值 double 型 8 1 Little线状目标 shapefile 中的线状目标是由一系列点坐标串构成,一个线目标可能包括多个子线段,子线段之间可以是相离的,同时子线段之间也可以相交。 Shapefile 允许出现多个坐标完全相同的连续点,当读取文件时一定要注意这种情况,但是不允许出现某个退化的、长度为 0 的子线段出现。线状目标的记录内容如表 2.5 :记录项 数值 数据类型 长度 个数 位序几何类型(ShapeType )3 (表

8、示线状目标) int 型 4 1 Little坐标范围( Box )表示当前线目标的坐标范围double 型 32 4 Little子线段个数(NumParts )表示构成当前线目标的子线段的个数int 型 4 1 Little坐标点数(NumPoints )表示构成当前线目标所包含的坐标点个数int 型 4 1 LittleParts 数组 记录了每个子线段的坐标在 Points 数组中的起始位置int 型 4NumParts NumParts LittlePoints 数组 记录了所有的坐标信息 Point 型 根据点个数来确定NumPoints Little面状目标shapefile 中

9、的面状目标是由多个子环构成,每个子环是由至少四个顶点构成的封闭的、无自相交现象的环。对于含有岛的多边形,构成它的环有内外环之分,每个环的顶点的排列顺序或者方向说明了这个环到底是内环还是外环。一个内环的顶点是按照逆时针顺序排列的;而对于外环,它的顶点排列顺序是顺时针方向。如果一个多边形只由一个环构成,那么它的顶点排列顺序肯定是顺时针方向。3每条多边形记录的数据结构与线目标的数据结构完全相同,PolygonDouble4 Box / 当前面状目标的坐标范围Integer NumParts / 当前面目标所包含的子环的个数Integer NumPoints / 构成当前面状目标的所有顶点的个数Int

10、egerNumParts Parts / 每个子环的第一个坐标点在 Points 的位置PointNumPoints Points / 记录所有坐标点的数组对于一个 shapefile 中的多边形,它必须满足下面三个条件:构成多边形的每个子环都必须是闭合的,即每个子环的第一个顶点跟最后一个顶点是同一个点;每个子环在 Points 数组中的排列顺序并不重要,但每个子环的顶点必须按照一定的顺序连续排列;存储在 shapefile 中的多边形必须是干净的。所谓一个干净的多边形,它必须满足两点:没有自相交现象。这就要求任何一个子环不能跟其它的子环相交,共线的现 象也将被当作相交。但是允许两个子环的顶点

11、重合;对于一个不含岛的多边形或者是含岛的多边形的外环,它们的顶点排列顺序必须是顺时针方向;而对于内环,它的排列顺序必须是逆时针方向。所谓的 “ 脏多边形 ” 就是指顶点排列顺序为顺时针的内环。图 2.2 中的多边形是一个典型的例子。这个多边形包括一个岛,所有顶点的个数为8 。 NumParts 等于 2 , NumPoints 等于 10 。请注意内环(岛)的顶点的排列顺序是逆时针的(如图 2.3 所示) 表 2.6 :面状目标的记录内容记录项 数值 数据类型 长度 个数 位序几何类型(ShapeType )5 (表示面状目标) int 型 4 1 Little坐标范围( Box )表示当前面

12、目标的坐标范围double 型 32 4 Little子线段个数(NumParts )表示构成当前面状目标的子环的个数int 型 4 1 Little坐标点数(NumPoints )表示构成当前面状目标所包含的坐标点个数int 型 4 1 LittleParts 数组 记录了每个子环的坐标在 Points 数组中的起始位置int 型 4NumParts NumParts LittlePoints 数组 记录了所有的坐标信息Point 型 根据点个数来确定NumPointsLittle属性文件的结构说明属性文件 (.dbf) 用于记录属性信息。它是一个标准的 DBF 文件,也是由头文件和实体信息

13、两部分构成。文件头记录 1 记录 2 4记录 3 记录 4 记录 n属性文件的文件头其中文件头部分的长度是不定长的,它主要对 DBF 文件作了一些总体说明(见表 2.7 ),其中最主要的是对这个 DBF 文件的记录项的信息进行了详细地描述,比如对每个记录项的名称、数据类型、长度等信息都有具体的说明。在文件中的位置内容 说明0 1 个字节 表示当前的版本信息1 3 3 个字节 表示最近的更新日期,按照 YYMMDD 格式。4 7 1 个 32 位数 文件中的记录条数。8 9 1 个 16 位数 文件头中的字节数。10 11 1 个 16 位数 一条记录中的字节长度。12 13 2 个字节 保留字

14、节,用于以后添加新的说明性信息时使用,这里用 0 来填写。14 1 个字节 表示未完成的操作。15 1 个字节 dBASE IV 编密码标记。16 27 12 个字节 保留字节,用于多用户处理时使用。28 1 个字节 DBF 文件的 MDX 标识。在创建一个 DBF 表时,如果使用了MDX 格式的索引文件,那么 DBF 表的表头中的这个字节就自动被设置了一个标志,当你下次试图重新打开这个 DBF 表的时候,数据引擎会自动识别这个标志,如果此标志为真,则数据引擎将试图打开相应的 MDX 文件。29 1 个字节 Language driver ID.30 31 2 个字节 保留字节,用于以后添加新

15、的说明性信息时使用,这里用 0 来填写。32 X ( n*32 )个字节记录项信息描述数组。 n 表示记录项的个数。这个数组的结构在表 2.8 中有详细的解释。X 1 1 个字节 作为记录项终止标识。表 2.7 属性文件( .dbf )的文件头位置 内容 说明0 10 11 个字节 记录项名称,是 ASCII 码值。11 1 个字节 记录项的数据类型,是 ASCII 码值。( B 、 C 、 D 、 G 、 L 、 M 和 N ,具体的解释见表 2.9 )。12 15 4 个字节 保留字节,用于以后添加新的说明性信息时使用,这里用 0 来填写。16 1 个字节 记录项长度,二进制型。17 1

16、个字节 记录项的精度,二进制型。18 19 2 个字节 保留字节,用于以后添加新的说明性信息时使用,这里用 0 来填写。520 1 个字节 工作区 ID 。21 30 10 个字节 保留字节,用于以后添加新的说明性信息时使用,这里用 0 来填写。31 1 个字节 MDX 标识。如果存在一个 MDX 格式的索引文件,那么这个记录项为真,否则为空。表 2.8 记录项信息描述代码 数据类型 允许输入的数据B 二进制型 各种字符。C 字符型 各种字符。D 日期型 用于区分年、月、日的数字和一个字符,内部存储按照YYYYMMDD 格式。G (Generalor OLE)各种字符。N 数值型(Numeri

17、c)- . 0 1 2 3 4 5 6 7 8 9L 逻辑型( Logical)? Y y N n T t F f (? 表示没有初始化 ) 。M (Memo) 各种字符。属性文件的实体信息实体信息部分就是一条条属性记录,每条记录都是由若干个记录项构成,因此只要依次循环读取每条记录就可以了。一个读取 dbf 文件的例子假设要读取一个名为 soil 的 dbf 文件(存储了土地利用信息),它含有 8 个记录项,记录项信息如表 2.10 所示:记录项名称 数据类型 长度 小数位数Area 数值型( double ) 31 15Perimeter 数值型( double ) 31 15soils_

18、数值型( int ) 11 0soils_id 数值型( int ) 11 0soil_code 字符型( character ) 3 无Suit 字符型( character ) 1 无Centroid_x 数值型( double ) 31 15Centroid_y 数值型( double ) 31 15索引文件的结构说明索引文件( .shx )主要包含坐标文件的索引信息,文件中每个记录包含对应的坐标文件记录距离坐标文件的文件头的偏移量。通过索引文件可以很方便地在坐标文件中定位到指定目标的坐标信息。索引文件也是由头文件和实体信息两部分构成(如图 2.5 ),其中文件头部分是一个长度固定 (1

19、00 bytes) 的记录段,其内容与坐标文件的文件头基本一致。它的实体信息以记录为基本单位,每一条记录包括偏移量( offset )和记录段长度(Content Length )两个记录项,它们的位序都是 big ,两个记录项都是 int 型。6图 2.5 索引文件的结构记录项 数值 数据类型 长度 个数 位序位移量( Offset ) 表示坐标文件中的对应记录的起始位置相对于坐标文件起始位置的位移量。int 型 4 1 Big记录长度( Content Length )表示坐标文件中的对应记录的长度。int 型 4 1 Big小结本节介绍了 MapObjects 支持的各种数据,并详细介绍

20、了 shapefiles 的文件结构,同时给出了读取 shapefiles 的坐标文件( .shp )、属性文件( .dbf )和索引文件( .shx )的程序,给出这些程序的目的在于让读者通过这些例子深入掌握 shapefiles 文件的格式,进而具备将特定格式的数据文件转换成 shapefiles 文件的能力。ArcGIS 三大文件格式解析Shape 数据Shapefile 是 ArcView GIS 3.x 的原生数据格式,属于简单要素类,用点、线、多边形存储要素的形状,却不能存储拓扑关系,具有简单、快速显示的优点。一个 shapefile 是由若干个文件组成的,空间信息和属性信息分离存

21、储,所以称之为“基于文件” 。每个 shapefile,都至少有这三个文件组成,其中:*.shp 存储的是几何要素的的空间信息,也就是 XY 坐标*.shx 存储的是有关*.shp 存储的索引信息。它记录了在*.shp 中,空间数据是如何存储的,XY 坐标的输入点在哪里,有多少 XY 坐标对等信息*.dbf 存储地理数据的属性信息的 dBase 表这三个文件是一个 shapefile 的基本文件,shapefile 还可以有其他一些文件,但所有这些文件都与该 shapefile 同名,并且存储在同一路径下。其它较为常见的文件:*.prj 如果 shapefile 定义了坐标系统,那么它的空间参

22、考信息将会存储在 *.prj 文件中*.shp.xml 这是对 shapefile 进行元数据浏览后生成的 xml 元数据文件*.sbn 和 *.sbx 这两个存储的是 shapefile 的空间索引,它能加速空间数据的读取。这两个文件是在对数据进行操作、浏览或连接后才产生的,也可以通过 ArcToolbox Data 7Management Tools Indexes Add spatial Index 工具生成。当使用 ArcCatalog 对 shapefile 进行创建、移动、删除或重命名等操作,或使用ArcMap 对 shapefile 进行编辑时,ArcCatalog 将自动维护数

23、据的完整性,将所有文件同步改变。所以需要使用 ArcCatalog 管理 shapefile。虽然 Shapefile 无法存储拓扑关系,但它并不是普通用于显示的图形文件,作为地理数据,它自身有拓扑的。比如一个多边形要素类,shapefile 会按顺时针方向为它的所有顶点排序,然后按顶点顺序两两连接成的边线向量,在向量右侧的为多边形的内部,在向量左侧的是多边形的外部。由于 1990 年代地理信息的迅速发展以及 ArcView GIS 3.x 软件在世界范围内的推广,shapefile 格式的数据使用非常广泛,数据来源也较多。很多软件都提供了向 shapefile 转换的接口(eg:MapInf

24、o、MapGIS 等)。ArcGIS 支持对 shapefile 的编辑操作,也支持shapefile 向第三代数据模型 geodatabase 的转换。1. shp 存储几何要素的空间信息,即 XY 坐标 shx 存储了有关.shp 存储的索引信息,即 shp 中空间数据的存储方式,XY 坐标的输入点在哪里,有多少 XY 坐标对等信息 dbf 存储地理数据的属性信息的 dBase 表 prj 存储了文件的空间参考信息,如坐标系统等 shp.xml 对元数据浏览后生成的 xml 元数据文件 sbn 和 sbx 存储对 shapefile 的空间索引,加速空间数据的读取 Coverage 数据C

25、overage 是 ArcInfo workstation 的原生数据格式。之所以称之为“基于文件夹的存储”,是因为在 windows 资源管理器下,它的空间信息和属性信息是分别存放在两个文件夹里。例如,在我的电脑 E:MyTestexample 文件夹中,有 3 个 coverage,它们在 windows 资源管理器下的状态如图 1 所示,所有信息都以文件夹的形式来存储。空间信息以二进制文件的形式存储在独立的文件夹中,文件夹名称即为该 coverage 名称,属性信息和拓扑数据则以 INFO 表的形式存储。 Coverage 将空间信息与属性信息结合起来,并存储要素间的拓扑关系。cover

26、age 是一个非常成功的早期地理数据模型,二十多年来深受用户欢迎,很多早期的数据都是 coverage 格式的。 ESRI 不公开 coverage 的数据格式,但是提供了 coverage8格式转换的一个交换文件(interchange file,即 E00),并公开数据格式,这样就方便了coverage 数据与其他格式的数据之间的转换。但是 ESRI 为推广其第三代数据模型 geodatabase,从 ArcGIS 8.3 版本开始,屏蔽了对 coverage 的编辑功能。如果需要使用 coverage 格式的数据,可以安装 ArcInfo workstation,或者将 coverage

27、 数据转换为其他可编辑的数据格式。Coverage 是一个集合,它可以包含一个或多个要素类aat 弧段属性表,记录弧段的起点和终点坐标信息 adf 为 coverage 格式,包括lab.adf、arc.adf、sec.adf 、pal.adf、cnt.adf、tic.adf 、lnk.adf 、bnd.adf 都记录了坐标信息,arx.adf、pax.adf 为索引文件和 pat.adf、aat.adf 为属性文件pat 点属性表,记录 lable 点的坐标信息 tic 控制点,用于配准地图的点 aux 保存栅格文件自身不能保存的辅助信息,包括彩色地图信息,直方图或表格,坐标系统,变换信息,

28、投影信息 rrd 保存影像金字塔信息索引,加速显示和漫游 dat 属性信息 nit 属性表定义文件 dir 属性表路径管理文件,用于关联 dat 和 nit Geodatabase 数据9Geodatabase 作为 ArcGIS 的原生数据格式,体现了很多第三代地理数据模型的优势。随着 IT 技术的发展,普通的事务型数据的管理模式,早已从传统的基于文件的管理转向利用基于工业标准建立的关系型数据库进行管理,这种基于数据库的管理方式的优点是不言而喻的。那么带有空间信息的地理数据是否也可以利用这种非常成熟的数据库技术进行管理呢?于是 ESRI 推出了 geodatabase 数据模型,利用数据库技

29、术高效安全地管理我们的地理数据。Geodatabase 可以分为两种,一种是基于 Microsoft Access 的 personal geodatabase,另一种是基于 oracle、SQL Server、Informix 或者 DB2 的 enterprise geodatabase,由于它需要中间件 ArcSDE 进行连接,所以 enterprise geodatabase 又称为 ArcSDE geodatabase。由于 Microsoft Access 自身容量的限制,personal geodatabase 的容量上限为 2GB,这显然不能满足企业级的海量地理数据的存储需求。

30、于是可以将 geodatabase 扩展为 ArcSDE geodatabase,底层数据库可以使用 oracle 这样的大型关系数据库,能够存储近乎“无限” 的海量数据(仅受硬盘大小的限制)。虽然底层使用的数据库各不相同,但是 geodatabase 给用户提供的是一个一致的操作环境。在 geodatabase 中,不仅可以存储类似 shapefile 的简单要素类,还可以存储类似coverage 的要素集,并且支持一系列的行为规则对其空间信息和属性信息进行验证。表格、关联类、栅格、注记和尺寸都可以作为 geodatabase 对象存储。这些在 perasonal geodatabase 和

31、 ArcSDE geodatabase 中都是一样的(栅格的存储有点小差异,但对用户来说都是一样的)。如图所示,是一个 personal geodatabase。对 Personal geodatabase 进行编辑,使用 ArcView 的 license 即可。不需要额外的软件就能直接连接。但是 Personal geodatabase 不支持多用户编辑,仅能满足小项目的要求。而通过 ArcSDE 连接的 ArcSDE geodatabase,则需要至少 ArcEditor 的 license 才能对其进行编辑。ArcSDE geodatabase 通过版本的机制,可支持多用户、长事务编辑

32、。在 ArcToolbox Conversion Tools To Geodatabase 中,有多种转换工具支持coverage、shapefile、CAD 等矢量数据向 geodatabase 的转换。在 personal geodatabase 和 ArcSDE geodatabase 间只要复制、粘贴即可,无须转换。10adf - ARC/INFO coverage data file agf - Atlas GIS native binary geodataset file ain - attribute index file aih - attribute index file a

33、lg - ER Mapper algorithm apr - ArcView Project File (ODB format) avl - legend template file (ODB format) avp - palette file (ODB format) ave - Avenue script avx - ArcView extension file (ODB format) ai - Adobe Illlustrator picture file bat - DOS batch file bil - image file (band interleaved by line)

34、 bip - image file (band interleaved by pixel) blw - world file for bil image bmp - Windows bitmap image file bpw - world file for bip or bmp images bsq - image file (band sequential) bqw - world file for bsq image c - C programming language source code filename cat - UNIX hyperhelp supporting file cgm - Computer Graphics Metafile cls - geocoding classification file cnt - help file contents dat - generic data file extension dat - INFO attribute file db - Object Database File (also ODB)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 医药卫生

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。