Résumé
Détermine la visibilité des lignes de visée à l’aide des 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. La valeur du champ est 1 pour les lignes de visée visibles ou 0 pour les lignes de visée obstruées. Si vous n’avez pas 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 qui ne génèrent pas de jeux de données en 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 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.3d.Intervisibility(sight_lines, obstructions, {visible_field})
Paramètre | Explication | Type de données |
sight_lines | Lignes de visée 3D dont la visibilité sera évaluée. | Feature Layer |
obstructions [obstructions,...] | Entités 3D, couches de scènes de maillage intégré et surfaces qui présentent des obstructions potentielles pour les lignes de visée. | Feature Layer; TIN Layer; Raster Layer; Mosaic Layer; Scene Layer; File |
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
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")
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
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?