【老文新说】C++读取.shp文件

03-10 阅读 0评论

本文目录

  • 1. .shp文件简介
  • 2. shp文件格式
    • 2.1 文件头
    • 2.2 文件记录
    • 2.3 多边形的段(Part)
    • 3. shp文件读写——C++
      • 3.1 仓库地址
      • 3.2 代码结构简介

        1. .shp文件简介

        shp文件是ESRI(美国环境系统研究所公司)开发的一种用于存储和描述空间数据的文件格式(shapefile),目前已经成为GIS中的开放标准。shp常用来描述基本几何对象:点、线、多边形。(shapefile其实也可以存储对象的各种人为定义的属性,但那些属性数据是存放在dBase File(dbf)中的,不属于本文的内容。)

        【老文新说】C++读取.shp文件,【老文新说】C++读取.shp文件,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,比较,公司,存储,第1张
        (图片来源网络,侵删)

        ArcMap中这样描述:

        Shapefile 是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。 shapefile 中的地理要素可表示为点、线或面(区域)。 包含 shapefile 的工作空间还可以包含 dBASE 表,它们用于存储可连接到 shapefile 的要素的附加属性。

        笔者这样理解shape文件:

        一种可扩展的、用于存储基本几何对象的、可描述基本地理信息的二进制文件格式。

        shp文件的读写,源代码(openfile仓库的shp文件夹中)在github上,有兴趣的同学可以自取,如对代码有任何疑问,欢迎提交issue,或者添加笔者QQ:3495421705。同时也欢迎各位同学加入到该仓库的建设和维护中。

        注意,在本文中,只讨论shp文件这一个文件格式相关内容,关于shx和dbf这两个文件格式,将会在后续文章中介绍。

        【老文新说】C++读取.shp文件,【老文新说】C++读取.shp文件,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,比较,公司,存储,第2张
        (图片来源网络,侵删)

        2. shp文件格式

        shp文件格式比较简单,分为文件头和记录列表两块。

        2.1 文件头

        shp文件头是一个定长100字节的数据块,其中的内容由以下部分组成:

        字段名数据长度(字节)字节序备注
        文件码(file code)sizeof(int32) = 4big
        未使用5 * sizeof(int32) = 20big
        文件长度(File Length)sizeof(int32) = 4big
        文件版本(version)sizeof(int32) = 4little
        图元类型(shape type)sizeof(int32)=4little
        xy数据范围(包围盒)4 * sizeof(double) = 32little分别为xmin、ymin、xmax、ymax
        z和m数据范围4 * sizeof(double)=32little分别为:zmin、zmax、mmin、mmax

        上表中关于字节序的知识,大家可以上网搜索,其原理就是不同系统要求的数据在内存中的字节顺序不一样,其中:

        BigEndian机器上,0x0102在内存中的字节顺序为0x01和0x02,但是在LittleEndian的机器上,他的字节顺序就变成了0x02和0x01。

        字节转换的工具函数,在shp读写的源码仓库中已有实现。

        2.2 文件记录

        2.3 多边形的段(Part)

        3. shp文件读写——C++

        3.1 仓库地址

        3.2 代码结构简介

        【老文新说】C++读取.shp文件,【老文新说】C++读取.shp文件,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,比较,公司,存储,第3张
        (图片来源网络,侵删)

免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]