要访问 ArcGIS CityEngine中的教程项目,请启动 CityEngine并点击 帮助 > 下载教程和示例 在主菜单中。选择一个教程或示例后,项目将自动下载并添加到您的 CityEngine 工作区。

本教程由Houseal Lavigne Associates的Devin Lavigne合作制作。

河流沿岸的重新开发

 

城市规划师和设计师的常见请求是展示或说明建议和想法。例如,一位正在制定柏林市中心计划的规划师可能会建议将沿着施普雷河的一处工业场地和大型地面停车场重新开发。沿河的环境和靠近市中心的地理位置使该场地非常适合混合用途开发。

为了帮助传达提案的信息,规划者通常会与社区合作,展示视觉效果,以表达某个地区的愿景。一旦计划被社区采用,财产所有者或潜在开发者可以请建筑师来制定更详细的计划或提案,并帮助社区实现其愿景。

在两种情况下,设计师都会准备一个3D概念计划,该计划包括场地及其周围城市环境的规划。在这个教程中,您将学习使用CityEngine和可用的公共GIS数据来创建这种类型可视化的工作流程。您将按照以下关键步骤进行操作:

1.

获取数据

下载用于构建建筑足迹和街道网络的数据来自 Open Street Map (OSM) 数据。

2.

生成和修改建筑

从OSM数据生成3D建筑。

3.

清理图形网络和街道

清理并生成街道的模型。

4.

与地形互动

移除一条隧道街道并调整地形高度。

5.

创建场景

为一个潜在的重新开发场地制定两个替代方案。

 

获取数据

在第一部分,您将打开场景并登录以下载地图数据。

打开场景

首先打开GetMapData.cej场景,它是空的:

打开GetMapData.cej场景

登录到 ArcGIS Online

您的第一步是获取柏林中心的地图数据。要使用获取地图数据工具,您必须登录ArcGIS Online。点击未登录下拉菜单。

未登录下拉菜单

 

点击 登录 以打开 ArcGIS CityEngine 登录 对话框:

ArcGIS 城市引擎登录对话框

 

输入您的ArcGIS Online用户名和密码以登录:

已登录

 

获取地图数据

接下来,点击 文件>获取地图数据在主菜单中。

在文件菜单中获取地图数据

 

显示获取地图数据对话框;在搜索框中输入柏林大教堂,柏林,DEU

获取地图数据对话框

 

地图放大到该位置。

点击 设置范围。一个可调节的矩形选择框出现,这决定了下载区域。复制并粘贴下面的坐标以获得准确的结果。这很重要,因为在此定义的范围内,您将使用书签在柏林的不同区域之间移动。

  • 宽度—9177.662
  • 高度—5692.849
  • X-偏移—1487196.025
  • Y偏移—6892058.511

这些值与Web Mercator参考系统匹配。在打开场景后,参考系统会自动更改为UTM。禁用固定比例按钮修复并在参考点选项顶点位置下,确保矩形的参考点设置为左下角。

在 Esri 世界高度 下,将 分辨率 设置从 中等 (2k) 更改为 高 (4K)。保持其他设置不变。点击 确定 开始下载。

获取地图数据设置

 

注意:
  • 要获取地图的海拔数据,您需要一个ArcGISArcGIS Online组织账户
  • 如果您在下载过程中遇到问题,您可以在 /maps/Terrain_Imagery_Final/ 教程项目文件夹中找到所有必要的数据。从那里,将 elevation.tif 和 map.osm 文件拖放到场景中。

 

导入设置

不同的设置会导致不同的导入和不同的后处理程序,当你对CityEngine越来越熟悉时,你会更深入地了解每个设置的作用。例如,如果你展开高速公路类别,你将控制导入的街道类型子集。对于这个教程,你可以保持默认设置不变,然后点击完成

导入设置

 

生成和修改建筑

在接下来的部分中,您将生成建筑物,并学习如何用不同的风格进行修改。

生成建筑

因为为下载的形状生成模型复选框在获取地图数据对话框中被选中,Building_From_OpenStreetMap.cga规则文件被应用于建筑足迹。

使用Get Map Data创建的场景

 

规则文件包含在CityEngine中,位于ESRI.lib文件夹中。

