Étiquette | Explication | Type de données |
Entités multipatch en entrée | Entités multipatch qui seront unies. | Feature Layer |
Classe d’entités en sortie | Classe d'entités multipatch en sortie qui stocke les entités agrégées. | Feature Class |
Champ de regroupement (Facultatif) | Champ à utiliser pour identifier les entités à regrouper. | Field |
Désactiver l’optimisation (Facultatif) | Indique si l’optimisation est effectuée sur les données en entrée. L’optimisation prétraite les données en entrée en les regroupant pour améliorer les performances et créer des sorties uniques pour chaque jeu d’entités qui se superposent.
| Boolean |
Tous les solides en sortie (Facultatif) | Indique si la classe d’entités en sortie contient toutes les entités ou uniquement les entités superposées qui ont été agrégées.
| Boolean |
Table en sortie (Facultatif) | Table plusieurs à un qui identifie les entités en entrée qui contribuent à chaque sortie. | Table |
Synthèse
Combine des entités multipatch superposées fermées à partir d'une classe d'entités en entrée.
Illustration
Utilisation
La géométrie multipatch fermée est requise pour cette analyse. L’outil Fermeture 3D permet de déterminer si une classe d’entités multipatch contient des entités fermées et l’outil Inclure un multipatch permet d’éliminer des intervalles dans les entités multipatchs.
Cet outil combine les entités multipatch qui s’intersectent et englobent des volumes superposés en conservant les portions les plus à l’extérieur des entités en entrée et en supprimant la géométrie qui se trouve à l’intérieur de l’entité. Une table distincte peut être créée pour identifier les entités source qui ont été fusionnées afin de créer chaque sortie combinée.
Un champ de regroupement peut servir à identifier les entités à agréger (par exemple, lorsque plusieurs entités représentent des parties d’un même bâtiment). Ce champ de regroupement contribue à l'amélioration significative des performances en réduisant le nombre d'itérations de l'outil dans le jeu de données. Une entité est seulement comparée aux entités qui font partie de son groupe, plutôt qu'à toutes les entités.
Lorsque l'optimisation est activée, l'outil essaie de diviser automatiquement les entités en groupes en analysant l'emprise de chaque entité. Si vous spécifiez un champ de regroupement, vous pouvez désactiver l'optimisation pour accroître les performances de l'outil. L’optimisation peut également être désactivée en l’absence d’un champ de regroupement si la sortie désirée vise à agréger toutes les entités qui se superposent dans un même multipatch. Soyez prudent lorsque vous décidez du nombre d’entités à agréger car des entités très grandes et complexes peuvent être créées dans la classe d’entités en sortie et diminuer considérablement les performances d’affichage.
Un avertissement s'affiche pour indiquer que l'entité obtenue n'est pas simple et n'a pas pu être créée si deux entités multipatch ou plus partagent uniquement un tronçon ou un sommet. Ce message indique que les entités n’ont pas été fusionnées car elles ne partageaient pas un volume d’espace.
Les textes et couleurs des entités multipatch en entrée ne seront pas conservées dans la sortie.
Paramètres
arcpy.ddd.Union3D(in_feature_class, out_feature_class, {group_field}, {disable_optimization}, {output_all}, {out_table})
Nom | Explication | Type de données |
in_feature_class | Entités multipatch qui seront unies. | Feature Layer |
out_feature_class | Classe d'entités multipatch en sortie qui stocke les entités agrégées. | Feature Class |
group_field (Facultatif) | Champ à utiliser pour identifier les entités à regrouper. | Field |
disable_optimization (Facultatif) |
Indique si l’optimisation est effectuée sur les données en entrée. L’optimisation prétraite les données en entrée en les regroupant pour améliorer les performances et créer des sorties uniques pour chaque jeu d’entités qui se superposent.
| Boolean |
output_all (Facultatif) |
Indique si la classe d’entités en sortie contient toutes les entités ou uniquement les entités superposées qui ont été agrégées.
| Boolean |
out_table (Facultatif) | Table plusieurs à un qui identifie les entités en entrée qui contribuent à chaque sortie. | Table |
Exemple de code
L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python.
import arcpy
from arcpy import env
env.workspace = 'C:/data'
arcpy.Union3D_3d('multipatch.shp', 'union_output.shp', 'GROUP_FIELD',
'DISABLE', 'ENABLE', 'UnionTable.dbf')
L’exemple suivant illustre l’utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: Union3D Example
Description: This script demonstrates how to use the
Union3D tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data'
# Set Local Variables
inMP = "multipatch.shp"
# Ensure output multipatch has a unique name
outMP = arcpy.CreateUniqueName("union_output.shp")
outTbl = arcpy.CreateUniqueName("UnionTable.dbf")
GroupField = "Type"
optimize = "DISABLE"
solids = "ENABLE"
# Execute Union3D
arcpy.ddd.Union3D(inMP, outMP, GroupField, optimize, solids, outTbl)
Environnements
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?