Intérieur 3D (3D Analyst)
Récapitulatif
Teste chaque entité afin de déterminer si elle est comprise dans un multipatch. Si tel est le cas, l'outil enregistre une entrée dans une nouvelle table, afin d'indiquer à quelle entité elle appartient.
Illustration
Utilisation
-
Nécessite des entités en entrée, qui doivent avoir une géométrie multipatch fermée.
-
Seuls les multipatchs fermés peuvent être utilisés pour l'analyse.
-
Une entité peut appartenir à plusieurs entités multipatch fermées et avoir plusieurs entrées dans la table en sortie.
L'outil Intérieur 3D est un opérateur 3D qui fait partie du jeu d'outils Entités 3D. Pour plus d'informations sur les opérateurs de jeu à utiliser et sur la manière de les utiliser, reportez-vous à la rubrique Utilisation d'opérateurs de jeu 3D.
-
Voici les champs présents dans la table en sortie :
- OBJECTID : OBJECTID du champ.
- Target_ID : OBJECTID des entités d'origine.
- Statut : indique si l'entité en entrée (Target_ID) se trouve à l'intérieur ou partiellement à l'intérieur d'un multipatch.
-
Les champs suivants sont présents dans la table en sortie lorsque l'option Tableau en sortie complexe est sélectionnée.
- OBJECTID : OBJECTID du champ.
- Target_ID : OBJECTID de l'entité d'origine.
- Statut : indique si l'entité en entrée (Target_ID) se trouve à l'intérieur ou partiellement à l'intérieur d'un multipatch.
- Container_ID représente le multipatch exact auquel appartiennent totalement ou partiellement les entités en entrée.
Syntaxe
Paramètre | Explication | Type de données |
in_target_feature_class |
Entités points, linéaires, polygones ou multipatch prenant en charge les valeurs z. | Feature Layer |
in_container_feature_class |
Entités multipatch. Les multipatch doivent être fermés. Utilisez l'outil Fermeture 3D afin de déterminer si les multipatches sont fermés. | Feature Layer |
out_table |
Table en sortie qui fournit une liste d'entités en entrée 3D appartenant totalement ou partiellement à des entités multipatch en entrée fermées. La table en sortie contient un OBJECTID (identifiant d'objet), un identifiant cible (Target_ID) et un statut. Le statut indique si l'entité en entrée (Target_ID) se trouve à l'intérieur ou partiellement à l'intérieur d'un multipatch. | Table |
complex_output (Facultatif) |
L'option Tableau en sortie complexe modifie la table en sortie afin d'inclure des informations à propos de la relation entre les entités en entrée et les entités multipatch en entrée. Vous pouvez ainsi identifier quelles entités appartiennent totalement ou partiellement à des multipatches fermés spécifiques. Lorsque cette option est activée, un Container_ID supplémentaire s'affiche pour la table en sortie, ainsi qu'un Target_ID. Ce Container_ID représente le multipatch exact auquel appartiennent totalement ou partiellement les entités en entrée (Target_ID). | Boolean |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction Intérieur 3D en mode immédiat.
import arcpy from arcpy import env arcpy.CheckOutExtension('3D') env.workspace = 'C:/data' arcpy.Inside3D_3d('inFeature.shp', 'sample.gdb/multipatch', 'sample.gdb/output_table')
Le script Python ci-dessous illustre l'utilisation de la fonction Intérieur 3D dans un script autonome.
'''**************************************************************************** Name: Inside3D Example Description: This script demonstrates how to use the Inside3D tool. ****************************************************************************''' # Import system modules import arcpy import exceptions, sys, traceback from arcpy import env try: # Obtain a license for the ArcGIS 3D Analyst extension arcpy.CheckOutExtension('3D') # Set environment settings env.workspace = 'C:/data' # Set Local Variables inFC = 'Points_3D.shp' # the input feature inMP = 'Buildings.shp' # the input multi-patch # Ensure output has a unique name outTbl = arcpy.CreateUniqueName('Output_Table.dbf') # Execute Inside 3D arcpy.Inside3D_3d(inFC, inMP, outTbl) except arcpy.ExecuteError: print arcpy.GetMessages() except: # Get the traceback object tb = sys.exc_info()[2] tbinfo = traceback.format_tb(tb)[0] # Concatenate error information into message string pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\ .format(tbinfo, str(sys.exc_info()[1])) msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2)) # Return python error messages for script tool or Python Window arcpy.AddError(pymsg) arcpy.AddError(msgs)