注意:

ESRI.lib文件夹中有一个类似的规则,名为Building_From_Footprint.cga,它能很好地与来自其他来源的脚印形状数据(包括GIS数据)一起使用。

 

示意图立面

放大到场景中心。查看3D导航基础知识以了解导航选项的概述。

当 Building_From_OpenStreetMap.cga 规则应用于建筑物时, 默认情况下,建筑物是白色的。接下来,您将更改建筑物的样式。在 场景编辑器 窗口中,右键单击 足迹 图层并点击 选择对象 以选择所有的足迹。

选择建筑足迹

 

选定建筑足迹后,点击 表示 下拉箭头在 检查器 窗口中,将值更改为 示意立面。这指示CGA规则在墙上创建外部窗户,并为每个足迹分配不同的图案和颜色。

将建筑更换为示意图立面

 

放大,可以看到现在应用了示意立面 值的建筑之间的差异。

用示意性立面进行建筑设计

 

真实的立面

再次选择足迹,这次将表示值更改为具有立面纹理的现实主义。使用此值时,CGA会将不同建筑的立面不同图像或纹理随机映射,使城市看起来更加逼真。

具有逼真外立面的建筑物

 

由于这种随机纹理分配,建筑类型并不总是匹配。但当你缩小视野时,你会得到一个漂亮的现实城市概览。

对城市的现实概述

 

将建筑物涂成白色

最后,在进行下一步之前,将所有建筑的表示值恢复为默认的白色值。这是一种用于开发可视化的技术。您可以在场景的主要焦点中以全彩模型显示计划建议或开发提案,并将现有建筑显示为白色或暗淡的颜色,以提供提案的上下文环境,而不是分散注意力。前面的步骤旨在向您展示规则文件中可用的选项,这些选项在CityEngine默认库(ESRI.lib)中提供。

主要建筑的纯色

在 书签 书签下,点击 书签 1 – 柏林电视塔 或按 0 来导航到柏林电视塔,这是一座位于柏林市中心的电视塔。查看周围建筑的一些细节。

书签 1 - 柏林电视塔

 

形状的Object Attributes中的数据正在被Building_From_OpenStreetMap.cga规则读取。当有详细几何信息时,规则可以为该形状生成更复杂的模型(LOD2),而不是简单的拉伸模型(LOD1)。

选择电视塔模型并更改其表示属性值为纯色。天线的顶部变成了亮红色。

纯色钥匙扣

 

注意:

请记住,OSM数据是社区的努力成果,数据质量和信息量可能会有显著差异。这意味着有时会有彩色信息,而其他时候建筑物是白色的,即使在设置为纯色的情况下。

 

继续 书签 2 – 柏林大教堂 (1)。在这里,是另一个 CityEngine 如何利用存储在OSM建筑足迹中的LOD2数据并自动生成丰富建筑的3D建筑的例子。

就像你对塔所做的那样,选择大教堂并更改表示值为纯色

教堂纯色

 

此时,您可以继续更改场景中其他重要建筑的颜色,例如勃兰登堡门或主要火车站。完成后,您的场景应以大多数建筑物为白色,并有一些彩色的地标。

接下来,您将学习各种街道清理方法。

清理图形网络和街道

通常,在导入OSM数据后,您需要清理街道网络。导入时,CityEngine将OSM数据转换为其自己的表示模型,称为图网络,它由节点和段组成,这些段的形状是动态创建的。最常见的错误出现在交叉路口,节点放置得过于接近,或者中心线或街道信息缺失。

注意:

有一些工具可以用来修复图网络和街道形状的问题——清理图 清理图形工具 和 简化图 是执行此工作流程时最常使用的工具。这些工具为您提供了一种自动修复大多数街道问题的方法。您可以在导入时启用其中一个工具,但如果您只想有选择地应用于某些段,则可以通过菜单触发此过程。

关于哪种工作流程最有效尚无明确答案,因为结果取决于导入数据的质量。自动清理在某些情况下可能会做得很好,但在其他情况下可能会使情况变得更糟。通常,您会应用不同策略的组合,并且在本教程中,您将了解其中的一些方法。

 

改变街道和人行道的宽度

