CN111639150A - 一种电子地图放大区域细节显示方法及系统 - Google Patents
一种电子地图放大区域细节显示方法及系统 Download PDFInfo
- Publication number
- CN111639150A CN111639150A CN202010488325.4A CN202010488325A CN111639150A CN 111639150 A CN111639150 A CN 111639150A CN 202010488325 A CN202010488325 A CN 202010488325A CN 111639150 A CN111639150 A CN 111639150A
- Authority
- CN
- China
- Prior art keywords
- rectangular window
- distance
- line
- line segment
- straight line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种电子地图放大区域细节显示方法及系统,涉及导航技术领域,包括:将待放大电子地图内的线状物体图像抽象为线段;线状物体图像包括道路图形和河流图像;获取线段的端点坐标,并根据端点坐标判断线状物体图像的斜率是否存在,得到第一判断结果;若第一判断结果表示线状物体图像的斜率存在,则确定线段所在的直线与矩形窗口各边的对应关系;线段所在的直线为线段两端无限延伸后得到的直线,矩形窗口为显示放大后的电子地图的窗口;根据线段的端点坐标和线段所在的直线与矩形窗口各边的对应关系计算线状物体图像在矩形窗口的显示部分。本发明可以实现放大区域内电子地图细节的高效显示。
Description
技术领域
本发明涉及导航技术领域,特别是涉及一种电子地图放大区域细节显示方 法及系统。
背景技术
线段裁剪在计算机图形学、计算机辅助制图、计算机辅助设计等涉及到计 算机图形图像处理和显示的领域中应用广泛,例如电子地图缩放等。在导航中, 屏幕上电子地图显示范围过大,则局部细节不能很好体现,而放大局部区域时, 则可以显示放大区域内的局部细节,相应地,所放大区域以外的细节不显示, 这其中就运用到了线段裁剪。因此,提高线段裁剪算法效率有着重要的意义。 在进行线段裁剪时,裁剪窗口多为矩形或圆形。对应在屏幕显示中,通常选用 矩形窗口。常用的矩形窗口线段裁剪算法有三种,基于区域编码的 Cohen-SutherLand算法、把线段等分两段重复测试处理的中点分割算法以及基 于向量内积符号的参数化方法。
Cohen-SutherLand算法,适用于能够简单取舍线段情形,但对于线段端点 不在同一区域的情形,处理繁琐,不能快速舍弃,需要进行递归运算,并且在 进行递归时,需要计算线段与窗口边界(或其延长线)的交点,降低了算法的 运算效率。另外,其对于裁剪窗口为圆形的情形不能很好地适用。
中点分割算法与Cohen-SutherLand算法思想大致一样。其实质是利用像素 的离散,不断对分,直到分点与线段端点距离达到分辨率精度为止。可以看出, 中点分割算法的效率随着对线段等分次数的增加呈指数级增长。
参数化方法则通过建立矩形窗口各边的内法向量以及建立线段的参数方 程,将从线段上点到窗口边界上一点对应的向量与该点所在边的内法向量作内 积运算,通过内积符号来判断线段在矩形窗口内侧的部分。参数化方法运用范 围较广,但算法比较复杂,在三维空间拓展应用不强。
发明内容
本发明的目的是提供一种电子地图放大区域细节显示方法及系统,实现放 大区域内电子地图细节的高效显示。
为实现上述目的,本发明提供了如下方案:
一种电子地图放大区域细节显示方法,包括:
将待放大电子地图内的线状物体图像抽象为线段;所述线状物体图像包括 道路图形和河流图像;
获取所述线段的端点坐标,并根据所述端点坐标判断所述线状物体图像的 斜率是否存在,得到第一判断结果;
若所述第一判断结果表示所述线状物体图像的斜率存在,则确定所述线段 所在的直线与矩形窗口各边的对应关系;所述线段所在的直线为所述线段两端 无限延伸后得到的直线,所述矩形窗口为显示放大后的电子地图的窗口;
根据所述线段的端点坐标和所述线段所在的直线与矩形窗口各边的对应 关系计算所述线状物体图像在所述矩形窗口的显示部分。
一种电子地图放大区域细节显示系统,包括:
电子地图线段获取模块,用于将待放大电子地图内的线状物体图像抽象为 线段;所述线状物体图像包括道路图形和河流图像;
端点坐标处理模块,用于获取所述线段的端点坐标,并根据所述端点坐标 判断所述线状物体图像的斜率是否存在,得到第一判断结果;
直线对应关系确定模块,用于当所述第一判断结果表示所述线状物体图像 的斜率存在时,确定所述线段所在的直线与矩形窗口各边的对应关系;所述线 段所在的直线为所述线段两端无限延伸后得到的直线,所述矩形窗口为显示放 大后的电子地图的窗口;
细节显示模块,用于根据所述线段的端点坐标和所述线段所在的直线与矩 形窗口各边的对应关系计算所述线状物体图像在所述矩形窗口的显示部分。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供一种电子地图放大区域细节显示方法及系统,通过将放大电子 地图上的线状物体图像抽象成线段,并根据线段的端点坐标判断线状物体图像 的斜率是否存在,在线状物体图像的斜率存在时,确定线段所在的直线与矩形 窗口各边的对应关系,进而实现线状物体图像在电子地图放大区域的显示。本 发明不需要进行求交运算,即可得到电子地图在放大区域的细节显示。因此, 采用本发明能够实现线状物体图像在电子地图放大区域的高效显示。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性 的前提下,还可以根据这些附图获得其他的附图。
图1为本发明电子地图放大区域细节显示方法流程图;
图2为本发明电子地图放大区域细节显示方法矩形窗口顶点在圆上示意 图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种电子地图放大区域细节显示方法及系统,实现放 大区域内电子地图细节的高效显示。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和 具体实施方式对本发明作进一步详细的说明。
实施例一
如图1所示,本实施例提供的一种电子地图放大区域细节显示方法包括:
步骤101:将待放大电子地图内的线状物体图像抽象为线段;所述线状物 体图像包括道路图形和河流图像。
步骤102:获取所述线段的端点坐标,并根据所述端点坐标判断所述线状 物体图像的斜率是否存在,得到第一判断结果;若所述第一判断结果表示所述 线状物体图像的斜率存在,则执行步骤103。若所述第一判断结果表示所述线 状物体图像的斜率不存在,则执行步骤104。
步骤103:确定所述线段所在的直线与矩形窗口各边的对应关系;所述线 段所在的直线为所述线段两端无限延伸后得到的直线,所述矩形窗口为显示放 大后的电子地图的窗口。
步骤104:根据所述线段的端点坐标的横坐标确定所述线段所在的直线与 矩形窗口各边的对应关系。
步骤105:根据所述线段的端点坐标和所述线段所在的直线与矩形窗口各 边的对应关系计算所述线状物体图像在所述矩形窗口的显示部分。
优选的,步骤103具体包括:
获取所述矩形窗口的对角线长度。
比较第二距离与第一距离的大小,得到第二比较结果;所述第一距离为矩 形窗口中心点到所述线段所在的直线的距离;所述第二距离为所述矩形窗口的 对角线长度一半的绝对值。其中,第一距离是先通过计算所述线段所在的直线 的方程,在根据所述线段所在的直线的方程和矩形窗口的中心点计算得到的。
若所述第二比较结果表示所述第二距离小于所述第一距离,则表示所述线 状物体图像在所述矩形窗口无显示部分。
若所述第二比较结果表示所述第二距离大于所述第一距离,则判断所述第 一距离是否为零,得到第三判断结果。
若所述第三判断结果表示所述第一距离不为零,则根据所述第一距离、所 述矩形窗口的长、所述矩形窗口的宽和所述矩形窗口的对角线获得所述线段所 在的直线与矩形窗口各边的对应关系。
优选的,所述根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽 和所述矩形窗口的对角线获得所述线段所在的直线与矩形窗口各边的对应关 系步骤,具体包括:
获取以矩形窗口中心为圆心,以所述第一距离为半径的圆。
根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽和所述矩形窗 口的对角线确定所述圆与所述矩形窗口的对应关系。
获取所述圆的切线,并计算所述切线斜率;所述圆的切线的一点为所述矩 形窗口的顶点。
根据所述线状物体图像的斜率、所述切线斜率和所述圆与所述矩形窗口的 对应关系,得到所述线段所在的直线与矩形窗口各边的对应关系。
优选的,所述根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽 和所述矩形窗口的对角线确定所述圆与所述矩形窗口的对应关系,具体包括:
根据所述矩形窗口的长计算第三距离,所述第三距离为所述矩形窗口长的 一半的绝对值。
根据所述矩形窗口的宽计算第四距离,所述第四距离为所述矩形窗口宽的 一半的绝对值。
分别比较所述第一距离与所述第二距离、所述第三距离和所述第四距离的 大小。
当所述第一距离大于所述第三距离且所述第一距离小于所述第二距离时, 确定所述圆与所述矩形窗口的对应关系为所述圆与所述矩形窗口四条边均各 有两个交点。
当所述第一距离大于所述第四距离且所述第一距离小于所述第三距离时, 确定所述圆与所述矩形窗口的对应关系为所述圆与所述矩形窗口的长均各有 两个交点,所述圆与所述矩形窗口的宽无交点。
当所述第一距离小于所述第四距离时,确定所述圆与所述矩形窗口的对应 关系为所述圆与所述矩形窗口的各边均无交点。
当所述第一距离等于所述第三距离时,确定所述圆与所述矩形窗口的对应 关系为所述圆与所述矩形窗口的长均各有两个交点,所述圆与所述矩形窗口的 宽均各有一个交点。
当所述第一距离等于所述第四距离时,确定所述圆与所述矩形窗口的对应 关系为所述圆与所述矩形窗口的长均各有一个交点,所述圆与所述矩形窗口的 宽均无交点。
优选的,所述根据所述线状物体图像的斜率、所述切线斜率和所述圆与所 述矩形窗口的对应关系,得到所述线段所在的直线与矩形窗口各边的对应关系 步骤,具体包括:
根据所述线状物体图像的斜率确定所述线段所在的直线的走向。
根据所述线段所在的直线的走向、所述切线斜率和所述圆与所述矩形窗口 的对应关系,得到所述线段所在的直线与矩形窗口各边的对应关系;其中,当 所述圆与所述矩形窗口四条边均各有两个交点且所述线状物体图像的斜率与 所述切线斜率相等时,确定所述线段所在的直线与矩形窗口各边的对应关系为 所述线段所在的直线与所述矩形窗口的顶点相交;当所述圆与所述矩形窗口的 各边均无交点时,确定所述线段所在的直线与矩形窗口各边的对应关系为所述 线段所在的直线与所述矩形窗口的边共有两个交点。
优选的,步骤105,具体包括:
若所述直线与所述矩形窗口没有交点,则确定所述线状物体图像在所述矩 形窗口没有显示部分。
若所述直线与所述矩形窗口存在一个交点,则判断所述矩形窗口的顶点横 坐标是否位于第一区间内,得到第四判断结果;所述第一区间为所述线段端点 坐标的横坐标最大值和所述线段端点坐标的横坐标最小值构成的区间。
若所述第四判断结果表示所述矩形窗口的顶点横坐标位于第一区间内,则 确定所述线状物体图像在所述矩形窗口的显示部分为显示顶点,所述显示顶点 为横坐标位于所述第一区间内的矩形窗口的顶点。
若所述第四判断结果表示所述矩形窗口的顶点横坐标没有位于第一区间 内,则确定所述线状物体图像在所述矩形窗口没有显示部分;
若所述直线与所述矩形窗口存在两个交点,则根据所述线段端点坐标的纵 坐标和所述交点的纵坐标计算所述线状物体图像在所述矩形窗口的显示部分; 其中,
若所述线段端点坐标的纵坐标最大值和所述线段端点坐标的纵坐标最小 值均在第二区间内,则确定所述线状物体图像在所述矩形窗口的显示部分为整 条线段;所述第二区间为所述交点的纵坐标最小值和所述交点的纵坐标最大值 构成的区间。
若所述线段端点坐标的纵坐标最小值小于所述交点的纵坐标最小值且所 述线段端点坐标的纵坐标最大值大于或者等于所述交点的纵坐标最大值,则确 定所述线状物体图像在所述矩形窗口的显示部分为两个所述交点的连线。
若所述线段端点坐标的纵坐标最大值在所述第二区间内且所述线段端点 坐标的纵坐标最小值小于所述交点的纵坐标最小值,则确定所述线状物体图像 在所述矩形窗口的显示部分为纵坐标最小值的交点与纵坐标最大值的所述线 段的端点坐标的连线。
若所述线段端点坐标的纵坐标最小值在在所述第二区间内且所述线段端 点坐标的纵坐标最大值大于所述交点的纵坐标最大值,则确定所述线状物体图 像在所述矩形窗口的显示部分为纵坐标最小值的交点与纵坐标最小值的所述 线段的端点坐标的连线。
若所述线段端点坐标的纵坐标最小值大于所述交点的纵坐标最大值或者 所述线段端点坐标的纵坐标最大值小于所述交点的纵坐标最小值,则确定所述 线状物体图像在矩形窗口没有显示部分。
优选的,还包括:若所述第二比较结果表示所述第二距离等于所述第一距 离,则获取以所述矩形窗口中心为圆心,以所述第一距离为半径的圆,并根据 所述圆过所述矩形窗口顶点所作的切线和所述第一距离得到所述线段所在的 直线与矩形窗口各边的对应关系。
优选的,还包括:若所述第三判断结果表示所第一距离为零,则根据所述 线状物体图像的斜率和所述矩形窗口的正斜率得到所述线段所在的直线与矩 形窗口各边的对应关系,所述矩形窗口的正斜率为所述矩形窗口斜率值为正的 对角线斜率。
实施例二
本实施例提供的一种电子地图放大区域细节显示系统,包括:
电子地图线段获取模块,用于将待放大电子地图内的线状物体图像抽象为 线段;所述线状物体图像包括道路图形和河流图像。
端点坐标处理模块,用于获取所述线段的端点坐标,并根据所述端点坐标 判断所述线状物体图像的斜率是否存在,得到第一判断结果。
直线对应关系确定模块,用于当所述第一判断结果表示所述线状物体图像 的斜率存在时,确定所述线段所在的直线与矩形窗口各边的对应关系;所述线 段所在的直线为所述线段两端无限延伸后得到的直线,所述矩形窗口为显示放 大后的电子地图的窗口。
细节显示模块,用于根据所述线段的端点坐标和所述线段所在的直线与矩 形窗口各边的对应关系计算所述线状物体图像在所述矩形窗口的显示部分。
优选的,所述直线对应关系确定模块,具体包括:
对角线长度获取单元,用于获取所述矩形窗口的对角线长度。
第一距离和第二距离比较单元,用于比较第二距离与第一距离的大小,得 到第二比较结果;所述第一距离为矩形窗口中心点到所述线段所在的直线的距 离;所述第二距离为所述矩形窗口的对角线长度一半的绝对值。
第一距离判断单元,用于当所述第二比较结果表示所述第二距离大于所述 第一距离时,判断所述第一距离是否为零,得到第三判断结果。
直线对应关系确定单元,用于当所述第三判断结果表示所述第一距离不为 零时,根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽和所述矩形 窗口的对角线获得所述线段所在的直线与矩形窗口各边的对应关系。
实施例三
本实施例提供一种电子地图放大区域细节显示方法的具体实施方式。电子 地图缩放中,屏幕上电子地图显示范围过大,则局部细节不能很好体现,而放 大局部区域时,则可以显示放大区域内的局部细节,所放大区域以外的细节不 显示。在屏幕显示中,通常选用矩形窗口。将选择放大的区域抽象为矩形,而 电子地图中的河流、道路、电路等线状物体在局部区域上可抽象为线段,森林、 平原、山地等面状物体可抽象为多边形。确定线状物体在放大区域的显示内容 就运用到了计算机图形学中的线段裁剪,而确定面状物体在放大区域的显示内 容可以由确定其对应的各边在放大区域的显示内容得到。电子地图中的河流、 道路、电路等线状物体在放大区域的显示内容流程具体如下。
步骤一:建立平面直角坐标系;平面直角坐标系以矩形窗口中心为原点O, 以与矩形窗口长边平行的直线为x轴,以与矩形窗口宽边平行的直线为y轴。 矩形窗口长为l,宽为w,其中,l>w,对角线长为ld,正斜率(即从矩形窗口 左下顶点P3到右上顶点P1的对角线斜率)为kd,kd对应的夹角为θ。其中, 矩形窗口为显示放大后的电子地图的窗口。设定矩形窗口的长边分别为Ltop、 Lbottom,宽边分别为Lleft、Lright。Lbottom、Lright、Ltop、Lleft呈逆时针顺序连接形成矩 形窗口。
电子地图中的河流、道路、电路等在局部区域上抽象为线段MN,线段 MN的端点为M(xm,ym)、N(xn,yn),对线段MN进行预处理,将线段 MN上所有点的横坐标最小值赋值给xmin,横坐标最大值赋值给xmax。同理,将 所有点的纵坐标最小值赋值给ymin,纵坐标最大值赋值给ymax。
步骤二:判断直线MN斜率即线状物体图像的斜率是否存在。
若xmin=xmax,表示直线MN斜率不存在。第一距离d可转化为判断直线MN 横坐标与矩形窗口左右两边横坐标xl、xr的距离,对应的情形如表2.1所示。 表2.1为直线MN斜率不存在是对应情形表。若xmin≠xmax,即直线MN斜率存 在,执行步骤三。
表2.1直线MN斜率不存在时对应情形
条件 | 符合情形 |
x<sub>max</sub><x<sub>l</sub>或x<sub>min</sub>>x<sub>r</sub> | 1.1 |
x<sub>max</sub>=x<sub>l</sub> | 4.1 |
x<sub>l</sub><x<sub>max</sub><x<sub>r</sub> | 3.5 |
x<sub>max</sub>=x<sub>r</sub> | 4.2 |
步骤三:根据第一距离d所在区间,结合直线MN斜率为k,判断直线MN 与矩形窗口边的关系对应情形。
直线MN斜率存在时,记直线MN斜率为k,其在y轴上的截距为b,则
b=ym-kxm
(二)当d=0时,直线MN通过矩形窗口中心O,对应情形如表3.1所示, 表3.1为直线MN斜率存在,d=0时对应情形表。
表3.1直线MN斜率存在,d=0时对应情形
条件 | 符合情形 |
k<=-k<sub>d</sub>或k>=k<sub>d</sub> | 3.5 |
-k<sub>d</sub><k<k<sub>d</sub>(包括k为0) | 3.6 |
(三)当时,以矩形窗口中心O为圆心,以第一距离的绝对值d为 半径,画圆,当时,过矩形窗口四个顶点作圆的切线(矩形窗口顶点在 圆上,过每个顶点的切线各有1条),如图2所示。过矩形窗口顶点P1、P2、 P3、P4分别做圆O的切线l1、l2、l3、l4(l1、l2、l3、l4的斜率分别为k1、k2、k3、 k4)。通过比较直线MN斜率与过顶点的切线斜率,得到直线MN与矩形窗口 边的关系对应的情形(以为例),即可得到线段MN在矩形窗口显示部分。其中,不难得出,
(四)当且d≠0时,以矩形窗口中心O为圆心,以第一距离的 绝对值d为半径,画圆,当且d≠0时,过矩形窗口四个顶点作圆的 切线(矩形窗口顶点在圆外,过每个顶点的切线各有2条),过顶点P1分别做 圆O的切线l1、l2,过顶点P2分别做圆O的切线l3、l4,过顶点P3分别做圆O 的切线l5、l6,过顶点P4分别做圆O的切线l7、l8。通过比较直线MN斜率与 过顶点的切线斜率,得到直线MN与矩形窗口边的关系对应的情形,即可得到 线段MN在矩形窗口显示部分。
设过矩形窗口右上顶点P1的切线斜率为kt(l1、l2对应的两条直线斜率为 k1、k2),切线方程可表示为y-yt=kt(x-xr),即ktx-y+yt-ktxr=0。
将矩形窗口中心O的坐标代入,得矩形窗口中心O到切线距离
l3、l4对应的直线斜率分别为k3、k4,同理得
l5、l6、l7、l8对应的直线斜率分别为k5、k6、k7、k8,由对称性可得k1=k5、 k2=k6、k3=k7、k4=k8。
条件 | 符合情形 |
k<k<sub>1</sub>或k<sub>2</sub><k<k<sub>7</sub>(包括k为0)或k>k<sub>8</sub> | 1.2 |
k=k<sub>1</sub>或k=k<sub>2</sub> | 2.1 |
k<sub>1</sub><k<k<sub>2</sub> | 3.4 |
k=k<sub>7</sub>或k=k<sub>8</sub> | 2.4 |
k<sub>7</sub><k<k<sub>8</sub> | 3.3 |
(2)当时,圆O与边Lbottom、Ltop各有两个交点,与边Lleft、Lright没有交点,如图4所示。分析可知k8<k2<0<k7<k1,对应情形如表3.5所示,表 3.5为直线MN斜率存在,时对应情形表。
条件 | 符合情形 |
k<=k<sub>8</sub>或k>=k<sub>1</sub> | 3.5 |
k<sub>8</sub><k<k<sub>3</sub> | 3.4 |
k<sub>3</sub>=<k<=k<sub>6</sub>(包括k为0) | 3.6 |
k<sub>6</sub><k<k<sub>1</sub> | 3.3 |
条件 | 符合情形 |
k<=k<sub>4</sub>或k>=k<sub>5</sub> | 3.5 |
k<sub>4</sub><k<k<sub>7</sub> | 3.2 |
k<sub>7</sub><=k<=k<sub>2</sub>(包括k为0) | 3.6 |
k<sub>2</sub><k<k<sub>5</sub> | 3.3 |
(5)当时,圆O与边Lbottom、Ltop各有两个交点,与边Lleft、Lright没 有交点,如图6所示。分析可知k4<k6<0<k3<k5,对应情形如表3.8所示,表 3.8直线MN斜率存在,时对应情形表。
条件 | 符合情形 |
k<=k<sub>4</sub>或k>=k<sub>5</sub> | 3.5 |
k<sub>4</sub><k<k<sub>6</sub> | 3.2 |
k=k<sub>6</sub> | 2.3 |
k<sub>6</sub><k<k<sub>3</sub>(包括k为0) | 1.2 |
k=k<sub>3</sub> | 2.2 |
k<sub>3</sub><k<k<sub>5</sub> | 3.1 |
直线l1、l8通过矩形窗口边Lright,且与x轴垂直,直线l1、l8的斜率不存在。 直线l2、l7对应的斜率为k2、k7,过O点作直线l1、l2垂线,垂足为P、Q,不 难得出,三角形P1OP全等于三角形P1OQ,∠P1OP=∠P1OQ,又因为∠OP1P2=∠P1OQ=θ, 故k2对应的夹角θ2与kd对应的夹角θ关系为所以,
直线l4、l5通过矩形窗口边Lleft,直线l4、l5与x轴垂直,直线l4、l5的斜率不 存在。直线l3、l6对应的斜率为k3、k6,同理得,k3、k6对应的夹角θ3、θ6与kd对 应的夹角θ关系为所以,
条件 | 符合情形 |
k<k<sub>6</sub> | 3.2 |
k=k<sub>6</sub> | 2.3 |
k<sub>6</sub><k<k<sub>3</sub>(包括k为0) | 1.2 |
k=k<sub>3</sub> | 2.2 |
k>k<sub>3</sub> | 3.1 |
直线l2、l7通过矩形窗口边Ltop、Lbottom,直线l2、l7与y轴垂直,直线l2、l7的 斜率为0。直线l1、l8对应的斜率为k1、k8,同理得,k1、k8对应的夹角θ1、θ8与kd对应的夹角θ关系为θ1=2θ,θ8=π-2θ,所以,
条件 | 符合情形 |
k<=k<sub>8</sub>或k>=k<sub>1</sub> | 3.5 |
k<sub>8</sub><k<0 | 3.4 |
k=0 | 4.3 |
0<k<k<sub>1</sub> | 3.3 |
直线l3、l6通过矩形窗口边Ltop、Lbottom,直线l3、l6与y轴垂直,直线l3、l6的 斜率为0。直线l4、l5对应的斜率为k4、k5,同理得,k4、k5对应的夹角θ4、θ5与 kd对应的夹角θ关系为θ4=π-2θ,θ5=2θ,所以,
步骤四:结合线段MN端点区间,以及利用直线MN斜率k正负性质和直 线MN与矩形窗口各边的对应关系,得出线段MN在矩形窗口的显示部分。
基于以上,将直线MN与矩形窗口各边的关系及线段MN在矩形窗口的 显示部分分为以下几种情形。
情形1、直线MN与矩形窗口边没有交点,共有2种情形,线段MN在矩 形窗口没有显示部分,舍弃。
情形1.1、直线MN斜率不存在。
情形1.2、直线MN斜率存在。
情形2、直线MN与矩形窗口边只有1个交点,共有4种情形,直线MN 只与矩形窗口顶点相交。比较对应顶点横坐标是否在区间[xmin,xmax]上,若在, 线段MN在矩形窗口显示部分为相应顶点;否则,线段MN在矩形窗口没有 显示部分,舍弃。
情形2.1、直线MN只与矩形窗口右上顶点P1相交。
情形2.2、直线MN只与矩形窗口左上顶点P2相交。
情形2.3、直线MN只与矩形窗口左下顶点P3相交。
情形2.4、直线MN只与矩形窗口右下顶点P4相交。
情形3.1、直线MN与矩形窗口边Lleft、Ltop相交,此时k>0,直线MN与矩形窗口有两个交点E(xe,ye)、F(xf,yf),分别在边Lleft、Ltop上, xe=xl<xf,yf=yt>ye。另外,由于k>0,线段MN端点坐标形式为(xmin,ymin)、 (xmax,ymax)。线段MN在矩形窗口显示部分如表4.1所示,表4.1为直线MN 与矩形窗口边Lleft、Ltop相交时线段MN在矩形窗口显示部分表。
表4.1直线MN与矩形窗口边Lleft、Ltop相交时线段MN在矩形窗口显示部分
情形3.2、直线MN与矩形窗口边Lleft、Lbottom相交,此时k<0,直线MN与矩形窗口有两个交点E(xe,ye)、F(xf,yf),分别在边Lleft、Lbottom上, xe=xl<xf,yf=yb<ye。同理,线段MN在矩形窗口显示部分如表4.2所示,表 4.2为直线MN与矩形窗口边Lleft、Lbottom相交时线段MN在矩形窗口显示部分表。
表4.2直线MN与矩形窗口边Lleft、Lbottom相交时线段MN在矩形窗口显示部分
情形3.3、直线MN与矩形窗口边Lbottom、Lright相交,此时k>0,直线MN与矩形窗口有两个交点E(xe,ye)、F(xf,yf),分别在边Lbottom、Lright上,xf=xr>xe,ye=yb<yf。同理,线段MN在矩形窗口显示部分如表4.3所示,表 4.3为直线MN与矩形窗口边Lbottom、Lright相交时线段MN在矩形窗口显示部分 表。
表4.3直线MN与矩形窗口边Lbottom、Lright相交时线段MN在矩形窗口显示部分
情形3.4、直线MN与矩形窗口边Ltop、Lright相交,此时k<0,直线MN与矩形窗口有两个交点E(xe,ye)、F(xf,yf),分别在边Ltop、Lright上, xf=xr>xe,ye=yt>yf。同理,线段MN在矩形窗口显示部分如表4.4所示,表 4.4为直线MN与矩形窗口边Ltop、Lright相交时线段MN在矩形窗口显示部分表。
表4.4直线MN与矩形窗口边Ltop、Lright相交时线段MN在矩形窗口显示部分
情形3.5、直线MN与矩形窗口边Lbottom、Ltop相交,此时k<=-kd或k>=kd, 直线MN与矩形窗口有两个交点E(xe,ye)、F(xf,yf),分别在边Lbottom、 Ltop上,ye=yb,yf=yt。线段MN在矩形窗口显示部分如表4.5所示,表4.5为 直线MN与矩形窗口边Lbottom、Ltop相交时线段MN在矩形窗口显示部分表。
表4.5直线MN与矩形窗口边Lbottom、Ltop相交时线段MN在矩形窗口显示部分
情形3.6、直线MN与矩形窗口边Lleft、Lright相交,此时,-kd<=k<=kd,直线MN与矩形窗口有两个交点E(xe,ye)、F(xf,yf),分别在边Lleft、Lright上, xe=xl,xf=xr。线段MN在矩形窗口显示部分如表4.6所示,表4.6为直线MN 与矩形窗口边Lleft、Lright相交时线段MN在矩形窗口显示部分表。
表4.6直线MN与矩形窗口边Lleft、Lright相交时线段MN在矩形窗口显示部分
情形4.1、直线MN与矩形窗口边Lleft重合,此时k不存在。直线MN与矩 形窗口边Lbottom、Ltop交点E、F就是P3、P2,可将其看成情形3.5。
情形4.2、直线MN与矩形窗口边Lright重合,此时k不存在。直线MN与矩 形窗口边Lbottom、Ltop交点E、F就是P4、P1,可将其看成情形3.5。
情形4.3、直线MN与矩形窗口边Ltop重合,此时k为0。直线MN与矩形 窗口边Lleft、Lright交点E、F就是P2、P1,可将其看成情形3.6。
情形4.4、直线MN与矩形窗口边Lbottom重合,此时k为0。直线MN与矩 形窗口边Lleft、Lright交点E、F就是P3、P4,可将其看成情形3.6。
至此,电子地图中的河流、道路、电路等线状物体在放大区域的显示内容 问题得到了解决。
本发明提供的方法,即作圆O,若过矩形窗口四个顶点在圆内,则直线与 矩形窗口各边无交点,线段在矩形窗口没有显示部分;否则,过顶点作圆的切 线,通过比较线段所在直线斜率与切线斜率,得到直线与矩形窗口边的关系对 应的情形,再结合线段MN端点坐标,得到线段MN在矩形窗口显示部分, 实现矩形窗口线段裁剪。本发明提供的方法简单易懂,不需进行求交运算,线 段裁剪效率得到优化,且能够达到预期效果。另外,当窗口为圆形时,该方法 可更为精简。当推广到三维线段裁剪中,该方法仍可适用,以长方体中心为半径,其到三维线段距离为半径作球,过长方体顶点作球的切线,通过距离以及 三维线段斜率大小分类讨论,即可实现。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是 与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于 实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较 简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施 例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变 之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种电子地图放大区域细节显示方法,其特征在于,包括:
将待放大电子地图内的线状物体图像抽象为线段;所述线状物体图像包括道路图形和河流图像;
获取所述线段的端点坐标,并根据所述端点坐标判断所述线状物体图像的斜率是否存在,得到第一判断结果;
若所述第一判断结果表示所述线状物体图像的斜率存在,则确定所述线段所在的直线与矩形窗口各边的对应关系;所述线段所在的直线为所述线段两端无限延伸后得到的直线,所述矩形窗口为显示放大后的电子地图的窗口;
根据所述线段的端点坐标和所述线段所在的直线与矩形窗口各边的对应关系计算所述线状物体图像在所述矩形窗口的显示部分。
2.根据权利要求1所述的电子地图放大区域细节显示方法,其特征在于,所述确定所述线段所在的直线与矩形窗口各边的对应关系,具体包括:
获取所述矩形窗口的对角线长度;
比较第二距离与第一距离的大小,得到第二比较结果;所述第一距离为矩形窗口中心点到所述线段所在的直线的距离;所述第二距离为所述矩形窗口的对角线长度一半的绝对值;
若所述第二比较结果表示所述第二距离小于所述第一距离,则表示所述线状物体图像在所述矩形窗口无显示部分;
若所述第二比较结果表示所述第二距离大于所述第一距离,则判断所述第一距离是否为零,得到第三判断结果;
若所述第三判断结果表示所述第一距离不为零,则根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽和所述矩形窗口的对角线获得所述线段所在的直线与矩形窗口各边的对应关系。
3.根据权利要求2所述的电子地图放大区域细节显示方法,其特征在于,所述根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽和所述矩形窗口的对角线获得所述线段所在的直线与矩形窗口各边的对应关系,具体包括:
获取以矩形窗口中心为圆心,以所述第一距离为半径的圆;
根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽和所述矩形窗口的对角线确定所述圆与所述矩形窗口的对应关系;
获取所述圆的切线,并计算所述切线斜率;所述圆的切线的一点为所述矩形窗口的顶点;
根据所述线状物体图像的斜率、所述切线斜率和所述圆与所述矩形窗口的对应关系,得到所述线段所在的直线与矩形窗口各边的对应关系。
4.根据权利要求3所述的电子地图放大区域细节显示方法,其特征在于,所述根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽和所述矩形窗口的对角线确定所述圆与所述矩形窗口的对应关系,具体包括:
根据所述矩形窗口的长计算第三距离,所述第三距离为所述矩形窗口长的一半的绝对值;
根据所述矩形窗口的宽计算第四距离,所述第四距离为所述矩形窗口宽的一半的绝对值;
分别比较所述第一距离与所述第二距离、所述第三距离和所述第四距离的大小;
当所述第一距离大于所述第三距离且所述第一距离小于所述第二距离时,确定所述圆与所述矩形窗口的对应关系为所述圆与所述矩形窗口四条边均各有两个交点;
当所述第一距离大于所述第四距离且所述第一距离小于所述第三距离时,确定所述圆与所述矩形窗口的对应关系为所述圆与所述矩形窗口的长均各有两个交点,所述圆与所述矩形窗口的宽无交点;
当所述第一距离小于所述第四距离时,确定所述圆与所述矩形窗口的对应关系为所述圆与所述矩形窗口的各边均无交点;
当所述第一距离等于所述第三距离时,确定所述圆与所述矩形窗口的对应关系为所述圆与所述矩形窗口的长均各有两个交点,所述圆与所述矩形窗口的宽均各有一个交点;
当所述第一距离等于所述第四距离时,确定所述圆与所述矩形窗口的对应关系为所述圆与所述矩形窗口的长均各有一个交点,所述圆与所述矩形窗口的宽均无交点。
5.根据权利要求3所述的电子地图放大区域细节显示方法,其特征在于,所述根据所述线状物体图像的斜率、所述切线斜率和所述圆与所述矩形窗口的对应关系,得到所述线段所在的直线与矩形窗口各边的对应关系,具体包括:
根据所述线状物体图像的斜率确定所述线段所在的直线的走向;
根据所述线段所在的直线的走向、所述切线斜率和所述圆与所述矩形窗口的对应关系,得到所述线段所在的直线与矩形窗口各边的对应关系;其中,当所述圆与所述矩形窗口四条边均各有两个交点且所述线状物体图像的斜率与所述切线斜率相等时,确定所述线段所在的直线与矩形窗口各边的对应关系为所述线段所在的直线与所述矩形窗口的顶点相交;当所述圆与所述矩形窗口的各边均无交点时,确定所述线段所在的直线与矩形窗口各边的对应关系为所述线段所在的直线与所述矩形窗口的边共有两个交点。
6.根据权利要求1所述的电子地图放大区域细节显示方法,其特征在于,所述根据所述线段的端点坐标和所述线段所在的直线与矩形窗口各边的对应关系计算所述线状物体图像在所述矩形窗口的显示部分,具体包括:
若所述直线与所述矩形窗口没有交点,则确定所述线状物体图像在所述矩形窗口没有显示部分;
若所述直线与所述矩形窗口存在一个交点,则判断所述矩形窗口的顶点横坐标是否位于第一区间内,得到第四判断结果;所述第一区间为所述线段端点坐标的横坐标最大值和所述线段端点坐标的横坐标最小值构成的区间;
若所述第四判断结果表示所述矩形窗口的顶点横坐标位于第一区间内,则确定所述线状物体图像在所述矩形窗口的显示部分为显示顶点,所述显示顶点为横坐标位于所述第一区间内的矩形窗口的顶点;
若所述第四判断结果表示所述矩形窗口的顶点横坐标没有位于第一区间内,则确定所述线状物体图像在所述矩形窗口没有显示部分;
若所述直线与所述矩形窗口存在两个交点,则根据所述线段端点坐标的纵坐标和所述交点的纵坐标计算所述线状物体图像在所述矩形窗口的显示部分;其中,
若所述线段端点坐标的纵坐标最大值和所述线段端点坐标的纵坐标最小值均在第二区间内,则确定所述线状物体图像在所述矩形窗口的显示部分为整条线段;所述第二区间为所述交点的纵坐标最小值和所述交点的纵坐标最大值构成的区间;
若所述线段端点坐标的纵坐标最小值小于所述交点的纵坐标最小值且所述线段端点坐标的纵坐标最大值大于或者等于所述交点的纵坐标最大值,则确定所述线状物体图像在所述矩形窗口的显示部分为两个所述交点的连线;
若所述线段端点坐标的纵坐标最大值在所述第二区间内且所述线段端点坐标的纵坐标最小值小于所述交点的纵坐标最小值,则确定所述线状物体图像在所述矩形窗口的显示部分为纵坐标最小值的交点与纵坐标最大值的所述线段的端点坐标的连线;
若所述线段端点坐标的纵坐标最小值在在所述第二区间内且所述线段端点坐标的纵坐标最大值大于所述交点的纵坐标最大值,则确定所述线状物体图像在所述矩形窗口的显示部分为纵坐标最小值的交点与纵坐标最小值的所述线段的端点坐标的连线;
若所述线段端点坐标的纵坐标最小值大于所述交点的纵坐标最大值或者所述线段端点坐标的纵坐标最大值小于所述交点的纵坐标最小值,则确定所述线状物体图像在矩形窗口没有显示部分。
7.根据权利要求2所述的电子地图放大区域细节显示方法,其特征在于,还包括:若所述第二比较结果表示所述第二距离等于所述第一距离,则获取以所述矩形窗口中心为圆心,以所述第一距离为半径的圆,并根据所述圆过所述矩形窗口顶点所作的切线和所述第一距离得到所述线段所在的直线与矩形窗口各边的对应关系。
8.根据权利要求2所述的电子地图放大区域细节显示方法,其特征在于,还包括:若所述第三判断结果表示所述第一距离为零,则根据所述线状物体图像的斜率和所述矩形窗口的正斜率得到所述线段所在的直线与矩形窗口各边的对应关系,所述矩形窗口的正斜率为所述矩形窗口斜率值为正的对角线斜率。
9.一种电子地图放大区域细节显示系统,其特征在于,包括:
电子地图线段获取模块,用于将待放大电子地图内的线状物体图像抽象为线段;所述线状物体图像包括道路图形和河流图像;
端点坐标处理模块,用于获取所述线段的端点坐标,并根据所述端点坐标判断所述线状物体图像的斜率是否存在,得到第一判断结果;
直线对应关系确定模块,用于当所述第一判断结果表示所述线状物体图像的斜率存在时,确定所述线段所在的直线与矩形窗口各边的对应关系;所述线段所在的直线为所述线段两端无限延伸后得到的直线,所述矩形窗口为显示放大后的电子地图的窗口;
细节显示模块,用于根据所述线段的端点坐标和所述线段所在的直线与矩形窗口各边的对应关系计算所述线状物体图像在所述矩形窗口的显示部分。
10.根据权利要求9所述的电子地图放大区域细节显示系统,其特征在于,所述直线对应关系确定模块,具体包括:
对角线长度获取单元,用于获取所述矩形窗口的对角线长度;
第一距离和第二距离比较单元,用于比较第二距离与第一距离的大小,得到第二比较结果;所述第一距离为矩形窗口中心点到所述线段所在的直线的距离;所述第二距离为所述矩形窗口的对角线长度一半的绝对值;
第一距离判断单元,用于当所述第二比较结果表示所述第二距离大于所述第一距离时,判断所述第一距离是否为零,得到第三判断结果;
直线对应关系确定单元,用于当所述第三判断结果表示所述第一距离不为零时,根据所述第一距离、所述矩形窗口的长、所述矩形窗口的宽和所述矩形窗口的对角线获得所述线段所在的直线与矩形窗口各边的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488325.4A CN111639150B (zh) | 2020-06-02 | 2020-06-02 | 一种电子地图放大区域细节显示方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010488325.4A CN111639150B (zh) | 2020-06-02 | 2020-06-02 | 一种电子地图放大区域细节显示方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111639150A true CN111639150A (zh) | 2020-09-08 |
CN111639150B CN111639150B (zh) | 2023-09-19 |
Family
ID=72331436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010488325.4A Active CN111639150B (zh) | 2020-06-02 | 2020-06-02 | 一种电子地图放大区域细节显示方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111639150B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110316875A1 (en) * | 2009-06-10 | 2011-12-29 | Actions Semiconductor Co., Ltd. | Method and device for processing vector graphics |
CN103544720A (zh) * | 2013-10-29 | 2014-01-29 | 无锡北邮感知技术产业研究院有限公司 | 在平面房间图上快速绘制门窗的方法 |
CN108120444A (zh) * | 2016-11-29 | 2018-06-05 | 高德信息技术有限公司 | 一种电子地图数据处理方法及装置 |
CN108960566A (zh) * | 2018-05-29 | 2018-12-07 | 高新兴科技集团股份有限公司 | 一种交通可视化监控系统 |
-
2020
- 2020-06-02 CN CN202010488325.4A patent/CN111639150B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110316875A1 (en) * | 2009-06-10 | 2011-12-29 | Actions Semiconductor Co., Ltd. | Method and device for processing vector graphics |
CN103544720A (zh) * | 2013-10-29 | 2014-01-29 | 无锡北邮感知技术产业研究院有限公司 | 在平面房间图上快速绘制门窗的方法 |
CN108120444A (zh) * | 2016-11-29 | 2018-06-05 | 高德信息技术有限公司 | 一种电子地图数据处理方法及装置 |
CN108960566A (zh) * | 2018-05-29 | 2018-12-07 | 高新兴科技集团股份有限公司 | 一种交通可视化监控系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111639150B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101013052B1 (ko) | 트리맵의 가시성을 향상시키는 방법 및 장치 | |
US8253736B2 (en) | Reducing occlusions in oblique views | |
WO2000011562A1 (en) | Apparatus and method for performing setup operations in a 3-d graphics pipeline using unified primitive descriptors | |
CN102214369A (zh) | 移位参数曲面的分层包围 | |
Miura et al. | Grid drawings of 4-connected plane graphs | |
CN115346012B (zh) | 路口面的生成方法、装置、设备、存储介质和程序产品 | |
CN111259297A (zh) | 一种面向知识图谱的交互可视化方法、平台和系统 | |
CA2010967C (en) | Method and apparatus for clipping polygons | |
CN111666365A (zh) | 电子地图服务根据授权区域快速过滤显示的方法 | |
CN113808243B (zh) | 一种可形变雪地网格的绘制方法和装置 | |
CN111639150A (zh) | 一种电子地图放大区域细节显示方法及系统 | |
CN103310409A (zh) | 一种Tile-based渲染架构GPU的三角形快速分块方法 | |
CN112784175A (zh) | 兴趣点数据处理方法、装置、设备及存储介质 | |
Dyken et al. | Preferred directions for resolving the non-uniqueness of Delaunay triangulations | |
CN108230424B (zh) | 一种线条显示方法及线条显示系统 | |
CN114328783A (zh) | 地图数据输出方法、地图数据处理方法、装置和电子设备 | |
CN112614209B (zh) | 一种流程图刷新时的元素重绘方法及系统 | |
CN112414428B (zh) | 导航信息的显示方法、装置、电子设备及存储介质 | |
WO2023005104A1 (zh) | 一种多视图展示方法、装置、设备和介质 | |
JP3367506B2 (ja) | 画像処理装置および画像処理方法 | |
Miura et al. | Grid drawings of four-connected plane graphs | |
US20020171643A1 (en) | Surface generator unit for and method of approximating an implicit surface and image display apparatus comprising the surface generator unit | |
CN116932120B (zh) | 地图底图的可视化页面缩放方法、装置和电子设备 | |
CN113658033B (zh) | 一种计算给定区域内部点集的gpu方法 | |
JP7468194B2 (ja) | 表示プログラム、表示方法、表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |