建筑物规则化(实现) --- 特征边分组、重构、直角化

news2024/11/13 10:57:25

规则化建筑物

一、摘 要

        建筑物多边形在地图综合中的两类处理模型:化简直角化

        建筑物矢量数据来源广泛,在数据获取过程中,受GPS精确度、遥感影像分辨率或人为因素的影响,数据往往存在不同程度的误差。其中,图像分割、深度学习等技术提取的建筑物多边形边界由任意折线构成,直角特征弱,点数冗余,无法实现地理信息的规范化表达。本文讨论此类轮廓模糊建筑物的化简问题。

1.1 ArcGIS 规则化建筑物覆盖区 (3D Analyst)

        通过消除几何中不需要出现的伪影来对建筑物覆盖区面的形状进行规范化。

图片

1.2 supermap 建筑物规则化

        通过提取建筑物的关键点及建筑物主方向,对建筑物覆盖区面的轮廓线进行规则化,用于消除建筑物范围几何中不规整的边界及细节。

图片

1.3 学术学报 轮廓规则化

        (1)基于特征边重构的建筑物化简方法;

图片

        (2)基于最小二乘的建筑物多边形的化简与直角化。

图片

        建筑物的规则化处理,主要包括三个步骤:将特征边分组、重构,实现建筑物的有效化简,最后对化简后的多边形进行直角化处理。

二、特征边分组

        对待化简(规则化处理)的多边形,按某种规则,对多边形节点进行分组,通过分组节点获取特征边分组。

2.1 基于面主方向的特征边分组

        定义建筑物多边形中若干能控制多边形整体轮廓的边为特征边。以各边与主方向的夹角作为约束对建筑物轮廓进行了详细的划分。

01 主方向

        统计加权方法计算主方向考虑多边形每条边的方向和长度,避免了长边误差的干扰,其描述如下:

        ①测试0°至90°之间相差固定步长(步长取决于所需的结果精度,如1°)的一系列候选方向。

        ②对于每个候选方向,计算各边贡献值,候选方向的权重是每条边贡献值的总和。

        如下图,OA为候选方向,角度偏差系数为α。将多边形每条边平移,使其以点O为起点,若该边或其垂边在OB、OC范围内,则参与贡献值计算。多边形某边平移后为OD,由于在OB、OC范围外,贡献值为0;OE在范围内,长度为li,与OA夹角为β,则OE对候选方向OA的贡献值Li为:

图片

        统计加权法示意图如下:

图片

02 特征边分组

        设定边长系数l1、l2(l1>l2),特征边必须满足以下条件之一:

        ①边长大于l1;

        ②与主方向垂直或平行,且边长大于l2;

        ③存在与其垂直的邻边,且边长大于l2。保留多边形中的较长边有利于保持轮廓准确性,较长边的重构通常导致多边形变化过大,因此设置边长系数l1将此类边分类为特征边。通常l1为平均边长,l2用来约束化简程度。

        建筑物多边形中一条或连续几条非特征边为待化简弧段。以下图为例,特征边分组的过程如下:

图片

        (1) 遍历建筑物多边形点集合,判断相邻两点间线段与主方向的空间关系并计算两点间距,若该线段不是特征边,记录首点点号,得到非特征边点集合S1{2, 4, 6, 8, 10, 12, 13, 17, 18, 20, 22}。

        (2) 根据集合S1计算待化简弧段的点集合,得到集合S2{[2, 3], [4, 5], [6, 7], [8, 9], [10, 11], [12, 13, 14], [17, 18, 19], [20, 21], [22, 1]}。

        (3) 待化简弧段两侧特征边的组合集S3为{[1, 2;3, 4], [3, 4;5, 6], [5, 6;7, 8], [7, 8;9, 10], [9, 10;11, 12], [11, 12;14, 15], [16, 17;19, 20], [19, 20;21, 22], [21, 22;1, 2]}。

2.2 基于距离阈值和直角约束的特征点分组

        建筑物多边形主要是由相互垂直的弧段构成,一般可分解成多个大小不一的矩形。

        对其化简的目的是在保持多边形整体轮廓一致的前提下,删除若干个小的凸起矩形,补平若干个凹陷矩形。

        在多边形的点集中,总存在若干能控制多边形整体轮廓的点,这些点相对其它点而言,化简后位移距离较小,本文称这些点为建筑物多边形的特征点。

        对常规的地图,可根据比例尺计算出最小可视距离,但在多尺度地图综合中最小可视的实地距离不仅与目标比例尺有关,而且与源地图的比例尺有关。这里按“自然规律”的综合法则来计算。

01 最小可视距离阈值的计算

        F= St*D[ 1 - Ss/ St ] ,

        式中:

        F为目标比例尺下图上最小可视距离对应的实地距离;

        St为目标比例尺分母;

        D为最小可视的距离,取值为0.3~0. 6 mm;

        Ss为源数据比例尺分母.

        在源比例尺为1 :2 000、目标比例尺为1∶1万,取最小可视距离D=0. 4 mm ,计算得F=3. 2m。

02 特征点分组

        建筑物分组的具体步骤:

        (1)将多边形的坐标点按逆时针方向排序;N为多变形点的总数。设置4个变量A、B、E、F表示当前要判断边的点号,其中A、B用于顺时针方向搜索,E、F用于反时针方向搜索。设置变量s表示第1组的起点。

        (2)找到最长的一条边,该边两个端点的序号为n, n+1 ,初始化一个整数链表LIST,将n, n+ 1插入该链表。令A= E= n,B = F= n+1;

        (3)沿A向顺时针方向搜索两个点,其点号:A=(A - 2)%N,B = (B - 2)% N ;

        (4)在LIST对应的点构成的弧段中,存在若干与A - B平行(包括近似)的弧段,计算AB到这些弧段的最大距离d ;以及A→B到n →n+1的夹角a;

        (5)如果d >F或者d <F且a >0°,表示已找到第1组的起点,则令S = (A +2)%N,继续搜索F的下两点,其点号E= (E+ 2) % N,F= (F+ 2) % N,到步骤6;否则在LIST首位置加入B、A,继续向上搜索,回到步骤3;

        (6)如果F=S,则分组完毕,结束探测。否则,与步骤3一样,计算EF到与之平行的弧段的最大距离d以及E→F到n →n+1的夹角α;

        (7)如果d >F或者d <F且a >0°,则该组搜索完毕,开始探测下一组,重新初始化一个新链表LIST,向前进方向搜索新组。如果不满足上述条件,则将E、F加入到LIST,令 E=(E+2)% N,F=(F+2)% N,回到步骤5。

        对建筑物多边形的点进行分组,如下图所示:

图片

        多边形的点分成了4个组:( 1、2、3 、4 、5 、6), (6、7),(7 、8、 9、 10、11、 12、13 、14、15、16) , (16、1 ) 。

三、特征边重组原则

        基于特征边组合的判别和重组来化简建筑物多边形,基本目标是实现建筑物多边形与影像建筑物边界最大程度的套合,并尽可能保持面积和形态特征。因此,结构重组时按照以下原则:

        原则1:用边长系数l2和局部区域面积l3(l3=l22)约束化简程度。

        原则2:结构重组是一个循环的过程,每处理完一个局部结构,更新多边形,再次进行特征边分组、重构,直到特征边组合集为空集。

        原则3:对于凹凸结构不进行夸大处理,若满足删除(填充)条件,删除(填充)后循环过程将再次判别并处理此弧段。

四、结构重组

        对分组后的每组特征边,都需要提取一条线段来代替这一组折线边集合,可以采取特征点拟合直线、或凸多边形最窄宽度提取中心线等实现。将分组提取替代线按一定的规则,进行连接处理,便可实现结构的重组。

        由于特征边与主方向的关系多为平行或垂直,待化简弧段两侧特征边的空间关系组合可抽象为3种,分别为平行结构、垂直结构和其他结构。

        判断邻近替代线的空间关系,以夹角、位置作为选择化简规则的条件,通过局部结构重组实现化简。化简示意图如下:

图片

4.1 平行结构

        P1、P2、P3、P4为平行结构,待化简弧段两侧特征边平行。

        (1)若两边间距大于l2,过待化简弧段中点向两侧作垂线,如P1、P3。

        (2)否则,判断两边夹角,若夹角为0°,采用最小二乘法将该结构(包括待化简弧段)的点拟合成直线替代该结构,如P2(理论上不存在);

        (3)若夹角为180°,该结构面积小于l3,连接端点,删除凸起(填充凹陷)的部位,如P4,若该结构面积大于l3,按P3处理。

4.2 垂直结构

        V1、V2、V3、V4为垂直结构,待化简弧段两侧特征边垂直。

        (1)V1、V3结构中,α小于90°,计算两边交点,若该点与邻近两点组成区域面积小于l3,则添加交点,如V1;

        (2)否则, 取虚线中点,向两侧作垂线,如V2。若α大于90°,如V3、V4,若两边交点与邻近两点组成的区域面积小于l3,添加交点,删除右侧区域,如V3,否则,取虚线中点,如V4。

4.3 其他结构

        T1、T2为其他结构,两特征边既不垂直也不平行。计算斜边一点到另一边的距离,若距离大于l2,添加垂线与另一边的交点,如T1,否则直接添加交点,如T2。

五、直角化规则

        若建筑物目标中两相邻边满足规则化空间关系,判断两边与主方向的关系,以主方向为基准进行直角化处理。直角化规则如下:

