Fonctionnement de l'outil Barrière d'horizon (3D Analyst)

L'outil Barrière d'horizon génère des surfaces de contrôle de la hauteur depuis des horizons. Elles sont définies entre des points d'observation et les horizons associés à ces points. Les barrières sont utiles dans les scénarios d'urbanisme car elles peuvent permettre de déterminer si un bâtiment proposé aura un impact sur un horizon. Elles peuvent également permettre de tester la proximité des entités par rapport à l'horizon.

Cet outil peut également générer un volume d'ombre, qui peut ensuite être utilisé pour déterminer si les entités sont ombrées ou masquées par l'entité utilisée pour générer l'horizon à partir duquel la barrière a été créée.

L'extrusion de silhouettes générées par l'outil Horizon est une autre manière de générer des volumes d'ombre. Vous trouverez ci-après une description de cette approche.

Les surfaces de contrôle de la barrière sont capturées en tant qu'entités multipatch. Il ne s'agit pas de surfaces TIN ou raster traditionnelles. Chaque surface est plutôt un ensemble de faces créé en construisant ce qui ressemble à un éventail de triangles entre un point d'observation et les sommets d'un horizon correspondant à ce point.

Le workflow de génération de barrières consiste à exécuter d'abord l'outil Horizon et à prendre la sortie de cet outil pour l'utiliser comme source d'entités linéaires en entrée dans l'outil Barrière d'horizon. Les points sont mis en correspondance avec les lignes appropriées en utilisant les valeurs attributaires qui représentent les FID écrits dans la classe d'entités d'horizon par l'outil Horizon.

Les options Rayon minimum et Rayon maximal permettent de contrôler la taille des barrières en sortie. Par défaut, chaque barrière s'étend seulement aussi loin que l'horizon correspondant, mais vous pouvez la projeter pour garantir qu'elle aille au moins aussi loin que le rayon minimum mais pas plus loin que le rayon maximal.

L'outil Barrière d'horizon peut être utilisé conjointement avec un autre outil (par exemple, Sélectionner une couche par emplacement, disponible dans Gestion des données sous Couches et vues tabulaires) pour déterminer si les entités, telles que les multipatches représentant des bâtiments, violent la barrière en la dépassant. La barrière peut également permettre de déterminer si une entité est visible : si elle est plus loin que l'horizon et au-dessous de celui-ci, elle n'est pas visible du point d'observation.

