CityEnginePhiladelphiaexle案例操作详解知识讲解.docx
《CityEnginePhiladelphiaexle案例操作详解知识讲解.docx》由会员分享,可在线阅读,更多相关《CityEnginePhiladelphiaexle案例操作详解知识讲解.docx(34页珍藏版)》请在冰豆网上搜索。
![CityEnginePhiladelphiaexle案例操作详解知识讲解.docx](https://file1.bdocx.com/fileroot1/2023-2/2/eb367778-6ff2-402d-ab98-6e864d31dcc1/eb367778-6ff2-402d-ab98-6e864d31dcc11.gif)
CityEnginePhiladelphiaexle案例操作详解知识讲解
下面介绍的过程中建立三维费城的二维和三维地理信息系统数据。
使用的数据是虚拟城市模板的一部分。
1、下载数字城市模板
有两种方法下载数字城市的模板:
1、登录CityEngine模板库官方网站下载CityEngine:
Philadelphiaexample;
2、启动CityEngine,菜单File->Help->DownloadTutorialsandExamples 在Examples 选项卡中Philadelphia 例子既可以,如图1所示
图1下载模板
2、加载数字城市模板
如果在CityEngine模板库中,下载模板则需要将模板导入到CityEngine工作空间中:
1、菜单File->import->Project->existingprojectintoworkspace,如图2所示:
图2导入模板到工作空间中
2、在 Selectarchivefile 选择项中选择 Example_Philadelphia.zip文件。
在Project选项卡中选择Example_Philadelphia__2011_1,点击Finish即可。
图3导入模板
3、创建新的场景
这个模板中已经有3个已经准备好的场景,您可以双击这些场景进行浏览,如图4所示:
图4现有场景
现在让我们从头开始,创建一个新的场景。
菜单File->New->CityEngine->CityEnginescene ,选择项目的场景目录,给它一个名称和设置坐标系统(EPGS:
2272)如图5所示:
图5创建场景
4、添加地形和影像
在Example_Philadelphia__2011_1/data/DEM 目录下面找到DEM_burn.tif,选中它然后将它拖动到视窗里面(viewport)。
在Choosecoordinatesystemfor‘DEM_burn.tif’对话框中选中同样的坐标系(EPGS:
2272)。
在弹出的Terrain对话框中,Texturefile选项卡中选择贴在地形上的影像(data/basemap/Philly_basemap3.tif)。
如图6所示
图6选择影像
点击Finish按钮,按“f”键盘场景放大到数据的位置。
如图7所示
图7地形和影像
5、添加GIS数据
在Example_Philadelphia__2011_1/data目录下面找到Results.gdb,选中它然后将它拖动到视窗里面(viewport)。
在FileGeodatabaseImport对话框中(如图8所示),点击Finish,将GIS数据加载到了场景中如图9所示:
图8FileGeodatabaseImport对话框
图9GIS数据
6、使用规则
1、使用矢量建筑轮廓和属性创建三维建筑
A、选择 “Building1_footprints3D ”图层的所有对象:
可以选中图层上的一个对象,右键菜单 Select->SelectObjectsintheSameLayer 选中该图层上的所有对象,如图10所示:
图10选择同一图层上的所有对象
B、在Example_Philadelphia__2011_1/ rules目录下面找到GIS-Drivenbuildings.cga规则文件,选中它然后将它拖动到“Building1_footprints3D”图层选中的所有对象上。
矢量对象按照GIS-Drivenbuildings文件中的规则产生三维模型,如图11所示:
图11GIS-Drivenbuilding规则产生模型
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->SelectObjectsintheSameLayer。
还可以在Scene对话框(如图14所示)上关闭其他矢量图层,软后Ctrl+A,选中打开图层中的所有对象。
图14关闭其他图层
3、创建植物和街道设施
GeoDatabase中的植物点数据,它提供了植物的位置并且带有植物的大小和类型等属性。
根据这些数据可以将已有的三维模型按照正确的大小导入到场景中。
选择Vegetation3Dlayer图层上的所有矢量对象。
在Example_Philadelphia__2011_1/rules目录下面找到Vegetation.cga规则文件,选中它然后将它拖动到Vegetation3Dlaye 图层选中的所有对象上。
同样的方式选中StreeFurniture3Dlayer图层上的所有矢量对象,将StreetFurniture.cga规则赋予它们,效果如图15所示:
图15植物和街道设施
4、创建街道
从图16上可以看到街道矢量部分插入到了地面里面。
图16街道陷入地形
这是由高程的精度低或者构建街道的三角网稀疏造成的,可以在CityEngine中进行调整:
选择Streets3Dlayer上的所有矢量对象,菜单Layer->AlignShapesToTerrain,在AlignTerrain 对话框(如图17所示)上Maximalraisedistance选项卡中选择1米,点击Apply按钮。
图17调整地形
选择Streets3Dlayer上的所有矢量对象,赋予StreetConstruction.cga规则,可以在Inspector对话框调整中调整Vehiclesperkm和Peoplepercentage为道路添加一些车辆和行人,如图18所示:
图18创建街道
7、导出结果
3D城市创建完成后,可以使用CityEngine进行浏览也可以将创建好的模型导入到ArcGIS中以进行海量数据的浏览和更深入的分析。
将模型导入到ArcGIS中可以先将模型导出成COLLADA(dae)
下面利用费城数据,以地块的规划和设计为例讲述CityEngine基于规则建模的过程。
模板中使用的数据是虚拟城市模板的一部分。
1 、加载数字城市场景
这是案例准备了3个场景,在上面的描述中已经讲解了如何使用GIS数据和规则创建前两个场景。
双击“Philadelphia.02.as-built.cej”场景。
注:
你可以双击“Philadelphia.03.redevelopment-scenario.cej”场景,查看最终设计结果
2 、选择感兴趣区域
我们的研究区域就是位于费城城中心的需要重新开发的地块,首先选择区域(按住鼠标左键,拖拽矩形区域)和裁剪区域(Edit->Cut)。
3 、创建新的地块
首先,我们需要在这个位置创建新的地块,共4个。
CityEngine就可以轻松的做到:
1) 选择相邻的街道;
2) 打开“Inspector”窗口;
3) 在“BlockParameters”标签下,设置“shapeCreation”为true;
CityEngine会在这个区域创建的地块,但是现在我们看到的结果超过了4个,接下来需要简单的修改参数即可,比如最大、最小地块数。
1) 选择这些地块;
2) 打开“Inspector”窗口;
3) 在“BlockParameters”标签下,修改“lotAreaMin”为3000,“lotAreaMax”为5000,“irregularity”为0。
4) 如果你想让地块和地形很好的贴合,可以做如下操作:
Layer->AlignTerrainToShapes
准备工作已经完成,接下来开始设计。
4、 使用规则建模
接下来我们将对新建的地块应用规则,以生成满足规划要求的三维模型。
实质上,世界上很多国家已经制定了相关的分区法,约束土地利用、建筑物高度、密度和其他方面。
CityEngine规则用来快速生成虚拟场景,并修改规则参数以展现不同的设计方案。
该软件一个很大的特点是能够即时的输出设计方案相关的报告参数,包括建筑面积比或密度、地段覆盖率以及休憩用地率等。
这些参数可以很方便的和分区法所允许的值进行对比。
1) 选中这4个地块,然后拖放“GenericModernBuilding.cga”;
2) 选择“Parcel”规则作为开始规则并确定;
3) 将生成4个带有分区参数的模型;
假如,我们想增加建筑面积比的同时还要保证能够有一些开放的空间,你可以手动的修改不同的参数组合或者使用样式功能来快速完成预定设计。
1) 选择一栋建筑并打开“Inspector”窗口;
2) 打开“Reports”标签,可以看到“FloorAreaRatio(建筑面积比)”、“LotCoverage(地段覆盖率)”等;
3) 修改规则参数,比如“NbrofFloors”,“Setbacks”,“Layout”;
4) 修改参数以后可以查看相关的输出指标报告
5、 修改样式
另外一个很好的功能就是样式。
样式能够帮助我们快速的在不同的设计方案之间切换,它包括了一些基本的预先设定好的规则参数。
1) 选择某个地块或建筑;
2) 打开“Inspector”窗口;
3) 单击样式按钮,选择其中某个样式;
4) 针对不同建筑选择不同的风格;
注:
选择所有的建筑,并选择“Default”样式,将会恢复到最开始的状态。
6、 导入到ArcGIS
根据上面的设计,我们可以把设计好的建筑导入到ArcGIS中做进一步分析,比如日照分析,通视分析。
1) 在CityEngine中选择需要导出的模型;
2) 执行导出模型操作:
File->Export->Collada->Finish
选择“ArcGISCompatibility”并设置“GlobalScalingFactor”(注:
“ArcGISCompatibility”、“GlobalScalingFactor”两个参数在最新的CityEngine2011.2版本中才提供)。
利用ArcGIS工具箱工具导入*.dae模型,3DAnalystTools->转换->导入3D文件。
模型执行完成,即*.dae已经存入ArcGISGeodatabase地理数据库中。
在此基础之上,我们可以借助ArcGIS强大的三维分析功能进行空间分析,比如日照分析、通视分析等。
注:
学习日照分析,可以访问3DGISresourcecenter:
7、 建筑外观设计
如果我们分析的结果符合要求,我们可以进一步调整建筑的外观:
在“Inspector”窗口中,找到“ModelOptions”并设置“Generate_Facades”参数为“true”。
可以看到会生成建筑物的纹理信息,当然也是可以通过样式来快速修改外观。
现在,我们有了高楼住宅并带有朝南的阳台,南部地段也是住宅,其余西北方向都是办公楼。
为了完成整个方案设计,记下来我们需要设计绿化带:
在“Inspector”窗口中,找到“ModelOptions”并设置“Generate_Green”参数为“true”。
到此,设计已经完成,我们可以看到最终的设计结果,比如:
建筑面积比、地段覆盖率等。
如果需要的话,还可以调整一下建筑物之间的距离,避免住宅被办公楼遮挡。
只需要修改“Setback_from_Boundary”参数即可。
现在我们可以把最新的模型导入到ArcGIS中,在CityEngine中设计的外观在ArcGIS中同样可以进行可视化。
另外,利用ArcGISServer可以将场景(*.3dd)发布为服务向公众提供服务。