图片

        (1) 若两边共线或趋于平行,则移除中间点,如图 (a)所示。

        (2) 若两边趋于垂直,其中一边与主方向平行或垂直,将另一边绕其中点旋转至二者垂直,如图 (b)所示。

        (3) 若两边趋于垂直,其中一边与主方向趋于平行或趋于垂直,将其绕端点旋转至主方向或主方向的垂直方向,另一边绕中点旋转至二者垂直,顶点移至二者交点,如图 (c)所示。

        (4) 若两边趋于垂直,且两边均不与主方向接近平行或垂直,将较短边绕中点旋转至二者垂直。

六、建筑物规则化(实现) --- 特征边分组、重构、直角化 

ME & OTHERS

虚心学习、借鉴、优化

        在虚心学习了大家的成果后,畅想着“建筑物规则化”在制图和数据规则化上有很好的应用需求,规则化后的建筑物轮廓,在使用“建筑物2.5D效果”工具时,不但因为节点的减少提高工具分析性能,还因为直角化让建筑物更加规范、立体。

        最重要的是,基于特征分组和规则化允许偏移距离的融合,让我豁然开朗,不仅可以用来处理具有正交特性的建筑物,还可以拓展用于简化非正交的,曲线特征的图形。如通过影像实例分割得到的水系、道路等数据。

        具体算法和实现在后续的文章中讲解。本文给出实现的过程视频。

        本文基于下图,演示特征边分组、重构和直角化的实现过程。

图片

6.1 基于偏移距离的特征边分组

        假设我们有一支很粗的笔,沿着多边形边界绘制,当前画笔定能掩盖需要被简化的短边、不规则折线。

        当绘制建筑物轮廓时,应确保绘制线段保持直线连接。绘制曲线段时,确保曲线的平滑过渡。

图片

6.2 特征分组重构

        特征边重构,由于考虑的是“笔画”遮盖的效果,故提取笔画的中心线作为重构线结果,比使用“基于最小二乘平差模型的线性拟合”更加符合小编的算法设计。

        因此,可将重构算法转为凸多边形最小宽度算法+凸多边形在指定方向上的中心线提取。

        凸多边形的宽度定义为平行切线间的最小距离,可使用“旋转卡壳”算法实现。

        凸多边形在垂直于最小宽度方向上的中心线提取,可使用分组起始点和结束点在方向单位向量上的投影点获取。

        分组特征边计算重构线算法示意如下图:

图片

        重构线结果示意如下图:

图片

特征边分组、重构过程(迭代)演示如下

6.3 多边形直角化

        由于并非所有建筑物的内角均应为直角,且其长边与短边在直角化处理中影响力(权)不同,因此,可使用带限制条件的建筑物多边形不等权的局部直角化的最小二乘算法实现建筑物的直角化。

        建筑物多边形直角化过程示意如下图:

图片

直角化过程(迭代)演示如下:

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2058291.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

规范化JavaBean

Java Bean 是一个很常见的概念&#xff0c;简单来说就是一个 Java 类&#xff0c;其中的内容就是各种属性&#xff0c;以及各个属性的 getter/setter 。例如&#xff1a; class Student {private String name;private int age;public String getName() {return this.name;}pub…

网络协议与Netty

1、讲一讲什么是RPC&#xff1f; 说到RPC就必须要聊一聊单体项目和分布式/微服务项目 单体项目时&#xff1a;一次服务调用发生在同一台机器上的 同一个进程内部 &#xff0c;也就是说调用发生在本机内部&#xff0c;因此也被叫作本地方法调用。 分布式/微服务项目时&#x…

负载均衡:定义与核心作用

负载均衡&#xff1a;定义与核心作用 一、负载均衡的定义二、负载均衡的核心作用 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 负载均衡&#xff0c;作为网络技术的重要一环&#xff0c;对优化资源利用和提升服务器响应速度至关重要。本文…

Ps:首选项 - 界面

Ps菜单&#xff1a;编辑/首选项 Edit/Preferences 快捷键&#xff1a;Ctrl K Photoshop 首选项中的“界面” Interface选项卡可以定制 Photoshop 的界面外观和行为&#xff0c;从而创建一个最适合自己工作习惯和需求的工作环境。这些设置有助于提高工作效率&#xff0c;减轻眼…

快速带你玩转高性能web服务器

目录 一.Web 服务基础介绍 ​编辑1.1 互联网发展历程回顾 1.2 Web 服务介绍 1.2.1 Apache的图标 1.2.2 NGINX的图标&#xff1a; 1.2.3 Apache 经典的 Web 服务端 1.2.3.1 Apache prefork 模型 1.2.3.2 Apache worker 模型 1.2.3.3 Apache event模型 1.2.4 Nginx-高性能的 Web …

