文档详情

c语言shape文件读取.ppt

发布:2018-01-25约小于1千字共11页下载文档
文本预览下载声明
Shapefile文件的读取 实验目的 读取包含常规点、线、面矢量数据的.shp文件,掌握 .shp文件的基本存储结构,并以此为基础深入理解shapefile的矢量数据结构。 Shapefile文件格式 文件头 信息记录 基本识别信息 空间信息概况 100字节 几何体空间坐标记录 记录头共8字节 shapeType 4字节 每条记录长度:(8+记录长度*2字节) 读取数据 分配内存空间 判断有多少条记录 读文件头 实验方案 1 2 3 4 文件头说明: ?FileCode(文件代码=9994) ?5个unused ?FileLength 整个文件的长度(包括文件头,以16字节为单位) ?FileVersion 文件版本=10 读取文件头 这部分数据在文件中采取大端存储,从文件中读出后要进行位序转换才能得到正确数值 实验目的 判断数据类型及记录数并分配内存空间 判断记录数 循环每做一次记录数加一 读取数据 判断文件尾 这里不能使用feof(file)即【 while(feof(file)==0)】的方式来判断文件尾!因为即使已经到达了文件尾,但file-flag仍然没有被置为_IOEOF,因而feof()仍然没有探测到文件结尾 读取数据 将结构体中用不到的变量级指针置空 //读取之前分配了存储空间的Parts和points数据 心得体会 这次试验的关键点之一是要读出存储的文件数。因此我们选用了指针跳动的方式来完成。 在试验过程中通过探索、试验,我们找到了用feof(file)不能判断文件尾的原因,以及解决方法。 // while(feof(file)==0) 这里不能使用feof(file)的方式来判断文件尾!因为即使已经到达了文件尾,但file-flag仍然没有被置为_IOEOF,因而feof()仍然没有探测到文件结尾 * // while(feof(file)==0) 这里不能使用feof(file)的方式来判断文件尾!因为即使已经到达了文件尾,但file-flag仍然没有被置为_IOEOF,因而feof()仍然没有探测到文件结尾 *
显示全部
相似文档