Disponible avec une licence Spatial Analyst.
L'outil Champ de vision 2 détermine les emplacements visibles de la surface pour un ensemble de points ou de polylignes d'observation, à l'aide de méthodes géodésiques. Il transforme la surface d'altitude en un système de coordonnées 3D géocentriques et applique des lignes de visée 3D au centre de chaque cellule transformée. Il exploite la puissance d'une unité de traitement graphique (GPU, Graphics Processing Unit), si votre système en est doté. Il tient compte, en option, de l'incertitude verticale ou de l'erreur que présente la surface d'altitude en entrée. Il peut également générer une table de relations point d'observation-région pour un maximum de 32 points d'observation (points, multipoints ou polylignes) pouvant être reliés à la classe d'entités des points d'observation en entrée.
Puisque le calcul est effectué dans un véritable système de coordonnées 3D, l'outil Champ de vision 2 n'a pas besoin du paramètre de correction de la courbure de la Terre. Il utilise également les unités z de la référence spatiale en entrée, si elle est disponible, plutôt qu'un paramètre de facteur z. Puisque chaque ligne de visée 3D est évaluée indépendamment des autres lignes de visée, il évite certaines erreurs pouvant s'introduire dans un algorithme de champ de vision basé sur un front d'ondes (la famille de champs de vision existante des outils de géotraitement, par exemple). Ainsi, l'outil Champ de vision 2 produit une visibilité et des surfaces AGL plus précises que l'outil Champ de vision.
Détermination de la visibilité
Cet outil utilise des points 3D géocentriques pour les points d'observation, les cibles et les centres des cellules de la surface d'altitude. Une cible est le centre d'une cellule de surface auquel est ajouté un décalage supplémentaire facultatif. Un système de coordonnées 3D géocentrique est un système de coordonnées cartésiennes orienté à droite dont l'origine C est le centre de la Terre, l'axe x désignant l'intersection du méridien principal et de l'équateur, l'axe Z désignant le pôle Nord et l'axe y pivotant à 90 ° dans le sens des aiguilles d'une montre à partir de l'axe x et orienté vers le bas à partir du pôle Nord. La figure ci-dessous illustre un exemple d'emplacement cible T exprimé avec des coordonnées géocentriques.
Pour déterminer la visibilité de chaque cible, des lignes de visée 3D sont construites de chaque point d'observation vers chaque cible. La figure ci-dessous illustre la construction des lignes de visée. La trajectoire au sol de chaque ligne de visée sur le sphéroïde est déterminée et divisée en intervalles de taille de cellule. Dans cette figure, les intervalles sont identifiés par les points verts et la distance qui les sépare correspond à la taille de cellule. A chaque intervalle, la distance d le long de la perpendiculaire au sphéroïde, entre la ligne de visée et la surface, est calculée. L'altitude du sol est estimée grâce à une approche linéaire de pondération par l'inverse de la distance (IDW) à l'aide des centres des cellules les plus proches. Si la valeur de d est positive pour tous les intervalles au sol le long de la ligne de visée, la cible est considérée comme visible. Dans le cas contraire, elle est considérée comme invisible.
La trajectoire au sol de chaque ligne de visée sur le sphéroïde est déterminée et divisée en intervalles de taille de cellule. A chaque intervalle, la distance d le long de la perpendiculaire au sphéroïde, entre la ligne de visée et la surface, est calculée. L'altitude du sol est estimée grâce à une approche IDW linéaire à l'aide des centres des cellules les plus proches. Si la valeur de d est positive pour tous les intervalles au sol le long de la ligne de visée, la cible est considérée comme visible. Dans le cas contraire, elle est considérée comme invisible.
Erreur verticale
Le paramètre Erreur verticale n'est activé que si le type d'analyse correspond à FREQUENCY. Il permet de tenir compte de l'incertitude verticale que présente la surface d'altitude en entrée. Lorsque la valeur de ce paramètre est 0 ou qu'elle n'est pas spécifiée, une seule ligne de visée est définie entre le point d'observation et chaque cible. Il en résulte une cible visible ou invisible. Dans ce cas, le raster de visibilité en sortie enregistre le nombre de fois que chaque emplacement de cellule du raster de surface en entrée peut être vu par un point d'observation en entrée quelconque.
Lorsque le paramètre Erreur verticale est supérieur à 0 (par exemple, 0,6 mètre), certaines lignes de visée sont définies entre le point d'observation et chaque cible. Pour chaque ligne de visée et chaque intervalle, un nombre aléatoire distribué uniformément et compris dans la plage [-0,6, 0,6] est ajouté à d. Si d prend une valeur inférieure à zéro, cette ligne de visée spécifique est terminée. Dans ce cas, chaque point d'observation ajoute un nombre compris entre zéro et un (nombre de lignes de visée réussies divisé par le nombre total de lignes de visée, à partir de ce point d'observation) au raster de visibilité en sortie qui adopte alors le type nombre à virgule flottante à simple précision.
La détermination d'AGL
Un raster AGL (Above Ground Level, niveau au-dessus du sol) est une sortie facultative qui représente la hauteur au-dessus du sol à laquelle les cellules cibles non visibles doivent s'élever afin de devenir visibles. La figure suivante illustre la manière dont la valeur AGL est déterminée. T est une cible dotée d'une certaine hauteur (qui est le décalage de la cible dans l'illustration). La ligne de visée entre le point d'observation O et la cible T est bloquée par le MNT. Par conséquent, la cible T n'est pas visible. Si la cible est élevée à la nouvelle position T', elle devient alors visible car la ligne de visée est désormais dégagée. La distance entre T' et le sol est la valeur AGL dans le raster en sortie.
Le calcul de la distance TT' ne suppose pas que le triangle OTT' est un triangle rectangle.
Interprétation de la table de relations point d'observation-région en sortie
Lorsque le type d'analyse est Points d'observation, l'outil produit en sortie une table de relations point d'observation-région, comme l'indique la figure suivante. Dans cette table, le champ Observateur répertorie les ID d'entités de la classe d'entités en entrée. Le champ Région répertorie les valeurs de cellule des régions du raster de visibilité en sortie. La table répertorie ainsi les régions que chaque point d'observation peut voir. Vous pouvez utiliser cette table pour consulter les ID de région auxquels sont attribués un ID de point d'observation, et vice versa.
Les mêmes informations sont codées dans les valeurs des cellules en sortie du raster de visibilité, mais de manière moins accessible. Dans ce cas, le raster de visibilité en sortie contient les trois valeurs (1, 2 et 3), comme illustré dans la capture d'écran suivante de la table attributaire.
Les points d'observation en entrée sont triés par ordre croissant selon leurs valeurs OBJECTID et le raster de visibilité en sortie signale l'opérateur OU bit à bit de leurs positions triées. L'algèbre spatial de raster permet d'extraire des informations indiquant quels points d'observation peuvent voir quelles régions et ces informations peuvent être reliées aux entités points d'observation à l'aide de cette règle de tri. La figure ci-dessous présente un exemple. Supposons que le point d'observation 1 corresponde à l'IdObjet 1 et que le point d'observation 2 corresponde à l'IdObjet 2. Dans la carte de visibilité en sortie, la région 1 (la zone en jaune pâle) aura une valeur de cellule égale à 1. Dans la carte de visibilité en sortie, la région 2 (la zone en bleu) aura une valeur de cellule égale à 2. La région 3 (la zone en vert) dans la carte de visibilité en sortie aura une valeur de cellule égale à 3, la valeur numérique de l'opérateur OU bit à bit de 1 et 2.
Dans l'illustration ci-dessus, les valeurs des cellules en sortie sont l'opérateur OU bit à bit des index internes des entités en entrée. La table des relations point d'observation-région renvoie les mêmes informations à l'aide d'ID de classes d'entités plutôt que d'index internes.
Contrôle de l'analyse de visibilité
Il est possible de limiter le champ de visibilité de chaque point d'observation en spécifiant diverses valeurs numériques ou des champs dans les paramètres des points d'observation. D'un point de vue fonctionnel, ces paramètres de points d'observation sont identiques aux champs de visibilité de points d'observation, tels que OFFSETA ou OFFSETB, permettant de contrôler l'analyse de visibilité effectuée par l'outil Champ de vision. La différence est que les paramètres de points d'observation de l'outil Champ de vision 2 acceptent tout champ numérique et ne sont pas limités à des champs de noms spécifiques.
Utiliser un GPU
Un GPU est un composant matériel qui accélère le rendu de graphiques à l'écran. Il permet également d'exécuter diverses opérations courantes de calcul. L'outil Champ de vision 2 est accéléré par le GPU, ce qui signifie qu'un GPU peut servir à calculer la visibilité. Actuellement, les GPU NVIDIA équipés de l'architecture de calcul CUDA (version 2.0 ou supérieure) sont pris en charge. En présence d'un seul GPU (connecté à l'affichage), ce dernier sera utilisé et un message d'avertissement apparaîtra pendant l'exécution de l'outil. En présence de plusieurs GPU, c'est celui qui n'est pas connecté à l'affichage qui sera choisi. En l'absence de GPU, l'outil utilise le nombre maximum de cœurs de l'UC autorisés par la valeur d'environnement de géotraitement Facteur de traitement parallèle.
Si vous utilisez un GPU dans le calcul de l'outil Champ de vision 2, le calcul est divisé en plusieurs petites portions et transmis au GPU qui procédera au traitement. Le pilote du périphérique d'affichage de la fenêtre peut réinitialiser le GPU si une partie du calcul prend plus de 2 secondes. Il s'agit de la fonctionnalité Windows TDR (Timeout Detection and Recovery). Si cela se produit, l'exécution de l'outil risque d'échouer. Pour empêcher ce problème, une clé de registre (TdrDelay) doit être créée ou mise à jour pour accepter une valeur plus importante (60 secondes, par exemple). Vous trouverez sur le site Microsoft Developers Network des informations supplémentaires sur le paramétrage du délai de TDR. Sachez que lorsque vous créez ou modifiez cette valeur de registre, vous devez sauvegarder le registre au préalable. Vous devez redémarrer la machine pour que cette modification prenne effet.
Pour les analyses spatiales faisant appel à un GPU, Esri recommande l'utilisation d'une machine dotée de deux GPU : un pour l'affichage et un autre pour le calcul uniquement. Pour les GPU NVIDIA, l'unité GPU qui procède au calcul doit utiliser le pilote TCC (Tesla Compute Cluster) plutôt que le pilote d'affichage WDDM Windows par défaut. Les notes de version expliquent la procédure à suivre. Le mode TCC permet au GPU chargé du calcul de fonctionner plus efficacement. Il sera alors également accessible à partir d'une session Bureau à distance. Esri recommande également de ne pas activer le mode ECC (capacité de détection et de correction d'erreurs de RAM par le GPU), car cela réduit la mémoire disponible sur le GPU et augmente les accès à la mémoire du GPU.