SHP文件的读取

上传人:野鹰 文档编号:1134840 上传时间:2017-05-29 格式:PPTX 页数:9 大小:304.49KB
返回 下载 相关 举报
SHP文件的读取_第1页
第1页 / 共9页
SHP文件的读取_第2页
第2页 / 共9页
SHP文件的读取_第3页
第3页 / 共9页
SHP文件的读取_第4页
第4页 / 共9页
SHP文件的读取_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《SHP文件的读取》由会员分享,可在线阅读,更多相关《SHP文件的读取(9页珍藏版)》请在金锄头文库上搜索。

1、问题是什么,由SHP文件得得到相应的图,问题进一步简化将shp的二进制文件读入一个已定义的 结构体,解决问题的方法,读取文件 的 C 函数 :1.fopen(FILE * stream,”rb”);2.fread(void * buffer,size_t size,size_t count, FILE*strem);将文件读取到内存中的buffer所指向的位置。3.关闭文件流 stream;此外的C函数还有:long ftell(FILE *stream);得到当前位置int fseek(FILE *stream, long offset, int fromwhere);Fromwhere:

2、0:文件头;1:当前位置;2:文件尾;,读取文件还需要三种逻辑结构,ShpReader.c读取文件的流程图(插图),关闭文件流,特定模块的代码详解:点文件,fseek(file,-28L,2);/ 从文件尾后退一个 点文件长度,读取最后一个 点文件的记录序号,得到点的数目o,RecordNum,ShapeType,X,Y,ContentLength,点文件记录:,records.Point=(SHP_POINT *)malloc(sizeof(SHP_POINT)*numPoints);/ 从文件尾后退一个 点文件长度,读取最后一个 点文件的记录序号,得到点的数目o,特定模块的代码详解:线面文件,读完所有的记录头,得到线的数目以及记录的长度,特定模块的代码详解线面文件,线文件,面文件,为records的其他数据项 赋值,实验 过程 ,由于采用的是先读完一次文件,得到文件的文件 数目;所以需要使用fseek,ftell等函数来在分配内存后将指针指向位置变为文件头读取后的位置,即第101个字节;,大小端 的变换:在读取大端 变量后 ,再用函数转换,得到正确的数值,结果,“让我们改变一下对构建程序的态度:不要把我们的主要工作想象为教计算机怎么做,相反,让我们集中精力向人们解释我们想让机器做什么。” 高德纳(Donald Knuth)。现代计算机鼻祖,计算机程序设计艺术作者,

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

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号