Disponible avec une licence 3D Analyst.
Récapitulatif
Détermine la visibilité des lignes de visée à travers des obstructions potentielles. Ces obstructions potentielles peuvent être une combinaison quelconque de rasters, TIN, multipatchs et polygones extrudés ou lignes.
Utilisation
-
Seules les extrémités de la ligne en entrée sont utilisées pour définir le point d'observation et la cible. Idéalement, les lignes de visée doivent être des lignes droites composées de deux sommets représentant le point d'observation et l'emplacement cible en fonction duquel la visibilité est déterminée.
-
Utilisez l'outil Construire des lignes de visée si l'emplacement du point d'observation est défini par des entités ponctuelles et que la cible de visibilité est représentée par les données stockées dans une classe d'entités différente.
Cet outil ne crée pas de nouvelle sortie, mais il ajoute un nouvel attribut à la classe d'entités de lignes de visée en entrée. Si vous ne souhaitez pas que vos données en entrée soient modifiées, faites-en une copie et utilisez la copie comme entrée.
Le type de géométrie en entrée Lignes de visée doit être de type PolyligneZ (lignes 3D, dotées de valeurs Z) pour qu'une analyse pertinente puisse avoir lieu.
Les obstructions en entrée peuvent être n'importe quelle combinaison de surfaces et/ou d'entités. Les surfaces doivent être des rasters ou des TIN. La géométrie de chaque couche d’entités d'obstruction doit être de type multipatch, ligne ou polygone. Chaque couche d'entités linéaires ou surfaciques doit contenir la hauteur de base et des informations d'extrusion, sinon son contenu est ignoré.
Chaque ligne de visée en entrée peut comporter plus de deux sommets, mais seuls le premier et le dernier sont utilisés. Chaque ligne de visée sera par conséquent toujours une ligne droite.
Les valeurs Z du premier et du dernier sommet de chaque ligne de visée sont les seules sources de valeurs Z utilisées.
Le résultat de l'analyse est enregistré dans la table attributaire d'entités de la ligne de visée en entrée dans un champ d'entier. Le nom de ce champ par défaut est VISIBLE, mais il peut être modifié grâce au paramètre Nom de champ visible.
Le résultat peut être la valeur 1 ou 0. La valeur 1 indique que la ligne de visée n'est pas obstruée par l'une des obstructions potentielles spécifiées dans le paramètre Obstructions, ce qui signifie que son point de départ et son extrémité sont visibles l'un pour l'autre. La valeur 0 indique que la ligne de visée est obstruée par au moins une surface ou entité.
Si le champ de résultat (par exemple VISIBLE) existe déjà dans la classe d'entités Ligne de visée, son contenu est remplacé. Si l'outil est exécuté à partir de la boîte de dialogue, un avertissement s'affiche lorsque l'outil détecte que le champ existe déjà. Quelle que soit la méthode d'exécution de l'outil (par exemple, boîte de dialogue ou fenêtre Python), si les résultats sont consignés dans un champ existant, un message d'avertissement est ajouté aux messages de résultat, indiquant que des données ont peut-être été remplacées.
L'exécution de l'outil est plus rapide si toutes les entrées sont dans la même référence spatiale, car les données n'ont pas besoin d'être projetées (potentiellement plusieurs fois) pour vérifier les obstructions. Il est particulièrement utile que toutes les obstructions soient dans la même référence spatiale. La référence spatiale des lignes de visée est moins importante, car elles sont plus faciles à projeter.
- A la différence de l'outil Ligne de visée, cet outil détermine si une ligne de visée est obstruée, plutôt que l'endroit où elle est obstruée pour la première fois. Aucun enregistrement n'est conservé concernant la nature de l'obstruction qui obstrue une ligne de visée donnée.
Si la direction (azimut et angle vertical) de chaque ligne de visée est souhaitée, vous pouvez faire en sorte que cette information soit consignée dans les lignes de visée lorsque l'outil Construire des lignes de visée est utilisé pour générer des lignes de visée avant d'exécuter cet outil.
Syntaxe
Intervisibility_3d (sight_lines, obstructions, {visible_field})
Paramètre | Explication | Type de données |
sight_lines | Lignes de visée 3D. | Feature Layer |
obstructions [obstructions,...] | Une ou plusieurs classes d'entités et/ou surfaces pouvant obstruer les lignes de visée. | Feature Layer, Raster Layer, TIN Layer |
visible_field (Facultatif) | Nom du champ destiné à stocker les résultats de visibilité. Une valeur de résultat de 0 indique que le point de départ et l'extrémité de la ligne de visée ne sont pas visibles l'un pour l'autre. La valeur 1 indique que le point de départ et l'extrémité de la ligne de visée sont visibles l'un pour l'autre. Le nom de champ par défaut est VISIBLE. | String |
Exemple de code
Exemple 1 d'utilisation de l'outil Intervisibilité (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
arcpy.CheckOutExtension("3D")
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", "3dbuildings.shp;topo_tin", "Visibility")
Exemple 2 d'utilisation de l'outil Intervisibilité (fenêtre autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.Ce script montre comment calculer l'intervisibilité pour les lignes de visée par rapport aux obstructions présentées par une surface et/ou des bâtiments représentés par des multipatchs.
# Import system modules
import arcpy
try:
# Checking out 3D Analyst Extension
arcpy.CheckOutExtension("3D")
# Set environments
arcpy.env.workspace = 'C:/data'
# Setting up input and output variables
sightlines = "My_Sightlines.shp"
surface = "DTM_Tin"
buildings = "My_3D_Buildings.shp"
viz_field_name = "Visibility"
print("Calculating Intervisibility...")
arcpy.Intervisibility_ddd(
sightlines, surface + ';' + buildings, viz_field_name)
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
finally:
arcpy.CheckInExtension("3D")
Environnements
Informations de licence
- ArcGIS for Desktop Basic: Requis 3D Analyst
- ArcGIS for Desktop Standard: Requis 3D Analyst
- ArcGIS for Desktop Advanced: Requis 3D Analyst