论文部分内容阅读
摘 要:我们基于CityEngine的三维设计平台,以贵州大学北校区和新校区为例,利用全站仪采集的校园地形数据,尝试利用CityEngine对校园进行三维建模、与ArcGIS完美的结合,大大提高三维建模的效率[4],为用户提供在线浏览的三维虚拟校园。
关键词:CityEngine ArcGIS;三维建模;虚拟校园
0 引言
随着“数字地球”、“数字中国”以及“数字城市”等概念的提出、研究和逐步实现,“数字校园”成为大高校的研究热点之一[2],旨在将三维可视化技术,虚拟现实技术深入应用到校园领域。三维虚拟数字校园是数字化校园的基础,能够实现对校园设施的有效管理和资源合理配置,提高学校的办事效率,为教育教学管理、学校对位宣传等提供了一个智能化平台[3]。
三维建模技术是将空间地理数据从二维形式变换为以三维立体的形式显示,而三维建模技术是建立虚拟现实世界的基础,通过建立三维模型,将设计图底图三维化,直观形象的展示规划场景,较真实的反映现实世界。作为初次尝试,我们仅实现三维立体的校园展示。
1 开发平台的选取以及系统设计流程
模型的建立是基于CityEngine结合ArcGIS以及autoCAD 2010,以C#为编程语言为设计的三维数字校园系统。从数据采集、处理、系统、设计到开发的步骤层层推进,处理阶段及实现的功能如下:
(1)数据的采集:Google卫星地图数据、测量数据、校园实景信息。
(2)数据处理:AutoCAD,Photoshop处理 CityEngine建模阶段:将CAD地形数据转换ShapeFile格式数据,在Arcmap中进行整饰建立图层集并进行矢量化生成新校区二维平面图。
(3)数据库建立:首先利用ArcCatlog建立新校区地理数据库,并建立要素类、要素。在ArcMap中查看实测的CAD数据和将之实地对比,进行适当的编辑修改。比如道路的圆滑程度,楼房的边角处的处理。
(4)系统实现的功能:三维显示、信息显示、地图控制显示、三维场景输出。
2 校园三维建模
2.1 建模软件的选取
常见的三维建模软件有:3DS Max,Maya,CAD等。因CityEngine对GIS数据的完美支持,对已有的基础GIS数据不需转换即可迅速实现三维建模,减少了系统再投资的成本,也缩短了三维GIS系统的建设周期[1],处理模型与地形的关系以及动态调整模型的功能十分便利和智能,因而建模过程中选取CityEngine软件。
2.2 数据的采集
2.2.1 地理数据的采集
常见的数据获取方式有以下几种:
低空飞行遥感:特点是在于对地观测过程中是最廉价、最普遍、最易获得的平台。
地图扫描:对地图进行数字化获得数据信息。
直接测量:通过测量获得数据,特点是获取精度高。现势性较强,只是工作量比较大。
遥感测量:特点是范围大,获取速度快,但受进度限制。
2.2.2 纹理数据采集
地面纹理通过在Google Earth中截图获得。房屋、道路,井盖,自动售水机等小品模型的纹理通过实地拍摄获得,在photoshop中进行校正,压缩等处理[3],供建模贴图使用。
2.3 模型的建立
(1)在ArcMap中加载CAD数据,导出范围为shapefile文件。
(2)矢量化。对各要素进行编辑,实地观察对比后进行适当修改,对二维区域添加行道数和路灯以及井盖等独立点要素。以获得二维效果图。
(3)在CityEngine分别创建一个工程文件、一个场景文件和一个CGA规则文件。
(4)導入数据(地理数据库文件.gdb),并设置坐标系。导入成功后效果如图所示。
(5)拉伸建模
创建建模规则,如下:
attr groundfloor_height = x //x是地面一楼的高度
attr floor_height = x //x是其他楼层的高度
attr tile_width = x //x是将楼面按块划分的宽度
attr height=x //x是楼高
attr wallColor = “#fefefe” //墙面颜色
定义的规则放在CGA规则中,在CGA代码编辑器最前面,这些属性将显示在属性查看器(Inspector)中,可通过属性查看器修改这些属性。
(6)构建的窗户规则Window_asset = “facades/window.obj”,但是我这里没有窗户的obj模型,最后窗户显示的是未定义。
(7)对shape使用height中定义的高度进行拉伸,并命名为Building
Lot -->extrude(height)Building
(8)通过应用comp()-->CGA的一个规则函数,将Building分解为多个面,生成了正面(FrontFacade)、多个侧面(SideFacade)和一个顶面(Roof)Building-->comp(f){ front:FrontFacade | side:SideFacade | top:Roof} 如下图:
(9)分解完成后,对面进行外观造型。典型的外观造型流程为:①将面分解为楼层(Floors)。②将楼层分解为块(Tile)。每一块通常由墙面和窗口构成。
3 三维数字校园系统
系统界面分为二维窗口、三维窗口、图层控制窗口和工具栏4个部分。
三维视图基本功能除了基本的放大、缩小等功能,还具有如下功能:
(1)场景输入:用户在浏览三维场景时,如果对某个区域或建筑感兴趣,可通过控件SceneControl的GetScreenShot()对屏幕进行抓取实现的场景输出功能,将感兴趣的场景输出[3]。
(2)校园浏览:通过该系统,用户能够浏览校园的全局或者局部景观,尤其是三维校园景观,给用户如同漫步在真实的校园环境中的感受,系统界面友好,图像浏览畅通。可以通过Layers工具控制图层显示与否。
(3)校园查询:该系统提供了丰富的查询功能。例如,你对图书馆感兴趣,鼠标点击图书馆,就可查看到关于图书馆的楼层、楼层高度以及每一层放的书籍类等等信息。
(4)地图便签:本系统实现了对定点地物进行标注的想法,便于用户在指定位置标明自己的建议和看法,增强用户体验并能提高管理员的决策管理系统。
4 结论与展望
CityEngine基于规则的建模方法,能够充分利用现有的GIS数据,将大场景的二维数据快递、批量构建三维模型,减少人工干预,缩短建模周期,对建模效果可以快速有效的调整,且可以充分利用ArcGIS的三维分析功能对生成的模型进行量化分析。基于CityEngine参数化建模技术[1],创建了符合贵州大学实际情况的规则,实现了校园三维虚拟场景的建立。
参考文献
[1]张晖,刘超,李妍,等.基于CityEngine 的建筑物三维建模技术研究[J].测绘通报,2014,(11):108-112.
[2]朱安峰,王海鹰,高金顶.基于CityEngine 的三维数字校园系统[J].计算机系统应用,2015,24(2):112-115.
[3]包振虎,刘涛,张志华.基于ArcGIS Engine的三维数字校园的设计与实现[J].地理信息世界,2013,20(6):66-71.
[4]祁向前,乔辉.基于CityEngine数字校园建筑物三维建模研究[J].山西建筑,2016,42(2):255-257.
(作者单位:贵阳市贵州大学资源与环境工程学院地信141班)
关键词:CityEngine ArcGIS;三维建模;虚拟校园
0 引言
随着“数字地球”、“数字中国”以及“数字城市”等概念的提出、研究和逐步实现,“数字校园”成为大高校的研究热点之一[2],旨在将三维可视化技术,虚拟现实技术深入应用到校园领域。三维虚拟数字校园是数字化校园的基础,能够实现对校园设施的有效管理和资源合理配置,提高学校的办事效率,为教育教学管理、学校对位宣传等提供了一个智能化平台[3]。
三维建模技术是将空间地理数据从二维形式变换为以三维立体的形式显示,而三维建模技术是建立虚拟现实世界的基础,通过建立三维模型,将设计图底图三维化,直观形象的展示规划场景,较真实的反映现实世界。作为初次尝试,我们仅实现三维立体的校园展示。
1 开发平台的选取以及系统设计流程
模型的建立是基于CityEngine结合ArcGIS以及autoCAD 2010,以C#为编程语言为设计的三维数字校园系统。从数据采集、处理、系统、设计到开发的步骤层层推进,处理阶段及实现的功能如下:
(1)数据的采集:Google卫星地图数据、测量数据、校园实景信息。
(2)数据处理:AutoCAD,Photoshop处理 CityEngine建模阶段:将CAD地形数据转换ShapeFile格式数据,在Arcmap中进行整饰建立图层集并进行矢量化生成新校区二维平面图。
(3)数据库建立:首先利用ArcCatlog建立新校区地理数据库,并建立要素类、要素。在ArcMap中查看实测的CAD数据和将之实地对比,进行适当的编辑修改。比如道路的圆滑程度,楼房的边角处的处理。
(4)系统实现的功能:三维显示、信息显示、地图控制显示、三维场景输出。
2 校园三维建模
2.1 建模软件的选取
常见的三维建模软件有:3DS Max,Maya,CAD等。因CityEngine对GIS数据的完美支持,对已有的基础GIS数据不需转换即可迅速实现三维建模,减少了系统再投资的成本,也缩短了三维GIS系统的建设周期[1],处理模型与地形的关系以及动态调整模型的功能十分便利和智能,因而建模过程中选取CityEngine软件。
2.2 数据的采集
2.2.1 地理数据的采集
常见的数据获取方式有以下几种:
低空飞行遥感:特点是在于对地观测过程中是最廉价、最普遍、最易获得的平台。
地图扫描:对地图进行数字化获得数据信息。
直接测量:通过测量获得数据,特点是获取精度高。现势性较强,只是工作量比较大。
遥感测量:特点是范围大,获取速度快,但受进度限制。
2.2.2 纹理数据采集
地面纹理通过在Google Earth中截图获得。房屋、道路,井盖,自动售水机等小品模型的纹理通过实地拍摄获得,在photoshop中进行校正,压缩等处理[3],供建模贴图使用。
2.3 模型的建立
(1)在ArcMap中加载CAD数据,导出范围为shapefile文件。
(2)矢量化。对各要素进行编辑,实地观察对比后进行适当修改,对二维区域添加行道数和路灯以及井盖等独立点要素。以获得二维效果图。
(3)在CityEngine分别创建一个工程文件、一个场景文件和一个CGA规则文件。
(4)導入数据(地理数据库文件.gdb),并设置坐标系。导入成功后效果如图所示。
(5)拉伸建模
创建建模规则,如下:
attr groundfloor_height = x //x是地面一楼的高度
attr floor_height = x //x是其他楼层的高度
attr tile_width = x //x是将楼面按块划分的宽度
attr height=x //x是楼高
attr wallColor = “#fefefe” //墙面颜色
定义的规则放在CGA规则中,在CGA代码编辑器最前面,这些属性将显示在属性查看器(Inspector)中,可通过属性查看器修改这些属性。
(6)构建的窗户规则Window_asset = “facades/window.obj”,但是我这里没有窗户的obj模型,最后窗户显示的是未定义。
(7)对shape使用height中定义的高度进行拉伸,并命名为Building
Lot -->extrude(height)Building
(8)通过应用comp()-->CGA的一个规则函数,将Building分解为多个面,生成了正面(FrontFacade)、多个侧面(SideFacade)和一个顶面(Roof)Building-->comp(f){ front:FrontFacade | side:SideFacade | top:Roof} 如下图:
(9)分解完成后,对面进行外观造型。典型的外观造型流程为:①将面分解为楼层(Floors)。②将楼层分解为块(Tile)。每一块通常由墙面和窗口构成。
3 三维数字校园系统
系统界面分为二维窗口、三维窗口、图层控制窗口和工具栏4个部分。
三维视图基本功能除了基本的放大、缩小等功能,还具有如下功能:
(1)场景输入:用户在浏览三维场景时,如果对某个区域或建筑感兴趣,可通过控件SceneControl的GetScreenShot()对屏幕进行抓取实现的场景输出功能,将感兴趣的场景输出[3]。
(2)校园浏览:通过该系统,用户能够浏览校园的全局或者局部景观,尤其是三维校园景观,给用户如同漫步在真实的校园环境中的感受,系统界面友好,图像浏览畅通。可以通过Layers工具控制图层显示与否。
(3)校园查询:该系统提供了丰富的查询功能。例如,你对图书馆感兴趣,鼠标点击图书馆,就可查看到关于图书馆的楼层、楼层高度以及每一层放的书籍类等等信息。
(4)地图便签:本系统实现了对定点地物进行标注的想法,便于用户在指定位置标明自己的建议和看法,增强用户体验并能提高管理员的决策管理系统。
4 结论与展望
CityEngine基于规则的建模方法,能够充分利用现有的GIS数据,将大场景的二维数据快递、批量构建三维模型,减少人工干预,缩短建模周期,对建模效果可以快速有效的调整,且可以充分利用ArcGIS的三维分析功能对生成的模型进行量化分析。基于CityEngine参数化建模技术[1],创建了符合贵州大学实际情况的规则,实现了校园三维虚拟场景的建立。
参考文献
[1]张晖,刘超,李妍,等.基于CityEngine 的建筑物三维建模技术研究[J].测绘通报,2014,(11):108-112.
[2]朱安峰,王海鹰,高金顶.基于CityEngine 的三维数字校园系统[J].计算机系统应用,2015,24(2):112-115.
[3]包振虎,刘涛,张志华.基于ArcGIS Engine的三维数字校园的设计与实现[J].地理信息世界,2013,20(6):66-71.
[4]祁向前,乔辉.基于CityEngine数字校园建筑物三维建模研究[J].山西建筑,2016,42(2):255-257.
(作者单位:贵阳市贵州大学资源与环境工程学院地信141班)