建筑物线划数据在二维平台上显示三维透视效果的方法
技术领域
本发明涉及数字制图技术领域,尤其涉及一种建筑物线划数据在二维平台上显示三维透视效果的方法。
背景技术
随着电子地图制图表达技术的发展,电子地图在终端上的显示正朝着更具仿真性、直观性的特点发展。将建筑物线划数据通过一定的处理,使之在二维平台上显示三维透视效果就是适应上述发展方向一种制图表达方法。
目前,虽然出现少量二维平台上的建筑物三维透视显示方法,但其在跨平台显示方面具有局限性,显示效率也比较低下。
发明内容
本发明的目的在于提供一种建筑物线划数据在二维平台上显示三维透视效果的方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种建筑物线划数据在二维平台上显示三维透视效果的方法,包括如下步骤:
S1,获取建筑物矢量基础数据;
S2,根据所述建筑物矢量基础数据,获取建筑物线划数据;
S3,获取所述建筑物线划数据各节点坐标,根据所述各节点坐标构建建筑物顶面;
S4,获取所述建筑物顶面各节点,根据所述建筑物线划数据各节点和所述建筑物顶面各节点,构建建筑物侧面,在二维平台上形成三维透视效果图。
优选地,S1中,所述建筑物矢量基础数据,通过遥感影像解译、航空摄影测量、数字全站仪实地测绘和/或国家基础测绘地形图获取。
优选地,S2中,所述建筑物线划数据,具备建筑物高度信息,所述高度信息通过外业实地调绘获取;所述建筑物高度信息为单位为米的高度值,或单位为层数的楼层数;所述建筑物高度信息为整型或浮点型。
优选地,S3中,所述获取所述建筑物线划数据各节点坐标,按照所述各节点坐标构建建筑物顶面,按照如下方法进行实施:
S301,获取所述建筑物线划数据各节点的顺序号、经度坐标和纬度坐标;
S302,对所述各节点的经度坐标和纬度坐标分别进行偏移,得到偏移后的各节点;
S303,将偏移后的各节点按对应的原各节点的顺序连接在一起,形成建筑物顶面。
进一步地,S301中,还包括步骤,为建筑物每个面状对象创建一个列表用于存储节点顺序号、节点经度坐标和纬度坐标。
进一步地,S302中,所述对所述各节点的经度坐标和纬度坐标分别进行偏移,按照如下公式确定偏移后的各节点的经度坐标和纬度坐标:
x=X+Δx
y=Y+Δy*h
式中,
x,偏移后的各节点的纬度坐标,
y,偏移后的各节点的经度坐标,
X,建筑物线划数据各节点的纬度坐标,
Y,建筑物线划数据各节点的经度坐标,
h,建筑物高度信息,
Δx,各节点在纬度方向的偏移量,
Δy*h,各节点在经度方向的偏移量;
其中,Δx按照如下方法获取:
根据如下公式计算得到单位纬度实地长度L的值:
L=(2*pi*a*COSθ)/360
式中,
pi,圆周率,取值3.14159265358979,
a,WGS84椭球长半轴长度,取值6378137米,
θ,建筑物线划数据所在地的纬度值,取值35°;
计算得到L=9118.77米;
而
Δx*L=Δ图x*M,
式中,
L=9118.77,
Δ图x,图上偏移量,
M,制图表达比例尺分母,取值为1000,
则,Δx取值范围为0.00000548至0.0000329之间,根据偏移方向,确定Δx的正负。
优选地,Δy按照如下方法获取:
根据单层建筑物经度方向与纬度方向偏移量一致的原则,根据下述公式计算得到Δy:
Δy*h=Δx
式中,
h,建筑物高度信息。
优选地,S4中,所述根据所述建筑物线划数据各节点和所述建筑物顶面各节点,构建建筑物侧面,按照如下方法进行实施:
S401,获取构建的建筑物顶面的各节点;
S402,在所述建筑物线划数据中选取顺序号为:k,(k+1)的两个节点,以及在所述建筑物顶面中选取顺序号为:k’,(k+1)’的两个节点,其中,顺序号为k’的节点是根据顺序号为k的节点得到的节点,顺序号为(k+1)’的节点是根据顺序号为(k+1)的节点得到的节点;其中,k为任意顺序号;
S403,将顺序号为k,(k+1),k’,(k+1)’的节点顺序连接,形成建筑物侧面。
进一步地,S3之后,还包括S4,拓扑处理:查询并消除各个面状对象之间的重叠区域。
进一步地,S4之后,还包括S5,符号表达:设置图形显示符号。
本发明的有益效果是:本发明实施例提供的一种建筑物线划数据在二维平台上显示三维透视效果的方法,通过根据建筑物线划数据各节点坐标构建建筑物顶面,再根据建筑物线划数据各节点和建筑物顶面各节点,构建建筑物侧面,在二维平台上显示三维透视效果的方法,不受制图平台的限制,而且具有高效的显示效率。
附图说明
图1是本发明实施例提供的建筑物线划数据在二维平台上显示三维透视效果的方法流程示意图;
图2是本发明实施例提供的建筑物线划数据示意图;
图3是本发明实施例提供的构建的建筑物顶面示意图;
图4是本发明实施例提供的构建的建筑物侧面示意图;
图5是本发明实施例提供的经过拓扑处理后的建筑物三维透视效果示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种建筑物线划数据在二维平台上显示三维透视效果的方法,包括如下步骤:
S1,获取建筑物矢量基础数据;
S2,根据所述建筑物矢量基础数据,获取建筑物线划数据;
S3,获取所述建筑物线划数据各节点坐标,根据所述各节点坐标构建建筑物顶面;
S4,获取所述建筑物顶面各节点,根据所述建筑物线划数据各节点和所述建筑物顶面各节点,构建建筑物侧面,在二维平台上形成三维透视效果图。
其中,S1中,所述建筑物矢量基础数据,可通过遥感影像解译、航空摄影测量、数字全站仪实地测绘和/或国家基础测绘地形图获取。
如本领域技术人员可以理解的,还可以通过其他的方式获取建筑物矢量基础数据。
S2中,所述建筑物线划数据,具备建筑物高度信息,所述高度信息通过外业实地调绘获取;所述建筑物高度信息为单位为米的高度值,或单位为层数的楼层数;所述建筑物高度信息为整型或浮点型。
如本领域技术人员可以理解的,建筑物线划数据可以理解成是具备建筑物高度信息的矢量基础数据。
本发明实施例中,S3中,所述获取所述建筑物线划数据各节点坐标,按照所述各节点坐标构建建筑物顶面,按照如下方法进行实施:
S301,获取所述建筑物线划数据各节点的顺序号、经度坐标和纬度坐标;
S302,对所述各节点的经度坐标和纬度坐标分别进行偏移,得到偏移后的各节点;
S303,将偏移后的各节点按对应的原各节点的顺序连接在一起,形成建筑物顶面。
其中,S301中,还可以包括步骤,为建筑物每个面状对象创建一个列表用于存储节点顺序号、节点经度坐标和纬度坐标。
由于建筑物有多个面状对象,所以,为了在创建的过程中更加方便快捷,可以为每个面状对象创建一个列表用于存储节点顺序号、节点经度坐标和纬度坐标,则在创建面状对象时,则可以直接从列表中找到顺序号和响应的节点或其经纬度坐标。
下面通过以下实例说明S3具体的操作过程:
假设建筑物线划数据中某个节点的顺序号为k,则其纬度坐标和经度坐标为(xk,yk),与之相邻的下一个节点的顺序号为k+1,则其纬度坐标和经度坐标为(xk+1,yk+1),依次类推,得到建筑物线划数据各节点的顺序号k+2、k+3,……,及经度坐标和纬度坐标:(xk+2,yk+2)、(xk+3,yk+3),……;
则对顺序号为k的节点进行偏移,即对该节点的纬度坐标和经度坐标进行偏移,即该节点的纬度坐标和经度坐标分别加上偏移量,即可得到与该节点对应的偏移后的节点及其坐标:k’(xk’,yk’),同理,可得到与顺序号为k+1对应的偏移后的顺序号为(k+1)’的节点坐标:(x(k+1)’,y(k+1)’),依次类推,可得到与其他顺序号对应的偏移后的其他各节点(k+2)’、(k+3)’、……,及其坐标:(x(k+2)’,y(k+2)’)、(x(k+3)’,y(k+3)’)、……。
然后,将偏移后的各节点:(k+1)’、(k+2)’、(k+3)’、……,按对应的原各节点:k+1、k+2、k+3、……的顺序连接在一起,形成建筑物的顶面。
其中,原各节点:k+1、k+2、k+3、……的顺序连接在一起形成的建筑物的底面如图2所示;
将偏移后的各节点:(k+1)’、(k+2)’、(k+3)’、……,按对应的原各节点:k+1、k+2、k+3、……的顺序连接在一起,形成的建筑物的顶面如图3所示。
在图3中,为了对比,同时显示了建筑物的底面。
现有技术通常采用与本发明中一致的方法以建筑物底面为基础构建一个与底面相同的面状对象,该对象的位置在底面的任意方向;而本发明构建的建筑物顶面,由于各节点统一向北方向偏移,确保顶面和底面的相对位置关系正确。
本发明的一个优选实施例中,S302中,所述对所述各节点的经度坐标和纬度坐标分别进行偏移,可以按照如下公式确定偏移后的各节点的经度坐标和纬度坐标:
x=X+Δx
y=Y+Δy*h
式中,
x,偏移后的各节点的纬度坐标,
y,偏移后的各节点的经度坐标,
X,建筑物线划数据各节点的纬度坐标,
Y,建筑物线划数据各节点的经度坐标,
h,建筑物高度信息,
Δx,各节点在纬度方向的偏移量,
Δy*h,各节点在经度方向的偏移量;
其中,Δx可以按照如下方法获取:
根据如下公式计算得到单位纬度实地长度L的值:
L=(2*pi*a*COSθ)/360
式中,
pi,圆周率,取值3.14159265358979,
a,WGS84椭球长半轴长度,取值6378137米,
θ,建筑物线划数据所在地的纬度值,取值35°;
计算得到L=9118.77米;
而
Δx*L=Δ图x*M,
式中,
L=9118.77,
Δ图x,图上偏移量,
M,制图表达比例尺分母,取值为1000,
则,Δx取值范围为0.00000548至0.0000329之间,根据偏移方向,确定Δx的正负。
上述方法中,θ的取值35°为中国大陆纬度范围内的平均值。
根据如下规则:坐标按经纬度单位偏移得到的公制长度应等于图上偏移换算至实地的长度,构建了公式:Δx*L=Δ图x*M。
其中,Δ图x为图上偏移量,该偏移量可视制图表达最终效果和制图表达最大比例尺自行定义,当制图表达最大比例尺为1:1000时,Δ图x取0.0005米至0.003米之间得到的显示效果最佳;
Δx的正负可根据偏移方向自行定义,比如,定义:当向东方向偏移时,Δx取正值;向西偏移时,Δx取负值;也可以定义:当向东方向偏移时,Δx取负值;向西偏移时,Δx取正值。
上述是本发明的一个优选实施例,如本领域技术人员可以理解的,在实际操作中,可在顶面构建的算法内运用不同的偏移参数生成观察方位不同的三维透视效果。
在本发明的一个优选实施例中,确定了Δx的值以后,Δy可以按照如下方法获取:
根据单层建筑物经度方向与纬度方向偏移量一致的原则,根据下述公式计算得到Δy:
Δy*h=Δx
式中,
h,建筑物高度信息。
如本领域技术人员可以理解的,当Δx的值一定时,根据获取的建筑物高度信息,即可计算出Δy。
在本发明的一个优选实施例中,S4中,所述根据所述建筑物线划数据各节点和所述建筑物顶面各节点,构建建筑物侧面,按照如下方法进行实施:
S401,获取构建的建筑物顶面的各节点;
S402,在所述建筑物线划数据中选取顺序号为:k,(k+1)的两个节点,以及在所述建筑物顶面中选取顺序号为:k’,(k+1)’的两个节点,其中,顺序号为k’的节点是根据顺序号为k的节点得到的节点,顺序号为(k+1)’的节点是根据顺序号为(k+1)的节点得到的节点;其中,k为任意顺序号;
S403,将顺序号为k,(k+1),k’,(k+1)’的节点顺序连接,形成建筑物侧面。
建筑物的每个侧面都可以由四个节点顺序连接形成,则可以按照上述方法得到建筑物的所有侧面。
本发明实施例中,按照上述方法得到的建筑物侧面,如图4所示。
现有技术通常将建筑物线划数据导入三维建模软件中构建建筑物的三维模型,再将大面积的建筑物三维模型以统一的观察角度输出为平面图片,从而在图片上得到建筑物侧面的图形。本发明与上述技术相比极大减少了建筑物侧面构建的工作量,避免了数据转换的繁琐工作。
在本发明的一个优选实施例中,S3之后,还包括S4,拓扑处理:查询并消除各个面状对象之间的重叠区域。
其中,处理方法可以采用本领域中的常用方法。
但是,通过上述方法构建完建筑物的顶面和侧面后,得到了建筑物的三维显示效果后,再进行拓扑处理,可以提高三维显示效果的显示效率。如图5所示。
经过顶面与侧面、各侧面之间的拓扑处理,最终得到的图形仅保留了确保显示出建筑物立体效果的侧面,删除了不必要侧面以及部分侧面的不必要部分,极大减少了图形总数和节点总数,因此最终图形的显示效率得到了提升。
本发明实施例中,S4之后,还包括S5,符号表达:设置图形显示符号。
通过设置图形显示符号,可以在二维平台上进行比较清晰的显示。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的一种建筑物线划数据在二维平台上显示三维透视效果的方法,通过根据建筑物线划数据各节点坐标构建建筑物顶面,再根据建筑物线划数据各节点和建筑物顶面各节点,构建建筑物侧面,在二维平台上显示三维透视效果的方法,不受制图平台的限制,而且具有高效的显示效率。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。