
MFC
文章平均质量分 67
凡先生_WHU
锲而舍之,朽木不折;锲而不舍,金石可镂。
展开
-
shp系列(七)——利用C++进行Shx文件的写(创建)
之前介绍了Shp文件和Dbf的写(创建),最后来介绍一下Shx文件的写(创建)。Shx文件是三者之中最简单的一个,原因有两个:第一是Shx文件的头文件与Shp文件的头文件几乎一样(除了FileLength);第二是Shx文件的主体只有两个记录项,分别是Offset和ContentLength。推荐结合读取shx的博客一起看!推荐结合读取shx的博客一起看!推荐结合读取shx的博客一起看...原创 2018-12-22 13:03:49 · 1286 阅读 · 0 评论 -
shp系列(六)——利用C++进行Dbf文件的写(创建)
上一篇介绍了shp文件的创建,接下来介绍dbf的创建。推荐结合读取dbf的博客一起看!推荐结合读取dbf的博客一起看!推荐结合读取dbf的博客一起看! 1.Dbf头文件的创建Dbf头文件的结构如下:记录项数组说明:字段类型说明:关于每项的具体含义参照读取dbf文件的解释,这里重点解释几项:HeaderByteNum指dbf头文件的字节数,数值不用...原创 2018-12-22 12:08:41 · 1492 阅读 · 2 评论 -
shp系列(五)——利用C++进行shp文件的写(创建)
之前介绍了shp文件、dbf文件和shx文件的的读取,接下来将分别介绍它们的创建过程。一般来说,读和写的一一对应的,写出的文件就是为了保存数据供以后读取的。写的文件要符合shapefile的标准。之前读取的时候使用的函数是fread,写的函数对应为fwrite,文件为二进制流文件。建议本博客和之前shp读取的博客一起看!建议本博客和之前shp读取的博客一起看!建议本博客和之前shp读取...原创 2018-12-21 18:37:54 · 2624 阅读 · 7 评论 -
shp系列(四)——利用C++进行Shx文件的读(打开)
1.shx文件的基本情况shx文件又叫索引文件,主要包含坐标文件的索引信息,文件中每个记录包含对应的坐标文件记录距离坐标文件的初始位置的偏移量。通过索引文件可以很方便地在坐标文件中定位到指定目标的坐标信息。 2.shx文件的组成索引文件也是由头文件和实体信息两部分构成,其中文件头部分是一个长度固定(100 bytes)的记录段,其内容与坐标文件的文件头基本一致(FileLength...原创 2018-12-20 18:04:03 · 2465 阅读 · 0 评论 -
shp系列(三)——利用C++进行DBF文件的读(打开)
1.DBF文件要点DBF文件又叫属性文件,也叫dBASE文件,文件后缀是.dbf,实际上ArcGIS打开后的属性表就是DBF的信息。DBF文件遵循以下几个条件:每个要素在表中必须要包含一个与之相对应的记录。 记录的顺序必须与要素在主文件中(*.shp)的顺序一样。 dBASE 文件头中的年份值必须要晚于 1900 年。2.DBF文件的组成属性文件(.dbf)用于记录属性信息。它是...原创 2018-12-20 17:24:33 · 2686 阅读 · 0 评论 -
shp系列(二)——利用C++进行shp文件的读(打开)
1.各数据类型及其字节数BYTE 1; char 1; short 2; int 4; double 8;2.位序big和little及其转换对于位序是big的数据我们在读取时要小心。通常,数据的位序都是Little,但在有些情况下可能会是big,二者的区别在于它们位序的顺序相反。一个位序为big的数据,如果我们想得到它的真实数值,需要将它的位序转换成...原创 2018-12-20 14:47:33 · 7056 阅读 · 3 评论 -
(四)建筑物多边形化简系统——“去尾巴”和分割复杂多边形
问题说明实际操作中,发现有的多边形存在“尾巴”或者很细的部分。“尾巴”细长,明显不是有效建筑物区域,特点就是区域面积小,看起来细长,附着于大面积多边形外测或者连接两个多边形。需要去除尾巴或者分割多边形,为后面拟合多边形做准备。 算法思想去除“尾巴”(凸出部分)和分割多边形的算法思想:1.求平均距离。针对环,遍历每个点,求到下一个点之间的距离,计算该环两点间...原创 2018-10-06 21:36:30 · 832 阅读 · 0 评论 -
(二)建筑物多边形化简系列——多边形点数化简
1.目的实验发现,一个多边形由多个环,每个环的点数数量都比较大,这直接导致程序处理速度非常慢。为了简化图形,加快程序运行速度,为方便后期拟合建筑物,打算对建筑物原始数据进行化简。2.做法化简的内容是去除部分建筑物多边形的点,采取保留一半点的做法,观察每次化简后图形与原始图形的差别。3.实施对去除噪点环之后的建筑物多边形数据进行处理。处理的方法是对半,函数为:// 0904,...原创 2018-09-04 11:00:15 · 1103 阅读 · 0 评论 -
(一)建筑物多边形化简系列——去除噪点环
由于本人最近在进行建筑物数据处理的项目,遇到了较多的问题,同时也收获了很多知识。所有打算写一个建筑物处理的系列博客。要处理建筑物多边形,首先得理解结构关系,这是所有实现处理的基础。建筑物多边形是由一条条封闭的环(线状)组成,环是由一组首尾相同的点组成,所以对建筑物多边形的处理实质是对环和点处理。实际项目中,所给的数据是非常凌乱的,杂质非常多。下图是初始的建筑物多边形数据,我们可以发现:局部...原创 2018-07-19 12:56:04 · 1615 阅读 · 1 评论 -
(三)建筑物多边形化简系列——去除冗余点
制图综合和建筑物数据处理等都涉及到建筑物多边形的化简。制图综合中,由于比例尺的变小,建筑物在小比例尺地图上所占面积变小,这意味着建筑物图形的形状精度也有一定的损失,为了更好地表示原有建筑物的特征(面积、图形和方向),需要对建筑物多边形进行化简。另外,从遥感影像提取的建筑物矢量数据需要经过图形化简等一系列操作才能作为可使用的数据。首先明确,矢量数据结构中,建筑物多边形是由一些列环(circle)...原创 2018-07-18 00:02:24 · 2086 阅读 · 1 评论 -
利用道格拉斯·普客法(DP法)压缩矢量多边形(C++)
1.算法描述经典的Douglas-Peucker算法(简称DP法)描述如下:(1)在曲线首尾两点A,B之间连接一条直线AB,该直线为曲线的弦;(2)得到曲线上离该直线段距离最大的点C,计算其与AB的距离d;(3)比较该距离与预先给定的阈值threshold的大小,如果小于threshold,则该直线段作为曲线的近似,该段曲线处理完毕。(4)如果距离大于阈值,则用C将曲线分为两段...原创 2019-02-22 11:50:56 · 1407 阅读 · 0 评论