PanDownload 网页复刻版最新PHP源码

源码介绍 PanDownload 网页复刻版&#xff0c;PHP语言版&#xff0c;PanDownload在线解析下载的优点&#xff0c;速度快&#xff0c;受用户自身带宽限制&#xff0c;就是说你的宽度交多少决定你下载的速度&#xff0c;不用下载百度网盘客户端&#xff0c;你可以直接使用解析所…

PingCAP 携手 CCF 数据库专委会打造“开源数据库领域拔尖创新人才培育计划”,共塑数据库教育未来丨NDBC 2024

2024 年 8 月 7 日 - 10 日&#xff0c;由中国计算机学会主办、中国计算机学会数据库专业委员会和新疆大学承办、新疆 IT 三会等单位协办的第 41 届中国数据库学术会议&#xff08;NDBC 2024&#xff09;在新疆乌鲁木齐成功举办。 大会上 PingCAP 联合创始人黄东旭发表了主题演…

LabVIEW深度监测系统

随着果园机械化作业的迅速发展&#xff0c;传统的人工监测方式已难以满足现代农业的高效率与精准性需求。本文介绍了一种基于LabVIEW软件的果园开沟深度监测系统&#xff0c;该系统通过集成先进的传感技术与数据处理算法&#xff0c;实现了对开沟深度的实时精确监测和自动控制&…

11.SPI通信

SPI理论 常规四线&#xff1a;SCLK、CS、MOSI(主向从发)、MISO(从向主发) 同步、串行、全双工、速率(MHz) 一主一从、一主多从、不能多主 工作模式&#xff1a; CPOL 0&#xff1a;总线空闲状态时钟为低电平&#xff0c;1&#xff1a;总线空闲状态时钟为高电平 CPHA 0&#…

【Python系列】执行 Shell 命令的六种方法

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

0.91寸OLED迷你音频频谱

一、简介 音频频谱在最小0.91寸OLED 屏幕上显示&#xff0c;小巧玲珑 二、应用场景 本模块为音频频谱显示模块&#xff0c;用来获取声音频谱并展示频谱&#xff0c;跟随音乐声音律动 三、产品概述 基于主控芯片设计的将声音采集分析频谱&#xff0c;显示到0.91寸OLED的功能…

【Git】常见命令的使用

Git 介绍流程安装常见命令本地仓与远程仓关联 介绍 Git、Svn&#xff1a;版本控制器&#xff08;用于多人团队协作&#xff09; Svn&#xff1a;集中式版本控制器&#xff1b;版本库集中放在中央服务器&#xff0c;操作非常简单&#xff0c;鼠标右键提交、新增、下载 Git&…

华为OD机试 - 模拟目录管理 - 栈(Java 2024 D卷 100分)

华为OD机试 2024D卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;D卷C卷A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测…

博弈论,CF 1600E - Array Game

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1600E - Array Game 二、解题报告 1、思路分析 记最长递增前缀长度为L&a…

点云倒角距离(Chamfer Distance,CD)

本文为专栏《Python三维点云实战宝典》系列文章&#xff0c;专栏介绍地址“【python三维深度学习】python三维点云从基础到深度学习_python3d点云从基础到深度学习-CSDN博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。 点云倒角距离&#xff08…

零基础5分钟上手亚马逊云科技-高可用Web系统设计最佳实践

简介&#xff1a; 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列&#xff0c;适用于任何无云计算或者亚马逊云科技技术背景的开发者&#xff0c;通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…

DT浏览器使用教程之如何使用智能问答

DT浏览器使用教程之如何使用智能问答&#xff0c; 在DT浏览器首页点智能问答&#xff0c; 在智能问答页面写上相关问题&#xff0c;点提问&#xff0c; 等待一会儿就可以显示出相关答案了&#xff0c; 点右上角保存&#xff0c;可以保存到DT浏览器的笔记本 DT浏览器是一款适合…

450nm 高功率蓝光激光模组使用多长时间需要更换

450nm蓝光激光模组以其独特的波长特性和高功率输出&#xff0c;成为了市场上备受瞩目的产品。然而&#xff0c;对于用户而言&#xff0c;了解这类高功率激光模组的使用寿命及何时需要更换&#xff0c;是确保工作效率和设备安全性的重要环节。本文将带大家了解450nm 高功率蓝光激…

华为流程框架梳理及实施

获取全部108页完成PPT材料&#xff0c;见下图

游戏发行技术体系

游戏发行技术体系 自认为一个合格的发行技术体系应该包括以下11个部分&#xff0c;并且进行了大致的初步能力划分。 其中&#xff0c;大部分的技术平台在市面上存在三方系统&#xff0c;固在左侧单独的列了一个三方&#xff0c;用来补充后续一些替代品、个人有所遗漏的内容。…