天际线障碍的工作原理

天际线障碍物工具可根据天际线生成高度控制面。这些面在观测点和与这些点关联的天际线之间进行定义。障碍物非常适合用于城市规划方案中,因为通过它们可判断出提议的建筑物是否会对天际线产生影响。它们还可用于测试要素与地平线的接近程度。

通过该工具还可生成阴影体,该阴影体转而又可确定用来生成天际线(根据该天际线创建障碍物)的要素是否会对其他要素产生阴影或遮挡其他要素。

生成阴影体的另一种方法是,拉伸由天际线工具生成的轮廓。请参阅以下有关该方法的描述。

障碍物控制面将被捕获为多面体 (multipatch) 要素。它们并不属于传统的基于栅格或基于 TIN 的表面。实际上,每个表面都是一组面,这些面通过在观测点和与其对应的天际线折点之间构造形如三角扇的对象生成。

生成障碍物的操作流程为,先运行天际线工具并从该工具获取输出,然后将该输出作为天际线障碍物工具的输入线要素源。通过表示 FID 的属性值将观测点与对应的线相匹配,这些 FID 已通过天际线工具写入到天际线要素类中。

最小半径和最大半径选项可控制输出障碍物的大小。默认情况下,各障碍物只能延伸到其各自对应的天际线,但是您可将它投影放大,以确保它的尺寸至少达到最小半径,同时又不超过最大半径。

天际线障碍物可与其他工具结合使用(例如图层和表视图数据管理中的按位置选择图层),从而确定要素(例如表示建筑物的多面体)是否因为突起穿过了障碍物而与障碍物发生冲突。障碍物还可用于判定要素是否可见:如果要素位于天际线下方且远于天际线,则该要素对于观察点不可见。

天际线障碍物将始终以多面体的形式创建。如果选择闭合多面体,则会添加裙边和底面。裙边由三角形组成,这些三角形从天际线障碍物的四边落到(或升到)指定的基础高程;而底则是一个水平的环。如果基础高程同时位于观察点和天际线障碍物的最低折点之下,或者同时位于观察点和天际线障碍物的最高折点之上,则生成的闭合多面体会被是否为闭合 3D 工具视为闭合。然后,该闭合多面体便可参与到某些 3D 实体操作中,例如 3D 相交3D 联合

如果选择闭合多面体,应将基础高程设置为同时位于观察点和天际线最低折点之下或者观察点和最高折点之上(如果设置了最小半径从而使天际线障碍物延伸到天际线折线 (polyline) 的垂直范围之外,基础高程也可设置为更极端的值)。如果该基础高程设置为位于天际线障碍物之上,则它实质上属于顶面而不是底面。

除天际线障碍物中大部分三角形共用的折点外(即观察点),三角形的折点均将由输入线的折点得来。如果选择闭合多面体,天际线的折点将被复制,从某种意义上说,它们的 z 值将被设置为基础高程。

阴影体分析

可以使用天际线障碍物工具来生成阴影体以及执行其他相关的任务。

如果选中投影到平面,则最小半径最大半径这两个值将表示其他的含义:最小半径将用作从观察点到作为障碍物起始位置的天际线之间的距离(零或更大);最大半径将用作从观察点到作为障碍物终止位置的天际线之间的距离。最大半径应大于最小半径。对于阴影体来说,最小半径通常会设置为使障碍物的近端(前端)接近天际线,而最大半径通常将设置为足够远,以便在观察点位于天际线之上时(如太阳一般),障碍物的两端能够位于表面之下。

如果最小半径最大半径以及基础高程的值均为默认值 0(零),并且选中投影到平面复选框,则该工具将自动计算这三个参数的值。

选中投影到平面复选框将使得闭合多面体的前面和后面成为垂直的平面,而天际线将投影到垂直平面上。

闭合的天际线障碍物可用作阴影体。其他要素(例如表示建筑物上窗户的点)可通过测试来判断位于闭合多面体的内部还是外部,也就是位于阴影的内部还是外部。

天际线障碍物通常由多个细长的三角形组成。如果观察点的位置非常远,则这些三角形将变为极小的碎屑点(尤其是位于观察点附近的三角形)。如果之后闭合障碍物,则生成的多面体可能没有闭合完好。通过使用投影到平面选项(最后一个参数)并将距离设置为不使闭合多面体过长,这样便可解决上述无法闭合完好的问题。

此外,在不选中投影到平面的情况下,如果将最小半径值和最大半径值都设为零,则障碍物将恰好触及天际线。这通常会使轨迹变得复杂,观察点与天际线之间反反复复需要生成很多部分。这将导致生成错综复杂的一系列三角形,这些三角形转而又会使多面体更加无法正常闭合(如果选择了进行闭合)。如果选中投影到平面,沿障碍物顶部方向上的三角形将形成一条三角带(如果最小半径设置为零,则为三角扇)。如果障碍物闭合,则前垂直面和后垂直面都将成为环。

要为每个建筑物创建独立的障碍物(或阴影体),通常建议在创建天际线之前,选中天际线工具中的分段天际线复选框。天际线中的每条折线 (polyline) 都具有 FEATURE_ID 参数。如果值大于等于零,则表明折线沿着具有该 FID 的要素行进,而值为 -1 则表明折线沿着表面(如地形)行进。值为 -2 表示一条过渡线段,其从观察点处开始沿着一条假想射线行进,这意味着对于观察者来说,它将显示为一个点。如果您希望基于要素创建障碍物(尤其是阴影体),则通常会忽略属性值小于 0 的折线。

观察位置通常视为一个点。这表示从它那里发出的光线是分散光线。如果观察位置很远,则各条光线将接近于平行。

轮廓和阴影体分析

天际线工具可用于生成要素的轮廓,且天际线障碍物工具可利用这些轮廓生成阴影体。另外一种创建阴影体的方法是使用轮廓;如上所述,还可使用天际线。

天际线障碍物工具会检测是否已为输入要素 (in_features) 参数指定了多面体要素类。如果提供的是多面体,则该工具的执行方式将与提供线时的执行方式不同。以下描述假设您提供的是多面体。

最小半径 (min_radius_value_or_field) 参数表示输入多面体的中心点与所需的阴影体起始点的水平距离。正方向为背离观察点的方向。输入足够大的负值将使得阴影体的起始位置处于原始要素(建筑物)的内部甚至前面。

最大半径 (max_radius_value_or_field) 参数表示输入多面体的中心点与所需的阴影体终止点的水平距离。正方向为背离观察点的方向。最大半径应大于最小半径

闭合 (closed) 参数值将被忽略。

基础高程 (base_elevation) 参数值将被忽略。

投影到平面 (project_to_plane) 参数值将被忽略。

如果您将这三个数值型参数(最小半径最大半径基础高程)的值全部设置为默认值 0(零),则可由该工具决定阴影体的起始和终止位置。在这种情况下,阴影的起始位置将恰好位于轮廓所代表要素的后面,并且终止位置通常足够远,直至落于地面以下(假设观察点位于轮廓上方)。

阴影体将成为一个闭合的多面体。

输出多面体要素类将包含以下字段:

5/10/2014