三维GIS在房产室内信息系统中的应用

2016-12-20 09:59杨智云段洋利赵子维
测绘通报 2016年11期
关键词:碰撞检测漫游信息系统

黄 轲,黄 盖,杨智云,段洋利,赵子维

(巴州国土资源勘测规划设计院,新疆 库尔勒 841000)



三维GIS在房产室内信息系统中的应用

黄 轲,黄 盖,杨智云,段洋利,赵子维

(巴州国土资源勘测规划设计院,新疆 库尔勒 841000)

三维房产室内信息可为消费者提供逼真的视觉服务,可更好地适应现代房产交易的发展需求。本文结合OpenGL和3ds Max技术研究了基于三维GIS的房产室内信息系统。介绍了三维GIS在房产信息系统应用中的数据组织采集管理方式、系统的功能模块设计及系统的实现3个部分;着重研究了利用3ds Max和OpenGL实现室内编辑、漫游显示、碰撞检测及文件读取重绘等功能;实现了室内信息的三维漫游显示、室内信息编辑修改功能,满足了客户的真三维视觉体验的要求及室内信息实时编辑修改的需求;最后指出了系统的不足之处和在其他领域的应用价值。

三维GIS;房产室内信息系统;OpenGL;3ds Max

目前GIS已经应用于房地产信息的管理。特别是WebGIS的应用,为购房者提供了一种更加便捷、直观的考察房源手段。购房者足不出户就能通过网络找到自己感兴趣的楼盘信息和楼盘图片[1]。当前网络上主要是提供房间的二维图片及测绘信息,广大购房者除了实地观察,只能通过一些房产数据或平面图片来了解室内情况。然而购房者不仅希望看到室外景观,更希望看到室内的布局。从室外进入室内是数字城市尤其是数字房产进一步发展的必然[2],因而GIS的另一大重要分支三维GIS将会发挥重要作用。

三维GIS不仅能表达空间对象间的平面关系和垂向关系,而且能对其进行三维空间分析和操作,向用户立体展现地理空间现象,给人以更真实的感受[3]。如果能够基于三维GIS建立室内三维系统,就可以使大量的二维测绘数据得到合理的应用,能够为购房者提供不小的方便,只需要鼠标轻轻一点,便可以省去多次奔波于实地的房屋观察,具有很大的应用价值。

通过自动或半自动的方法提取建筑物信息从而重建三维模型一直是国内外学者关注的热点问题,并已有大量深入的研究[4-5]。但大多是对建筑物外表面进行建模[6-7],而缺少建筑物内部完整精密信息的表达[8]。纵观国内外三维GIS的研发现状,有3种途径实现三维GIS[9]:一是利用已有的三维引擎对三维场景进行开发;二是利用比较成熟的三维显示插件进行三维场景显示;三是通过GIS平台所提供的三维API进行二次开发。本文主要采用OpenGL三维引擎进行底层开发,利用3ds Max建模,其优点是三维模型的显示和渲染效率较高。

一、房产室内信息系统概述

1. 开发目标

房产室内信息系统开发的主要目的是为购房者提供一种能够交互的媒体,可以全面、清晰和直观地浏览房屋信息、结构和室内布局,并能够自主布置室内细节物体。围绕着上述目的,结合三维GIS技术特点,可以将房产室内信息系统的开发目标定义为借助数字摄影、激光扫描等先进的空间数据获取手段,在已有二维测绘数据及各种属性数据的基础上,通过图形图像、计算机可视化等信息处理方法,结合数据库管理和网络信息等技术,开发一个集室内三维模型、三维漫游浏览、室内模型编辑、室内信息查询一体化的信息系统。

2. 数据采集和组织

房产数据采集和组织主要分为以下3种:

1) 房间结构及门窗数据:房间结构及门窗作为房屋的整体架构对于建立室内三维模型有着非常重要的地位。数据的获得即在AutoCAD中导入建筑平面设计图DXF文件作为背景,然后对房间结构和门窗分别进行数字化采集,并分别存储为多边形图层和线状图层,同时在数据库中建立“房间-门窗”关系表。

2) 3ds Max模型数据:首先借助数字摄影等手段获取室内材质图片信息,然后根据室内地物数据和材质信息手工建立3ds Max模型,存储为3DS文件格式。从3DS文件中读取相应的3D模型信息,包括位置、长度、宽度、高度、大小比例、旋转角度,并在数据库中建立“房间-3D模型”关系表。

3) 室内属性信息数据:主要将楼层、面积、结构、价格等室内信息录入数据库中,建立室内信息数据表。

3. 系统模块设计

系统功能如图1所示,主要分为以下4个部分:

1) 室内三维建模又分为两部分:一是自动建模,主要是根据二维测量数据对室内的整体架构(墙壁、门、窗、梯角线)进行自动建模;二是根据3ds Max进行复杂建模。利用文件读取算法,将3ds Max创建的模型数据读出来,然后利用这些数据在OpenGL环境中重新构建三维模型,从而免去直接利用OpenGL构建复杂模型这一繁杂工作。

2) 三维漫游浏览:通过鼠标和键盘操作来控制飞行速度、视角和视野范围,使用者能够在三维室内中自由“行走”,浏览室内房间结构和布局。漫游的同时还要根据房间数据及3ds Max模型数据进行碰撞检测,以使漫游更加真实。

3) 室内模型编辑:可以对室内地物如家具、电器及厨具等细节物体进行平移、布置、更新、放大、缩小、旋转等编辑操作。

4) 室内信息查询:主要包括楼层、面积、结构、价格、配套设施、售房情况及其他需要赋予的信息。使用者轻点鼠标即可查询到每套房子的结构和价格等信息。

图1 系统功能设计

二、系统实现

系统采用Visual Studio 2012的开发环境,利用3ds Max建立三维室内模型,通过OpenGL编程操纵模型,结合SQL数据库管理,实现室内漫游、编辑和信息查询。

1. 3DS文件读取与重绘

3DS文件是较为通用的一种3D模型文件,在3ds Max和AutoCAD中都能使用,该系统也使用该模型文件。

要读取3DS文件就要先了解3DS文件的组成结构。3DS模型文件的基本构成单位是块,块是相互嵌套的。块包括块头和主体内容两部分,块头又由块ID和块长度两部分组成,主体内容是块的数据信息[10]。3DS文件中的数据存储规则是高位在前,低位在后。3DS有一个主块,其主块ID就是用来判断3DS文件的起始位置;而模型的顶点信息、材质信息、纹理信息等则组织为次级块,次级块也都是由ID号进行标识的,在程序中可以通过ID号来读取所需要的信息。

根据文件格式,递归读取每一个对象块的颜色、顶点、面、纹理及材质等信息,然后设置绘制大小和显示位置进行重绘。

2. OpenGL 漫游

OpenGL是独立于操作系统和硬件环境的三维图形软件库。由于其开放性和高度的可重用性,目前已成为业界标准。很多优秀的软件如著名的动画制作软件3ds Max、三维仿真平台VegaPrime、三维可视化软件ArcGlobe均是基于OpenGL平台进行开发的[11]。

在现实生活中我们是通过眼睛来看周围的物体,眼睛移动,周围的物体也随之移动,从而达到漫游的效果。在OpenGL中可以利用gluLookAt(GLdouble eyex、GLdouble eyey、GLdouble eyez、GLdouble centerx、GLdouble centery、Gldouble centerz、GLdouble upx、GLdouble upy、Gldouble upz)函数来实现漫游,利用该函数改变人眼的视点和摄像机的参考点,从而改变眼睛在场景中的位置、方向,进而达到漫游的目的。

3. 碰撞检测

碰撞检测是构造可视化系统及虚拟现实的一个重要组成部分,可以使场景更加逼真自然。若没有碰撞检测就会出现“穿墙而过”的现象,而不是实际的碰撞效果,这将大大降低了仿真程度。碰撞问题分为碰撞检测和碰撞响应两个方面的内容。碰撞检测用来检测不同对象之间是否发生了碰撞。精确的碰撞检测对提高仿真的真实性、可信性,以及增强虚拟环境的沉浸感有着至关重要的作用。而碰撞响应是指碰撞发生后所做出的动态反映效果。

碰撞检测表现为两个多面体的求交,按对象所处的空间可以分为二维平面碰撞检测和三维空间碰撞检测。平面碰撞检测相对简单一些,已经有成熟的检测算法,而空间碰撞检测则要复杂得多。碰撞检测的算法大致分为空间分解法和层次包围盒法两类。由于这两个算法都已经比较成熟,这里不再详细介绍。

4. 室内编辑

室内编辑的实现可以使用户随意安排室内家具,在房产行业中可以更好地了解用户对于房间装修的需求。为导入的3D模型对象定义结构体如下:

