欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap FreeTalk
   您现在位于: 首页技术专栏ArcGIS应用与开发ArcGIS其它 → 正文
读取SHAPE文件
07-11-07 14:37:52 作者:senbar 出处:

SHAPE 文件格式
SDE,ARC/INFO,PC ARC/INFO,Data  Automation Kit(DAK)和ArcCAD软件提供了shape 到coverage的数据转换器,ARC/INFO同样提供了coverage到shape的转换器。为了和其他数据格式交换,shape文件的格式在本报告中被出版。其他数据流,比如来自全球定位系统(GPS)接收机的数据能同样被存为shape文件或X,Y事件表。
Shape文件技术描述计算机程序能通过使用本节的技术描述来产生,读,写shape文件。
一个ESRI的shape文件包括一个主文件,一个索引文件,和一个dBASE表。主文件是一个直接存取,变量记录长度文件,其中每个记录描述一个有它自己的vertices列表的shape。在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移,dBASE表包含一feature一个记录的feature的特征。几何和属性间的一一对应关系是基于记录数目的。在dBASE文件中的属性记录必须和主文件中的记录是相同顺序的。
命名习惯所有文件名都符合8.3命名习惯。主文件,索引文件和dBASE文件有相同的前缀。前缀必须是由字符或数字(a-Z,0-9)开始,后跟0到7个字符(a-Z,0-9,_,)主文件的后缀是.shp,索引文件的后缀是.shx,dBASE表的后缀是.dbf。文件名中的所有字母在对文件名敏感的操作系统中都是小写的。
例子
  主文件:counties.shp  索引文件:counties.shx   dBASE表: ounties.dbf数字类型一个shape文件存储整数和双精度数,本文档的余数指以下类型:
 整数:有符号32位整数(4字节)
 双精度:有符号64位IEEE双精度浮点数(8字节)浮点数必须是数字的值。负无穷,正无穷和非数字(NaN)值在shape文件不被允许。然而shape文件支持'没有数据'的值这样的概念,但是目前只用于衡量。某些小于-1038被shape文件读取程序用来代表'没有数据'的值。
下面的第一节描述shape文件的总体结构和组织。第二节描述shape文件支持的每种shape类型的记录内容。

主文件的组织
主文件(.shp)由固定长度的文件头和接着的变长度记录组成。每个变长度记录是由固定长度的记录头和接着的变长度记录内容组成。图1图解了主文件的结构。
图 1 主文件的结构
文件头  
记录头  记录内容
记录头  记录内容
记录头  记录内容
记录头  记录内容
……
……
记录头  记录内容
Shape文件中所有的内容可以被分为二类:
  与数据相关的:
      。主文件记录内容
      。主文件头的数据描述域(Shape 类型,边界盒等)
  与文件管理相关的:
      。文件和记录长度
      。记录偏移等
整数和双精度整数在文件头中组成数据描述域,在主文件的记录内容是小ndian(PC或Intel)字节顺序。组成文件的其余部分和文件管理的整数和双精度浮点数是大endian(Sun或Motorola)字节顺序。
主文件头
  主文件头100字节长。表1显示带有字节位置,值,类型和字节顺序的文件头中的域。
在此表中,位置是相对于文件的开始。
表 1 主文件头的描述
位置          域                值           类型           字节顺序
0字节        文件代码          9994          整数              大
4字节        未被使用           0            整数              大
8字节        未被使用           0            整数              大
12字节       未被使用           0            整数              大
16字节       未被使用           0            整数              大
20字节       未被使用           0            整数              大
24字节       文件长度        文件长度        整数              大
28字节         版本           1000           整数              小
32字节       Shape类型      Shape类型       整数              小
36字节        边界盒          Xmin         双精度             小
44字节        边界盒          Ymin         双精度             小
52字节        边界盒          Xmax         双精度             小
60字节        边界盒          Ymax         双精度             小
68字节*        边界盒          Zmin         双精度             小
76字节*        边界盒          Zmax         双精度             小
84字节*        边界盒          Mmin         双精度             小
92字节*        边界盒          Mmax         双精度             小
*未被使用,值为0.0,若没有被衡量或是Z轴。
文件长度的值是在16位字下文件的总长度(包括组成文件头的50个16位字)。在shape文件中的所有非空shape被需要是同种shape类型。Shape类型的值如下:
值              shape类型
0 空shape
1                 点
3                 多线
5 多边形
8 多点
11 点Z
13                多线Z
15                多边形Z
18 多点Z
21 点M
23                多线M
25 多边形M
28 多点M
31                多斑块
没有被定义的Shape 类型值(2,4,6等直到33)为将来可能的使用而保留。目前shape文件被局限于包含以上定义的同种shape类型。在将来shape文件可以被允许包含多于一种shape类型。若混合shape类型被实现,文件头中的shape类型将标识该文件。
主文件头的边界盒存储文件中shape的实际幅度。最小边界X和Y直交的(潜在的M,Z)长方形包含了所有的shape。若shape文件是空的(没有记录),min,Ymin,Xmax,Ymax的值是未被定义的。Mmin和Mmax能包含shape文件用来衡量不包含衡量的shape类型的'没有数据'的值(参见2页的数字类型),记录头
每个记录的头存储了记录的数目和记录内容的长度。记录头有一个固定长度8字节。表 2显示文件记录头中域的字节位置,值,类型和字节顺序。在表中,位置是相对于记录的开始的。
 表 2 主文件记录头文件的描述
位置          域       

9 7 3 1 2 3 4 5 6 7 4 8 :

(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    Shape文件转码
    Shapelib的小问题
    shapefile数据无法正常浏览的问题
    C#读取shapefile文件
    shapefile格式说明及读写代码示例
    vb.net下读取shapefile文件
    用GeoTools读取Shapefile的属性数据

    关于我们友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
     
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.
     

                   滇ICP备05006901号