街道和人行道的宽度在导入OSM数据时会自动配置。对于本教程,您将移除人行道并缩小街道宽度,以帮助减少清理工作量。要更改街道宽度,请右键单击街道网络图层,然后点击选择对象以选择整个街道网络。

选择街道网络

 

确保标签在检查器窗口中处于活动状态,并将段参数更改为以下内容:

  • 段宽9
  • 车道宽度4
  • 左侧人行道宽度0
  • 右侧人行道宽度0
调整街道宽度

动态形状会相应调整到新的参数。正如你所见,当你比较上面和下面的图像时,你会得到更简单的街道。

街道调整为新的宽度

 

更改规则文件

与建筑足迹类似,街道也有导入规则。在这种情况下,将默认的Street_Modern_Standard.cga规则更改为Street_Modern_Simple.cga规则,该规则也是ESRI.lib的一部分。

如果街道未被选中,请再次选择所有街道并点击形状>分配规则文件在主菜单中打开分配规则文件对话框。

在主菜单中分配规则文件

 

现在向上走两级目录,这样你就可以看到完整的CityEngine工作区,并浏览到/ESRI.lib/rules/Streets/文件夹。选择Street_Modern_Simple.cga规则。

选择街道_现代_简单.cga 规则文件

 

点击 打开 以使用新规则重新生成街道网络。您能立即注意到的主要差异之一是街道交叉口消失了。

选定所有街道形状后,更改  和 节点 的以下属性,可以在 检查器 窗口中进行:

  • 右侧车道数量0
  • 中心线白色
中心线参数设置为白色

 

这一改变将中线从连续的黄色变为虚线的白色,并确保街道只有两条车道。

简单的街道,有虚线的中心线和两条车道

 

为图形编辑准备您的场景

首先,确保在可视化设置下仅显示图形网络和 形状 可见性设置点击地图图层(底图影像)或按F9,然后点击模型F12)以关闭它们的可视化。同时在场景编辑器窗口中隐藏

关闭模型可见性

 

这将使图形网络隔离,以便更好地看到任何错误。

街道清扫

前往 书签 3 – 街道清理 (2)。您应该会看到如下所示的类似图像,红色线条表示冲突的形状以及街道上的明显间隙:

场景中只显示形状和街道网络

 

要使用清理图工具清理图形工具,点击选择按钮选择工具 (Q),然后点击选择区域工具 选择拉索工具选项 窗口工具选项中选择中心区域的街道段。

选择街道使用套索选择工具

 

点击工具栏上的 清理图形 工具 清理图形工具,或者点击 图形 > 清理图形 从主菜单打开 清理图形 对话框。您可以指定点的垂直和水平合并距离(当点靠在一起时将合并),并检查 解决冲突的形状 复选框以解决由虚红线指示的冲突形状。点击 完成

清理图形对话框

 

结果应如下图所示:

使用 Cleanup Graph 工具后的街道

 

所选街道的节点数量减少,交叉路口的红色错误标记被移除。这意味着CityEngine创建了所有动态形状。在进行下一节之前,您可以继续清理场景的其他部分。

接下来,您将与地形合作,创造一个更真实的场景。

与地形互动

再次按下 F9 和 F12 以打开 地图图层 和 模型 的可见性。然后浏览到 书签 4 – 地形编辑

用于编辑的地形场景

 

你可能会注意到有几处地形高于道路,其中一条路实际上是在公园下方的隧道。

隧道的突出区域

 

拆除隧道道路

在 CityEngine 中,地形基于高度图。虽然这种方法有其优点,特别是在大型区域的性能方面,但其中一个缺点是无法表示孔洞。这意味着无法正确建模隧道。相反,您将移除地下街道的段落。

隧道从公园区域南端的交叉路口开始,一直延伸到主要火车站。

使用选择工具矩形选择,创建一个在两个交叉点之间的大矩形选择区域,然后按删除键删除所选段落。

选择区域、删除段落和最终图像的步骤

 

继续沿着隧道前行,删除街道的一部分。在交叉路口,仔细选择隧道段。这最好使用单击结合Shift键或在选择工具 添加到选择选项窗口中将选择模式更改为添加 。 工具选项

删除额外的段落

 

完成后,它应该如下图所示:

最终带有隧道的图像

 

调整地形的高度

接下来,您将调整地形到街道形状的高度,以防止它们重叠。放大到穿过公园的长街道,并选择一些地形重叠的街道。

调整地形高度

 

点击工具栏上的 地形对齐到形状 工具 对齐地形到形状工具。这将打开一个对话框,对当前选择进行操作,类似于 清理图 对话框。

对齐地形到形状对话框

 

保持默认值,点击应用。关闭对话框后,地形将正确调整。

对齐地形到形状后的地形

 

注意:

您还可以使用此工具选择场景中的所有形状并将地形对其,但这可能会导致某些区域的对齐,其结果可能让您不满意。通过本教程中的顺序方法,您可以对结果有更多控制。

 

使用地形编辑画笔优化地形调整

当你放大时,仍然可以看到一些最小的重叠。

带有某些形状的地形重叠

 

在 CityEngine中,你可以使用画笔修改地形,将其塑造成你需要的高度。点击 地形编辑画笔 工具 地形编辑刷以更改 地形编辑画笔 工具选项 工具选项

打开高程选择器 切换按钮,以获取地形的精确高程。将指针移动到地图上,并点击以选择所需的高程。由于您想降低道路下的地形,选择地图上的一个较低点;此地图部分的适当高度为38米。

高度选择切换按钮

 

一旦你选择了一个高度,地形编辑画笔工具地形编辑刷就会激活。点击并拖动以在地形上进行绘画效果,并将高度编辑到 高度值。在街道上方进行此操作,直到街道的任何部分都不再低于地面。

地形编辑刷已激活

 

继续编辑公园区域中其他重叠的地方的地形。完成后,浏览到书签 4 – 地形编辑。它应该看起来像以下图片:

最终调整的带有隧道的地形

 

创建场景

在本节中,您将为潜在的重新开发创建两个场景。

场景允许您在一个场景中创建多个设计并进行比较。您可以将场景并排显示在不同的视图中以进行视觉比较。场景可以由包含建筑物、街道或地形等对象的图层组成,这些对象仅在场景活动时显示。您可以进行仅影响特定场景的自定义更改,或者进行可以应用于所有场景的全局更改。它们提供了一种在单个场景中存储多个设计替代方案的方法。此外,多个场景得到了虚幻引擎和360 VR体验的支持。

创建现状情景

浏览到 书签 5 – 斯普里河改造现场 并在 Scene Editor 窗口中重新启用 Footprints 图层的可见性。

斯普里河改造开发现场

 

要创建一个初始场景,请点击添加新场景按钮添加新场景场景编辑器窗口中。

在场景编辑器中添加新场景

 

新的场景 对话框出现。命名场景现有条件。将ID更改为EC,然后点击确定。新的场景会自动成为场景中的活动场景。

新场景对话框

 

将现有建筑移至现有条件场景

你正在准备的场景探索了一个未充分利用的河滨地块的重新开发可能性。选择三角地块上的六个足迹并按Ctrl+X或右键单击并选择 剪切来剪切足迹。

选定的三角形场地上的足迹

 

现在,按 Ctrl+V 或右键单击并选择 粘贴 在 场景编辑器 窗口中粘贴脚印。创建一个新的脚印粘贴图层。在 检查器 窗口中将其重命名为 重新开发脚印。你可以通过 场景 旁边的场景颜色来判断图层属于哪个场景。

要管理图层类型和场景成员资格,请点击编辑以打开 编辑场景成员资格对话框,并选中现有条件复选框。

输入:sc

将现有建筑移至现有条件场景

 

创建重新开发情景A

创建另一个场景,命名为场景A,并将ID更改为A

添加场景A

 

因为新的情景A 被设为活动情景,你移动到 现有条件情景的建筑现在被隐藏了,留下一个开放的空地。

为了填补这个空缺空间,切换到多边形形状创建工具多边形形状创建工具 (S) 并创建一个新的地块形状。从左边现有建筑的旁边开始,继续围绕它进行操作,沿着高架铁路的轨道,并回到右边现有建筑之前的街道。然后沿着街道点击初始点以完成形状。

使用多边形形状创建工具创建建筑足迹

 

由于开发区域的地形不完全平整,新创建的地块在某些位置与地形重叠。使用将地形对齐到形状工具对齐地形到形状工具来调整地块下方的地形。

将地形与形状对齐

 

场景编辑器窗口中重命名新图层宗地,以保持事物的条理。

接下来,在导航器窗口中展开规则文件夹,并将UrbanBlocks.cga规则文件拖放到地块上。

将UrbanBlocks.cga规则文件拖放到脚印上

 

默认情况下,地块上创建了两个建筑模块。

在该地块上创建的两个建筑模块

 

检查器窗口中调整各种属性以创建设计提案。您可以选择最多六个建筑模块,并且可以单独设置每个模块的宽度、高度、长度和块之间的间隙。在 常规下,您可以定义其他设置,包括第一个模块应开始的位置(模式偏移)、地块后退(后退深度)和颜色值(模块颜色)。

在检查器窗口中调整属性

 

调整属性后,您的场景应类似于以下图像:

情景A调整属性

 

一旦你对结果满意,继续通过在场景中添加树木。幸运的是,ESRI.lib中有许多树的类型。在 导航器窗口中,浏览到 /ESRI.lib/assets/Webstyles/Vegetation/Realistic/文件夹,选择一棵树,并将其拖放到场景中。

一棵来自ESRI.lib的树被添加到场景中

 

树在指针位置生成。要预览树,请右键单击文件名并选择文件预览以打开预览窗口。

继续添加树木,可以通过拖动新树或复制现有树木。您可以使用变换工具来创建大小和方向的变化。

改变树木的大小或方向

 

创建重新开发情景B

要创建替代方案,您只需复制方案A。右键单击方案A场景编辑器窗口中,选择复制。在复制方案对话框中,将其命名为方案B,并将其ID更改为B

场景B

与创建新场景时一样,复制的场景会自动设置为活动场景。再次选择地块,并在检查器窗口中调整此变体的属性。

在检查器窗口中调整的场景B属性

 

使用变换工具重新排列从A场景复制的树木,以适应你的替代提案。你也可以通过使用删除键删除树木来改变树木的数量,或者像之前描述的那样添加树木。

为情景B安排和调整比例的树木

 

通过这种方式,你已经创建了三种不同的情况:现状以及两个提案,A情景和B情景。干得好!

准备可视化场景

在你最终查看场景之前,请确保场景中的情况被正确突出显示。你可能已经注意到,CityEngine默认情况下有一个相当亮的场景灯光设置。这非常适合编辑,但对于可视化目的来说,更喜欢平滑的灯光。

点击工具栏上的场景光照和全景工具场景光和全景工具 ,打开场景光照和全景对话框。您可以手动定位太阳,或者选择时间和月份以及时区。对于本教程,保持太阳位置来源设置为 直接太阳能角度输入。现在,将太阳位置更改为以下设置:

  • 太阳高度角 35.0
  • 太阳方位角325.0

为了使灯光更加平滑,您还可以微调亮度级别设置:

  • 太阳强度0.7
  • 环境强度0.25
  • 阴影衰减0.3
场景和全景设置

 

最后,通过按F10关闭形状的可见性。这不仅隐藏了生成模型下的所有形状,还隐藏了未修复的街道交叉口的错误标记,这些标记可能会保留。

在这些场景之间切换

现在你已经准备好进行探索。你可以在场景编辑器窗口中通过点击相应的场景或直接在视口窗口中的 场景 情景工具下选择场景来在三个场景之间切换。

在场景编辑器和视口中切换到场景A

 

在不同的场景之间切换时,从不同的角度和缩放级别查看该网站。

重新开发河景1

 

重新开发河景2

 

重新开发河景3

 

重新开发河景4

 

场景还可以导出到虚幻引擎,用于未来的可视化,以及用于沉浸式观看的360度VR体验。

在本教程中,您将学习如何执行以下操作:

  • 使用获取地图数据工具从区域导入数据。
  • 清理数据,并利用其创建和可视化潜在的重新开发场景。

一定要查看其他 Essentials 教程: CityEngine 之旅处理 GIS 数据,和 基于规则的建模

继续学习CityEngine,请参阅 CityEngine教程目录

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。