Résumé
Détermine la visibilité des lignes de visée par rapport aux obstructions potentielles définies par une combinaison de surfaces et d'entités 3D.
Utilisation
Cet outil modifie les Lignes de visée en entrée en ajoutant un nouveau champ ou en mettant à jour un champ existant. Vous pouvez spécifier le nom du champ dans le paramètre Nom de champ visible. Les valeurs de champ sont 1 pour les lignes de visée visibles ou 0 pour les lignes de visée obstruées. Si vous n'avez pas d'accès en écriture aux entités en entrée ou que vous ne souhaitez pas que vos donnée en entrée soient modifiées, effectuez une copie de l'entrée que vous pourrez utiliser avec cet outil. Reportez-vous à la rubrique Outils sans sortie pour obtenir plus d'informations, ainsi que des stratégies pour éviter les modifications de données indésirables.
-
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.
L'exécution de l'outil est plus rapide si toutes les données en entrée sont dans la même référence spatiale, car les données ne doivent pas être projetées (éventuellement 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.
- Vous pouvez utiliser l'outil Ligne de visée si vous souhaitez déterminer la position de l'emplacement obstruant pour les lignes de visée non visibles.
Syntaxe
arcpy.ddd.Intervisibility(sight_lines, obstructions, {visible_field})
Paramètre | Explication | Type de données |
sight_lines | Lignes de visée 3D. | Feature Layer |
obstructions [obstructions,...] | Les surfaces et les entités multipatch pouvant obstruer les lignes de visée. Vous pouvez spécifier une couche d'entités surfaciques ou linéaires si la hauteur de base et l'extrusion de la couche sont définies. | Feature Layer; Mosaic 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. Si le champ existe déjà, ses valeurs sont écrasées. | String |
Sortie dérivée
Nom | Explication | Type de données |
out_feature_class | Lignes de visée 3D mises à jour. | Couche d'entités |
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.
import arcpy
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 explique comment calculer l'intervisibilité de lignes de visée construites à partir de points d'observation et de lignes cibles par rapport aux obstructions présentées par une surface et des entités de bâtiments.
# Import system modules
import arcpy
# Set environments
arcpy.env.workspace = 'C:/data'
print("Constructing Sightlines")
arcpy.ddd.ConstructSightLines("Observers.shp", "Targets.shp", "sightlines.shp",
observer_height_field='Shape.Z', target_height_field='Shape.Z')
print("Calculating Intervisibility")
arcpy.ddd.Intervisibility("Sightlines.shp", obstructions=["DTM_Tin", "data.gdb/buildings"],
visible_field="Visibility")
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst