没有合适的资源?快使用搜索试试~ 我知道了~
首页shp文件格式及说明.doc
shp文件格式及说明.doc

shp文件格式及说明.doc shp文件格式及说明.doc shp文件格式及说明.doc shp文件格式及说明.doc
资源详情
资源评论
资源推荐

2.2.2 Shape files 数据说明
Shape files 是 ESRI 提供的一种矢量数据格式,它没有拓扑信息,一个 Shape files 由一组文件组成,
其中必要的基本文件包括坐标文件()、索引文件()和属性文件()三个文件。
坐标文件的结构说明
坐标文件用于记录空间坐标信息。它由头文件和实体信息两部分构成(如图 所示)。
坐标文件的文件头
坐标文件的文件头是一个长度固定的记录段,一共有 个 型和 个 型数据,
主要记录内容见表 。
文件头
记录头 记录内容
记录头 记录内容
记录头 记录内容
记录头 记录内容
……
……
记录头 记录内容
图 2.1 坐标文件的结构
起始位置 名称 数值 类型 位序
!
文件长度 文件的实际长度
版本号
"
#
几何类型 表示这个 $%& 文件所记录的空间数据的几何
类型
"
#! '(
空间数据所占空间范围的 ' 方向最小值
) "
*(
空间数据所占空间范围的 * 方向最小值
) "
+ '(%
空间数据所占空间范围的 ' 方向最大值
) "
! *(%
空间数据所占空间范围的 * 方向最大值
) "
! , -(
空间数据所占空间范围的 - 方向最小值
) "
!, -(%
空间数据所占空间范围的 - 方向最大值
) "

, .(
最小 .% 值
) "
, .(%
最大 .% 值
) "
表 2.2 shapeles 头文件表
注:最后 个加星号特别标示的四个数据只有当这个 $%& 文件包含 - 方向坐标或者具有
.% 值时才有值,否则为 。所谓 .% 值,是用于存储需要的附加数据,可以用来记录各种
数据,例如权值、道路长度等信息。
位序
细心的读者会注意到表 中的数值的位序有 " 和 的区别,对于位序是 的数据我们在读
取时要小心。通常,数据的位序都是 ",但在有些情况下可能会是 ,二者的区别在于它们位序的
顺序相反。一个位序为 的数据,如果我们想得到它的真实数值,需要将它的位序转换成 " 即可。
转换原理非常简单,就是交换字节顺序,下面是作者实现的在两者间进行转换的程序,代码如下:
//位序转换程序
0%10%%
2
3333334%5 67
3333334%5 67
3333338%9%%7
333333:%8%;;!7//将十六进制的数8%转到一个字符串中
3333337
33333397
333333<9
3333332
333333333333397= >7??
33333333333333333333569@@7
333333333333397=7??
333333333333333333335? >69567

333333333333397= 7??
33333333333333333333569567
333333A
333333////,,,,,,进行倒序
3333337
333333333339567
3333335633333395!67
3333335!633333397
333333333339567
333333563333339567
3333335633333397
333333333339567
333333563333339567
3333335633333397
3333333333395#67
3333335#633333395+67
3333335+633333397
333////,,,,,,
333333//,,,,,,将存有十六进制数8%的字符串中的十六进制数转成十进制数
3333338%97
33333397= 7??
3333332
3333333333333B7

3333333333333$(%7
3333333333333(%9567
33333333333335699@%@CC
3333333333333335699@@CC
3333333333333335699@4@CC
3333333333333335699@@CC
3333333333333335699@@CC
3333333333333335699@@
33333333333333333333B9?56>@%@7
3333333333333
333333333333333333334%(%;DED;FB7
33333333333338%98%?B,G!;>7
333333A
3333338%7
A
$%& 文件支持的几何类型($%H)
$%& 文件所支持的几何类型如表 # 所示:
编号 几何类型
I$%(表示这个 $%& 文件不含坐标)
J(表示 $%& 文件记录的是点状目标,但不是多点)
#
J"(表示 $%& 文件记录的是线状目标)
+
J(表示 $%& 文件记录的是面状目标)
.J(表示 $%& 文件记录的是多点,即点集合)
J-(表示 $%& 文件记录的是三维点状目标)
#
J"-(表示 $%& 文件记录的是三维线状目标)
+
J-(表示 $%& 文件记录的是三维面状目标)
.J-(表示 $%& 文件记录的是三维点集合目标)
J.(表示含有 .% 值的点状目标)

#
J".(表示含有 .% 值的线状目标)
+
J.(表示含有 .% 值的面状目标)
.J.(表示含有 .% 值的多点目标)
#
.J%4(表示复合目标)
表 2.3 shapeles 文件支持的几何类型
对于一个不是记录 I$%类型的 $%& 文件,它所记录的空间目标的几何类型必须一致,
不能在一个 $%& 文件中同时记录两种不同类型的几何目标。
读取坐标文件()的文件头的代码如下:
80K%$($$I%()
2
333333"L,33(:$:7333333//,,,,$ 文件指针
//打开坐标文件
333333(:$:9$I%(;DD99I""
3333332
33333333333337
333333A
333333//读取坐标文件头的内容 开始
3333337
3333337
333333"7
333333M7
333333$%H7
333333'(7
333333*(7
333333'(%7
剩余28页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论5