struct object

{

float x,z; float width;

float long; float height;

float scale; int num;

int rotation;

};

它存储了3D模型的位置、长宽高、显示比例、编号及旋转角度。对应鼠标和键盘上的指定按键,改变模型的结构体的参数,从而可以实现对模型的增加、删除、修改操作。

三、成果展示

图2为基于三维GIS的房产室内信息系统的主界面,功能包括模型载入、室内漫游、室内编辑、信息查询。其中,模型载入可以由用户选择希望载入的室内模型文件;室内漫游使用户通过鼠标、键盘自由“行走”于房间中,图3为客厅和厨房的漫游效果;室内编辑使用户选择自己喜欢的壁纸、天花板和地板的样式贴图,任意增加家具模型,并对其进行放大、缩小、旋转、移动(如图4所示),可提前看到房间装饰效果;信息查询包括楼层、面积、结构、价格、配套设施、售房情况等的查询,它与数据库结合起来,用户足不出户就可以全面了解有关售房信息及房屋内部构造等情况。

图2 系统界面设计

图3 室内漫游实现

图4 室内编辑实现

四、结束语

系统的最初构建想法来源于MAPSUV软件中的室外三维漫游,主要功能是对室内三维模型进行漫游和编辑的同时进行房屋信息查询。但该系统仍不完善,还有以下功能将在今后的研究中需逐步加入:实现测绘数据到3D模型的自动转换;加入区域导航图;发布到网站实时浏览。

另外,该系统经完善后可以横向移植到更为广泛的微观GIS领域,如室内预警、救灾等方面。相信随着相关技术的不断发展,基于三维GIS的房产信息系统会得到普及和发展。

[1] 王锦洋.三维GIS技术在房地产交易中的应用与研究[J]. 福建电脑,2008(8):89-90.

[2] 李德仁,刘强,朱庆.数码城市GIS中建筑物室外与室内三维一体化表示与漫游[J].武汉大学学报(信息科学版),2003,28(3):253-258.

[3] 陶琼,朱大明.三维GIS的发展趋势与建模分析[J].地矿测绘,2008, 24(4):35-37.

[4] 熊友谊,冯志新,陈颖彪,等.利用点云数据进行三维可视化建模技术研究[J].测绘通报,2012(5):20-23.

[5] 陈卓,马洪超.基于机载LiDAR数据的大型立交桥自动提取与建模方法[J].测绘学报,2012,41(2):252-258.

[6] 白成军,吴葱.文物建筑测绘中三维激光扫描技术的核心问题研究[J]. 测绘通报,2012(1):36-38.

[7] 张爱武,孙卫东,李风亭.基于激光扫描数据的室外场景表面重建方法[J].系统仿真学报,2005,17(2):384-387.[8] 杨林,盛业华,王波.利用三维激光扫描技术进行建筑物室内外一体建模方法研究[J].测绘通报,2014(7):27-30.

[9] 吴锋,毛新光.基于ArcGIS Engine的三维场景快速动态建模方法[J].测绘通报,2015(6):97-100.

[10] 安国强,吴泉源,高守英.基于OpenGL对3DS模型的读取与重绘的研究[J].苏州大学学报,2009, 29(2):53-56.

[11] 聂小波,邢光成,陈涛,等.OpenGL 及其在DEM可视化中的应用[J].地理空间信息,2009,7(3):48-50.

Application of 3D GIS in the Real Estate Indoor Information System

HUANG Ke,HUANG Gai,YANG Zhiyun,DUAN Yangli,ZHAO Ziwei

2015-12-04

黄 轲(1987—),女,硕士,主要从事地理信息理论及应用开发工作。E-mail:ke_ke114071@126.com

黄轲,黄盖,杨智云,等.三维GIS在房产室内信息系统中的应用[J].测绘通报,2016(11):131-133.

10.13474/j.cnki.11-2246.2016.0383.

P208

B

0494-0911(2016)11-0131-03

猜你喜欢
碰撞检测漫游信息系统
基于动力学补偿的机器人电机力矩误差碰撞检测
企业信息系统安全防护
全新预测碰撞检测系统
基于BIM的铁路信号室外设备布置与碰撞检测方法
基于区块链的通航维护信息系统研究
霹雳漫游堂
信息系统审计中计算机审计的应用
基于Virtools的虚拟灭火系统碰撞检测设计与实现
NASA漫游记
基于ADC法的指挥信息系统效能评估