CityEngine使用模板创建三维城市.doc_第1页
CityEngine使用模板创建三维城市.doc_第2页
CityEngine使用模板创建三维城市.doc_第3页
CityEngine使用模板创建三维城市.doc_第4页
CityEngine使用模板创建三维城市.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

产品应用与技术推广部CityEngine使用模板创建三维数字城市易智瑞(中国)信息技术有限公司2020年2月版权声明本文档版权为Esri中国信息技术有限公司所有。未经本公司书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。制定及修订记录版本完成日期编写/修订纪要编写者备 注1.02012.1.18新建甘鑫平于强CityEngine使用模板创建三维数字城市应用模板可以很好的指导大家使用GIS数据创建地图,三维场景和应用。这些模板可以用来当作创造类似的地图和场景基础。三维设计是CityEngine一个重要的优势,这对于城市规划是非常有用的。通过如下三节内容全面介绍借助模板如何使用ArcGIS和CityEngine完成三维数字城市的创建与规划:1) 二维数据转化为三维数据;2) 创建三维数字城市;3) 三维数字城市规划设计;1 二维数据转化为三维数据ArcGIS提供了ArcScene和ArcGlobe两种应用程序,二维数据可以以三维的形式进行可视化展示。然而,一般采用设置图层的“Base Heights”属性实现。某些情况下,把二维几何图形转化为贴附地形表面的三维要素是非常必要的。这样,当你想使用这些要素和地表交互或者进行空间分析的时候会更具有真实性。如下的操作步骤描述了如何使用三维数据并结合地形数据来创建三维贴附地形的三维要素,模板中使用的数据是虚拟城市模板的一部分。数据下载地址:/Dev/blogs/3dgis/archive/2011/09/29/2D-to-3D.aspx。1.1 打开2Dto3D.sxd文档在“2Dto3DMaps and GDBs”下启动2Dto3D.sxd文档。右键单击DEM图层,点击【属性】,在【基本高度】标签下启用【在自定义表面浮动】选项,如图2。设置完成以后DEM可以看到高低起伏,而二维数据却在DEM下面。我们可以通过设置图层属性(【基本高度】-【在自定义表面浮动】)来显示,但是如果你得到真实的三维要素,那需要将二维要素转化为基于DEM的三维要素。1.2 二维线转化为三维线我们已经构建了一个创建好的模型来快速生成3D线。右键点击“2Dto3Dlines”GP模型(位于CityData.gdb中Conversion工具箱中)并【编辑】。通过模型我们可以看到要对“Streets”进行简化,去掉多余的曲线;然后,简化的街道数据被“Interpolate Shape” 工具转化为3D街道数据。点击【模型】-【验证整个模型】,然后【运行】。定位到书签“3Dstreets”和“Bridges”查看分析结果。1.3 二维点转化为三维点我们同样构建了一个模型来快速生成3D点。右键点击“2Dto3DPoints”GP模型(位于CityData.gdb中Conversion工具箱中)并【编辑】。可以看到,“Street furniture”点数据直接被“Interpolate Shape”工具转化成3D点。点击【模型】-【验证整个模型】,然后【运行】。关闭模型后,双击“2Dto3DPoints”模型,选择“vegetation”图层并修改输出数据名称为“Vegetation3D”,【确定】将“vegetation”点数据生成3D点。1.4 二维的面转化为三维面首先,打开并编辑“2Dto3DPolygons”GP模型。可以看到这个模型有2个输出结果:“Building1_footprints3D”、“Building1_footprints3D_bufferline”,让我们分析一下这个模型都做了哪些事情。“Building1_footprints3D”是实际的3D建筑物底面,而“Building1_footprints3D_bufferline”是3D的线要素,它将参与地形整平,使得建筑物底面更好的与地形贴合。A、“Building1_footprints3D”的生成需要4步:1) 面要素转点要素(FeatureToPoint)2) 向点要素添加Z信息(Add Surface Information)3) 链接点属性给原始的多边形(Join Field)4) 基于Z信息,将2D多边形转化为3D多边形(Feature to 3D by Attribute)B、“Building1_footprints3D_bufferline”的生成需要3步:1) 对2D多变形创建缓冲区(Buffer)2) 将生成的缓冲区多边形转化为线(Polygon To Line)3) 根据DEM把2D线转化为3D线(Interpolate Shape)点击【模型】-【验证整个模型】,然后【运行】。对于“Building2_footprints3D”重复相同的操作。1.5 利用3D多边形把地形整平从场景中我们可以看到一部分3D多边形不能很好的与地形贴合,我们接下来要做的就是将地形整平(“tin”存储于DEM文件夹)。右键单击“BurnFeaturesIntoDEM”GP模型并编辑。模型分为两步:编辑Tin、将Tin转化为栅格。点击【模型】-【验证整个模型】,然后【运行】。对于“Building_footprints3D”重复相同的操作。注:这一步需要在英文界面下完成。1.6 创建三维数字城市矢量数据处理完成以后,可以加载到CityEngine中作为基础数据,再赋予相应的规则快速创建城市模型,更详细的操作请关注下一节。 2 创建三维数字城市上一节介绍了将二维数据转化为三维数据,并作为CityEngine的基础数据。下面介绍的过程中建立三维费城的二维和三维地理信息系统数据。使用的数据是虚拟城市模板的一部分。2.1 下载数字城市模板有两种方法下载数字城市的模板:1、登录CityEngine模板库官方网站:/home/group.html?owner=CityEngine&title=CityEngine%20templates&content=all 下载CityEngine: Philadelphia example;2、启动CityEngine,菜单File - Help - Download Tutorials and Examples 在Examples 选项卡中Philadelphia 例子既可以,如图1所示图1下载模板2.2 加载数字城市模板如果在CityEngine模板库中,下载模板则需要将模板导入到CityEngine工作空间中:1、菜单File - import - Project - existing project into workspace,如图2所示:图2导入模板到工作空间中2、在 Select archive file 选择项中选择 Example_Philadelphia.zip文件。在Project选项卡中选择Example_Philadelphia_2011_1,点击Finish即可。图3导入模板2.3 创建新的场景这个模板中已经有3个已经准备好的场景,您可以双击这些场景进行浏览,如图4所示:图4现有场景现在让我们从头开始,创建一个新的场景。菜单File-New-CityEngine-CityEngine scene ,选择项目的场景目录,给它一个名称和设置坐标系统(EPGS:2272)如图5所示:图5创建场景2.4 添加地形和影像在Example_Philadelphia_2011_1/data/DEM 目录下面找到DEM_burn.tif,选中它然后将它拖动到视窗里面(viewport)。在Choose coordinate system for DEM_burn.tif对话框中选中同样的坐标系(EPGS:2272)。在弹出的Terrain对话框中,Texture file选项卡中选择贴在地形上的影像(data/basemap/Philly_basemap3.tif)。如图6所示图6选择影像点击Finish按钮,按“f”键盘场景放大到数据的位置。如图7所示图7地形和影像2.5 添加GIS数据在Example_Philadelphia_2011_1/data目录下面找到Results.gdb,选中它然后将它拖动到视窗里面(viewport)。在File Geodatabase Import对话框中(如图8所示),点击Finish,将GIS数据加载到了场景中如图9所示:图8 File Geodatabase Import对话框图9 GIS数据2.6 使用规则1、使用矢量建筑轮廓和属性创建三维建筑A、选择 “Building1_footprints3D ”图层的所有对象:可以选中图层上的一个对象,右键菜单 Select-Select Objects in the Same Layer 选中该图层上的所有对象,如图10所示: 图10选择同一图层上的所有对象B、在Example_Philadelphia_2011_1/ rules目录下面找到GIS-Driven buildings.cga规则文件,选中它然后将它拖动到“Building1_footprints3D”图层选中的所有对象上。矢量对象按照GIS-Driven buildings文件中的规则产生三维模型,如图11所示:图11 GIS-Driven building规则产生模型C、这个规则使用了GIS数据中的屋檐高度(Eave_Ht),脊高(Ridge_Ht)和屋顶样式(Roof _Form)等属性数据来生成三维建筑。使用规则创建模型的优势是,您可以通过改变规则来轻松地修改模型。例如,选择一个感兴趣的建筑打开Inspector对话框,可以修改屋檐高度,脊高,屋顶样式、侧面纹理和屋顶纹理等属性,如图12所示:图12 修改模型属性2、使用建筑轮廓导入已有三维模型如果您已经有了一些三维模型,这些模型都是通过第三方建模软件生成的。有两种方式可以将这些模型导入到CityEngine中:A、如果模型带有地理坐标,例如dae/kml文件,可以直接将这些文件拖到CityEngine中。也是使用菜单File-Import 使用导入对话框工具,将一个目录下面的所有*.kml文件导入到场景中。B、如果模型没有位置信息,您可以使用矢量建筑物轮廓来为模型定位。选择Building2_footprints3D图层上的所有矢量对象,在Example_Philadelphia_2011_1/ rules目录下面找到Collada_Buildings.cga规则文件,选中它然后将它拖动到Building2_footprints3D 图层选中的所有对象上。即可将已有的模型按照地理位置导入到CityEngine场景中,如图13:图13导入已有模型注:1、可以看到CityEngine可以很好的支持已有三维模型,CityEngine可以很非常方便模型的进行模型修改或更新。2、选择所有矢量对象的时候,可以选择某一个模型然后右键菜单 Select-Select Objects in the Same Layer。还可以在Scene对话框(如图14所示)上关闭其他矢量图层,软后Ctrl+A,选中打开图层中的所有对象。图14关闭其他图层3、创建植物和街道设施GeoDatabase中的植物点数据,它提供了植物的位置并且带有植物的大小和类型等属性。根据这些数据可以将已有的三维模型按照正确的大小导入到场景中。选择Vegetation3D layer图层上的所有矢量对象。在Example_Philadelphia_2011_1/ rules目录下面找到Vegetation.cga规则文件,选中它然后将它拖动到Vegetation3D laye 图层选中的所有对象上。同样的方式选中StreeFurniture3D layer图层上的所有矢量对象,将Street Furniture.cga规则赋予它们,效果如图15所示:图15植物和街道设施4、创建街道从图16上可以看到街道矢量部分插入到了地面里面。图16街道陷入地形这是由高程的精度低或者构建街道的三角网稀疏造成的,可以在CityEngine中进行调整:选择Streets3D layer上的所有矢量对象,菜单Layer-Align Shapes To Terrain,在Align Terrain 对话框(如图17所示)上Maximal raise distance选项卡中选择1米,点击Apply按钮。图17调整地形选择Streets3D layer上的所有矢量对象,赋予Street Construction.cga规则,可以在Inspector对话框调整中调整Vehicles per km和People percentage为道路添加一些车辆和行人,如图18所示:图18创建街道2.7 导出结果3D城市创建完成后,可以使用CityEngine进行浏览也可以将创建好的模型导入到ArcGIS中以进行海量数据的浏览和更深入的分析。将模型导入到ArcGIS中可以先将模型导出成COLLADA (dae),更详细的操作请关照下一节。3 三维数字城市规划设计从上面的教程我们可以知道,CityEngine最大的优势在于直接使用GIS数据来快速创建虚拟城市。另外,还提供了强大三维设计能力,对于城市规划设计起到了积极作用。下面利用费城数据,以地块的规划和设计为例讲述CityEngine基于规则建模的过程。模板中使用的数据是虚拟城市模板的一部分。3.1 加载数字城市场景这是案例准备了3个场景,在上面的描述中已经讲解了如何使用GIS数据和规则创建前两个场景。双击“Philadelphia.02.as-built.cej”场景。注:你可以双击“Philadelphia.03.redevelopment-scenario.cej”场景,查看最终设计结果3.2 选择感兴趣区域我们的研究区域就是位于费城城中心的需要重新开发的地块,首先选择区域(按住鼠标左键,拖拽矩形区域)和裁剪区域(Edit -Cut)。3.3 创建新的地块首先,我们需要在这个位置创建新的地块,共4个。CityEngine就可以轻松的做到:1) 选择相邻的街道;2) 打开“Inspector”窗口;3) 在“Block Parameters”标签下,设置“shapeCreation”为true;CityEngine会在这个区域创建的地块,但是现在我们看到的结果超过了4个,接下来需要简单的修改参数即可,比如最大、最小地块数。1) 选择这些地块;2) 打开“Inspector”窗口;3) 在“Block Parameters”标签下,修改“lotAreaMin”为3000,“lotAreaMax”为5000,“irregularity”为0。4) 如果你想让地块和地形很好的贴合,可以做如下操作:Layer-Align Terrain To Shapes准备工作已经完成,接下来开始设计。3.4 使用规则建模接下来我们将对新建的地块应用规则,以生成满足规划要求的三维模型。实质上,世界上很多国家已经制定了相关的分区法,约束土地利用、建筑物高度、密度和其他方面。CityEngine规则用来快速生成虚拟场景,并修改规则参数以展现不同的设计方案。该软件一个很大的特点是能够即时的输出设计方案相关的报告参数,包括建筑面积比或密度、地段覆盖率以及休憩用地率等。这些参数可以很方便的和分区法所允许的值进行对比。1) 选中这4个地块,然后拖放“Generic Modern Building.cga”;2) 选择“Parcel”规则作为开始规则并确定;3) 将生成4个带有分区参数的模型;假如,我们想增加建筑面积比的同时还要保证能够有一些开放的空间,你可以手动的修改不同的参数组合或者使用样式功能来快速完成预定设计。1) 选择一栋建筑并打开“Inspector”窗口;2) 打开“Reports”标签,可以看到“Floor Area Ratio(建筑面积比)”、“Lot Coverage(地段覆盖率)”等;3) 修改规则参数,比如“Nbr of Floors”,“Setbacks”,“Layout”;4) 修改参数以后可以查看相关的输出指标报告3.5 修改样式另外一个很好的功能就是样式。样式能够帮助我们快速的在不同的设计方案之间切换,它包括了一些基本的预先设定好的规则参数。1) 选择某个地块或建筑;2) 打开“Inspector”窗口;3) 单击样式按钮,选择其中某个样式;4) 针对不同建筑选择不同的风格;注:选择所有的建筑,并选择“Default”样式,将会恢复到最开始的状态。3.6 导入到ArcGIS根据上面的设计,我们可以把设计好的建筑导入到ArcGIS中做进一步分析,比如日照分析,通视分析。1) 在CityEngine中选择需要导出的模型;2) 执行导出模型操作:File -Export -Collada -Finish 选择“ArcGIS Compatibility”并设置“Global Scaling Factor”(注:“ArcGIS Compatibility”、“Global Scaling Factor”两个参数在最新的CityEngine2011版本中才提供)。利用ArcGIS工具箱工具导入*.dae模型,3D Analyst Tools -转换 -导入3D文件。模型执行完成,即

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论