CityEngine使用GIS模板创造三维数字城市(一)

ArcGIS提供了ArcScene和ArcGlobe两种应用程序,二维数据可以以三维的形式进行可视化展示。然而,一般采用设置图层的“Base Heights”属性实现。某些情况下,把二维几何图形转化为贴附地形表面的三维要素是非常必要的。这样,当你想使用这些要素和地表交互或者进行空间分析的时候会更具有真实性。如下的操作步骤描述了如何使用三维数据并结合地形数据来创建三维贴附地形的三维要素,模板中使用的数据是虚拟城市模板的一部分。数据下载地址:

1、打开2Dto3D.sxd文档在“2Dto3D\Maps and GDBs”下启动2Dto3D.sxd文档。

右键单击DEM图层,点击【属性】,在【基本高度】标签下启用【在自定义表面浮动】选项,如图2。

设置完成以后DEM可以看到高低起伏,而二维数据却在DEM下面。我们可以通过设置图层属性(【基本高度】->【在自定义表面浮动】)来显示,但是如果你得到真实的三维要素,那需要将二维要素转化为基于DEM的三维要素。

2、二维线转化为三维线我们已经构建了一个创建好的模型来快速生成3D线。右键点击“2Dto3Dlines”GP模型(位于CityData.gdb中Conversion工具箱中)并【编辑】。

通过模型我们可以看到要对“Streets”进行简化,去掉多余的曲线;然后,简化的街道数据被“Interpolate Shape” 工具转化为3D街道数据。点击【模型】->【验证整个模型】,然后【运行】。定位到书签“3Dstreets”和“Bridges”查看分析结果。

3、二维点转化为三维点我们同样构建了一个模型来快速生成3D点。右键点击“2Dto3DPoints”GP模型(位于CityData.gdb中Conversion工具箱中)并【编辑】。

可以看到,“Street furniture”点数据直接被“Interpolate Shape”工具转化成3D点。点击【模型】->【验证整个模型】,然后【运行】。

关闭模型后,双击“2Dto3DPoints”模型,选择“vegetation”图层并修改输出数据名称为“Vegetation3D”,【确定】将“vegetation”点数据生成3D点。

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”重复相同的操作。

5、利用3D多边形把地形整平从场景中我们可以看到一部分3D多边形不能很好的与地形贴合,我们接下来要做的就是将地形整平(“tin”存储于DEM文件夹)。

右键单击“BurnFeaturesIntoDEM”GP模型并编辑。

模型分为两步:编辑Tin、将Tin转化为栅格。

点击【模型】->【验证整个模型】,然后【运行】。

对于“Building_footprints3D”重复相同的操作。

注:这一步需要在英文界面下完成。

人生谁无少年时,甜苦酸辛各自知。

CityEngine使用GIS模板创造三维数字城市(一)

相关文章:

你感兴趣的文章:

标签云: