电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

shp文件详细格式

  • 资源ID:36723998       资源大小:243.50KB        全文页数:30页
  • 资源格式: DOC        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

shp文件详细格式

2.2.2 Shape files 数据说明数据说明 Shape files 是 ESRI 提供的一种矢量数据格式,它没有拓扑信息,一个 Shape files 由一 组文件组成,其中必要的基本文件包括坐标文件(.shp)、索引文件(.shx)和属性文件 (.dbf)三个文件。1. 坐标文件的结构说明坐标文件(.shp)用于记录空间坐标信息。它由头文件和实体信息两部分构成(如图 2.1 所示)。1) 坐标文件的文件头坐标文件的文件头是一个长度固定(100 bytes)的记录段,一共有 9 个 int 型和 7 个 double 型数据,主要记录内容见表 2.2。文件头记录头记录内容记录头记录内容记录头记录内容记录头记录内容记录头记录内容图图 2.12.1 坐标文件的结构坐标文件的结构起始位置名称数值类型位序0File Code9994Integerbig4Unused0Integerbig8Unused0Integerbig12Unused0Integerbig16Unused0Integerbig20Unused0Integerbig24文件长度文件的实际长度Integerbig28版本号1000IntegerLittle32几何类型表示这个 Shapefile 文件所记录的空间数据 的几何类型IntegerLittle36Xmin空间数据所占空间范围的 X 方向最小值DoubleLittle44Ymin空间数据所占空间范围的 Y 方向最小值DoubleLittle52Xmax空间数据所占空间范围的 X 方向最大值DoubleLittle60Ymax空间数据所占空间范围的 Y 方向最大值DoubleLittle68*Zmin空间数据所占空间范围的 Z 方向最小值DoubleLittle76*Zmax空间数据所占空间范围的 Z 方向最大值DoubleLittle84*Mmin最小 Measure 值DoubleLittle92*Mmax最大 Measure 值DoubleLittle表表 2.22.2 shapefilesshapefiles 头文件表头文件表注:最后 4 个加星号特别标示的四个数据只有当这个 Shapefile 文件包含 Z 方向坐标 或者具有 Measure 值时才有值,否则为 0.0。所谓 Measure 值,是用于存储需要的附加数 据,可以用来记录各种数据,例如权值、道路长度等信息。(1) 位序细心的读者会注意到表 2.2 中的数值的位序有 Little 和 big 的区别,对于位序是 big 的数据我们在读取时要小心。通常,数据的位序都是 Little,但在有些情况下可能会是 big,二者的区别在于它们位序的顺序相反。一个位序为 big 的数据,如果我们想得到它的 真实数值,需要将它的位序转换成 Little 即可。转换原理非常简单,就是交换字节顺序, 下面是作者实现的在两者间进行转换的程序,代码如下:/位序转换程序unsigned long OnChangeByteOrder (int indata)char ss8;char ee8;unsigned long val = unsigned long(indata);_ultoa( val, ss, 16 );/将十六进制的数(val)转到一个字符串(ss)中int i;int length=strlen(ss);if(length!=8)for(i=0;i<8-length;i+)eei='0'for(i=0;i<length;i+)eei+8-length=ssi;for(i=0;i<8;i+)ssi=eei;/*进行倒序int t;t =ss0;ss0 =ss6;ss6 =t;t =ss1;ss1 =ss7;ss7 =t;t =ss2;ss2 =ss4;ss4 =t;t =ss3;ss3 =ss5;ss5 =t;/*/*将存有十六进制数(val)的字符串(ss)中的十六进制数转成十进制数int value=0;for(i=0;i<8;i+)int k;CString mass;mass=ssi;if(ssi='a' | ssi='b' | ssi='c' |ssi='d' |ssi='e' |ssi='f')k=10+ssi-'a'elsesscanf(mass,“%d“,value=value+int(k*pow(16,7-i);return (value);(2) Shapefile 文件支持的几何类型(ShapeType)Shapefile 文件所支持的几何类型如表 2.3 所示:编号几何类型0Null Shape(表示这个 Shapefile 文件不含坐标)1Point(表示 Shapefile 文件记录的是点状目标,但不是多 点)3PolyLine(表示 Shapefile 文件记录的是线状目标)5Polygon(表示 Shapefile 文件记录的是面状目标)8MultiPoint(表示 Shapefile 文件记录的是多点,即点集合)11PointZ(表示 Shapefile 文件记录的是三维点状目标)13PolyLineZ(表示 Shapefile 文件记录的是三维线状目标)15PolygonZ(表示 Shapefile 文件记录的是三维面状目标)18MultiPointZ(表示 Shapefile 文件记录的是三维点集合目标)21PointM(表示含有 Measure 值的点状目标)23PolyLineM(表示含有 Measure 值的线状目标)25PolygonM(表示含有 Measure 值的面状目标)28MultiPointM(表示含有 Measure 值的多点目标)31MultiPatch(表示复合目标)表表 2.32.3 shapefilesshapefiles 文件支持的几何类型文件支持的几何类型对于一个不是记录 Null Shape 类型的 Shapefile 文件,它所记录的空间目标的几何 类型必须一致,不能在一个 Shapefile 文件中同时记录两种不同类型的几何目标。读取坐标文件(.shp)的文件头的代码如下:void OnReadShp(CString ShpFileName)FILE* m_ShpFile_fp; /*Shp 文件指针/打开坐标文件if(m_ShpFile_fp=fopen(ShpFileName,“rb“)=NULL)return;/读取坐标文件头的内容 开始int FileCode;int Unused;int FileLength;int Version;int ShapeType;double Xmin;double Ymin;double Xmax;double Ymax;double Zmin;double Zmax;double Mmin;double Mmax;fread(FileCode = OnChangeByteOrder (FileCode);for(i=0;i<5;i+)fread(fread(FileLength = OnChangeByteOrder (FileLength);fread(fread(fread(fread(fread(fread(fread(fread(fread(fread(/读取坐标文件头的内容 结束/根据几何类型读取实体信息2) 实体信息的内容实体信息负责记录坐标信息,它以记录段为基本单位,每一个记录段记录一个地理实 体目标的坐标信息,每个记录段分为记录头和记录内容两部分。记录头的内容包括记录号(Record Number)和坐标记录长度(Content Length) 两个 记录项。它们的位序都是 big。记录号(Record Number)和坐标记录长度(Content Length) 两个记录项都是 int 型,并且 shapefile 文件中的记录号都是从 1 开始的。记录内容包括目标的几何类型(ShapeType)和具体的坐标记录(X、Y) ,记录内容因 要素几何类型的不同其具体的内容及格式都有所不同。下面分别介绍点状目标(Point)、 线状目标(PolyLine)和面状目标(Polygon)三种几何类型的.shp 文件的记录内容:(1) 点状目标shapefile 中的点状目标由一对 X、Y 坐标构成,坐标值为双精度型(double)。点状 目标的记录内容如表 2.4:记录项数值数据类型长度个数位序几何类型(ShapeType)1(表示点状目标)int 型 41Little X 方向坐标X 方向坐标值double 型81LittleY 方向坐标Y 方向坐标值double 型81Little表表 2.42.4 点状目标的记录内容点状目标的记录内容下面是读取点状目标的记录内容的代码:OnReadPointShp(CString ShpFileName)/打开坐标文件/读取坐标文件头的内容 开始/读取点状目标的实体信息int RecordNumber;int ContentLength;int num =0;while(fread(fread(RecordNumber = OnChangeByteOrder (RecordNumber);ContentLength = OnChangeByteOrder (ContentLength);int shapeType;double x;double y;fread(fread(fread(2) 线状目标shapefile 中的线状目标是由一系列点坐标串构成,一个线目标可能包括多个子线段, 子线段之间可以是相离的,同时子线段之间也可以相交。Shapefile 允许出现多个坐标完 全相同的连续点,当读取文件时一定要注意这种情况,但是不允许出现某个退化的、长度 为 0 的子线段出现。线状目标的记录内容如表 2.5:记录项数值数据类型长度个数位序几何类型 (ShapeType)3(表示线状目标)int 型 41Little坐标范围 (Box)表示当前线目标的坐 标范围double 型324Little子线段个数 (NumParts)表示构成当前线目标 的子线段的个数int 型41Little坐标点数 (NumPoints)表示构成当前线目标 所包含的坐标点个数int 型41LittleParts 数组记录了每个子线段的 坐标在 Points 数组 中的起始位置int 型4×NumPartsNumPartsLittlePoints 数组记录了所有的坐标信 息Point 型根据点个数 来确定NumPointsLittle表表 2.52.5 线状目标的记录内容线状目标的记录内容具体的数据结构如下:PolyLineDouble4 Box / 当前线状目标的坐标范围Integer NumParts / 当前线目标所包含的子线段的个数Integer NumPoints / 当前线目标所包含的顶点个数IntegerNumParts Parts / 每个子线段的第一个坐标点在 Points 的位 置PointNumP

注意事项

本文(shp文件详细格式)为本站会员(qiuji****ngye)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.