La barrière d'horizon est toujours créée sous la forme d'un multipatch. Si vous choisissez de fermer le multipatch, une jupe et une base sont ajoutées. La jupe est composée de triangles qui descendent (ou s'élèvent) du périmètre de la barrière d'horizon jusqu'à l'altitude de la base que vous fournissez. La base est un anneau horizontal. Si l'altitude de la base est inférieure à la fois au sommet le plus bas de la barrière d'horizon et au point d'observation, ou si elle est supérieure à la fois au sommet le plus haut de la barrière d'horizon et au point d'observation, le multipatch fermé obtenu est traité comme s'il était fermé par l'outil Fermeture 3D. Ce multipatch fermé peut ensuite participer à certaines opérations sur les solides 3D, telles que Intersection 3D et Union 3D.

Si vous choisissez de fermer le multipatch, l'altitude de la base doit être définie soit au-dessous du point d'observation et au-dessous du sommet le plus bas de l'horizon, soit au-dessus du point d'observation et au-dessus du sommet le plus haut (ou le plus extrême si un rayon minimum est défini et a pour effet d'étendre la barrière d'horizon à l'extérieur de l'étendue verticale de la polyligne d'horizon). Si l'altitude de la base est définie au-dessus de la barrière d'horizon, c'est par définition un plafond plutôt qu'une base.

En dehors du sommet commun à la plupart des triangles de la barrière d'horizon (c'est-à-dire, le point d'observation), les sommets des triangles sont dérivés des sommets de la ligne en entrée. Si vous choisissez de fermer le multipatch, les sommets de l'horizon sont dupliqués, dans un sens, et leurs valeurs z sont définies à l'altitude de la base que vous fournissez.

Analyse des volumes d'ombre

L'outil Barrière d'horizon permet de générer des volumes d'ombre et d'effectuer d'autres tâches connexes.

Si la case à cocher Projeter sur le plan est activée, les deux valeurs Rayon minimum et Rayon maximal prendront des significations différentes : le Rayon minimum sera utilisé comme distance du point d'observation à l'horizon auquel commencer la barrière (zéro ou plus), tandis que le Rayon maximal sera utilisé comme distance du point d'observation à l'horizon auquel terminer la barrière. Le Rayon maximal doit être supérieur au Rayon minimum. Pour les volumes d'ombre, le Rayon minimum est généralement défini de façon à ce que l'extrémité proche (avant) de la barrière se trouve près de l'horizon, tandis que le Rayon maximal est généralement assez loin afin que si le point d'observation est au-dessus de l'horizon (comme si c'était le soleil), la barrière se termine sous la surface.

Si les valeurs des paramètres Rayon minimum, Rayon maximal et Altitude de la base sont égales à 0 (zéro), c'est-à-dire la valeur par défaut, et que la case à cocher Projeter sur le plan est activée, l'outil calcule automatiquement les valeurs de ces trois paramètres.

Suite à l'activation de la case à cocher Projeter sur le plan, les faces avant et arrière d'un multipatch fermé sont des plans verticaux où l'horizon est projeté sur le plan vertical.

Une barrière d'horizon fermée peut servir de volume d'ombre. Les autres entités, telles que les points qui représentent des fenêtres sur les bâtiments, peuvent être testées pour déterminer si elles sont à l'intérieur ou à l'extérieur du multipatch fermé, ce qui revient à être à l'intérieur ou à l'extérieur de l'ombre.

La barrière d'horizon est généralement constituée de nombreux triangles fins. Si le point d'observation est très loin, ces triangles deviennent des micropolygones extrêmement minces, en particulier près du point d'observation. Si la barrière est ensuite fermée, il est possible que le multipatch obtenu ne soit pas parfaitement fermé. Vous pouvez pallier à ce problème en utilisant l'option Projeter sur le plan (le dernier paramètre) et en définissant les distances de manière à ce que le multipatch fermé ne soit pas très long.

En outre, sans activer Projeter sur le plan, si les valeurs Rayon minimum et Rayon maximal sont toutes deux définies à zéro, la barrière s'étend exactement jusqu'à l'horizon. Il s'agit généralement d'un chemin complexe, avec beaucoup de sections partant du point d'observation ou allant vers celui-ci. Cela conduit à une collection complexe de triangles, qui complique à son tour la fermeture correcte du multipatch si vous choisissez de le fermer. Si l'option Projeter sur le plan est activée, les triangles situés le long du haut de la barrière forment une bande de triangles (ou un éventail de triangles si le paramètre Rayon minimum est défini à zéro). Si la barrière est fermée, la face verticale avant et la face verticale arrière sont chacune un anneau.

Pour créer une barrière distincte (ou un volume d'ombre) pour chaque bâtiment, il est généralement recommandé d'activer la case à cocher Segmenter la ligne d'horizon dans l'outil Horizon avant de créer l'horizon. Chaque polyligne de l'horizon a un paramètre FEATURE_ID. La valeur zéro ou plus indique que la polyligne passe le long d'une entité ayant ce FID, tandis que la valeur -1 indique que la polyligne passe le long de la surface (par exemple, le MNT). La valeur -2 représente un segment de transition, qui passe le long d'un rayon imaginaire du point d'observation, ce qui signifie qu'il apparaît au point d'observation sous la forme d'un point. Vous ignorerez généralement les polylignes ayant un attribut inférieur à 0 si vous souhaitez créer une barrière (en particulier un volume d'ombre) basée sur une entité.

Le point d'observation est considéré comme un point. Cela signifie que les rayons qui en émanent divergent. Si le point d'observation est loin, les rayons sont pratiquement parallèles.

Silhouettes et analyse des volumes d'ombre

L'outil Horizon permet de générer des silhouettes d'entités qui peuvent être utilisées par l'outil Barrière d'horizon pour générer des volumes d'ombre. Les silhouettes sont une autre approche de la création de volumes d'ombre. Comme décrit précédemment, il est également possible d'utiliser les horizons.

L'outil Barrière d'horizon détecte si vous avez spécifié une classe d'entités multipatch pour le paramètre Entités en entrée (in_features). Si vous avez fourni des multipatches, cet outil se comporte différemment que si vous aviez fourni des lignes. La description suivante suppose que vous avez fourni des multipatches.

Le paramètre Rayon minimum (min_radius_value_or_field) est la distance horizontale du point central du multipatch en entrée au début souhaité du volume d'ombre. La direction positive est loin du point d'observation. Si une valeur négative suffisamment grande est entrée, le volume d'ombre commence dans ou même avant l'entité d'origine (bâtiment).

Le paramètre Rayon maximal (max_radius_value_or_field) est la distance horizontale du point central du multipatch en entrée à la fin souhaitée du volume d'ombre. La direction positive est loin du point d'observation. Le Rayon maximal doit être supérieur au Rayon minimum.

La valeur du paramètre Fermé (closed) est ignorée.

La valeur du paramètre Altitude de la base (base_elevation) est ignorée.

La valeur du paramètre Projeter sur le plan (project_to_plane) est ignorée.

Si vous conservez la valeur par défaut 0 (zéro) des trois paramètres numériques (Rayon minimum, Rayon maximal et Altitude de la base), l'outil décide où le volume d'ombre doit commencer et se terminer. Dans ce cas, l'ombre commence juste derrière l'entité représentée par la silhouette et se termine généralement suffisamment loin pour que la fin soit sous le sol (en supposant que le point d'observation soit au-dessus de la silhouette).

Le volume d'ombre est un multipatch fermé.

La classe d'entités multipatch en sortie contient les champs suivants :


7/10/2012