É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 utilisé pour identifier les entités qui doivent être regroupées. | Field |
Désactiver l’optimisation
(Facultatif) | Indique si l'optimisation est appliquée ou non aux données en entrée. L'optimisation exécute un prétraitement des données en entrée en les groupant afin d'améliorer les performances et de créer des sorties uniques pour chaque ensemble d'entités superposées.
| Boolean |
Tous les solides en sortie
(Facultatif) | Détermine si la classe d'entités en sortie contient toutes les entités ou seulement les entités superposées qui ont été agrégées.
| Boolean |
Table en sortie
(Facultatif) | Table plusieurs-à-un identifiant les entités en entrée qui constituent 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.
Les entités multipatch qui englobent des volumes superposés sont combinées en intersectant les enveloppes des entités et en supprimant les portions intérieures redondantes. Ce processus se produit de manière itérative jusqu'à ce que toutes les entités multipatch de la classe d'entités aient été traitées.
Un champ de regroupement peut servir à identifier les entités à agréger, par exemple lorsque les multipatchs représentent des parties de bâtiments dans une ville où plusieurs entités représentent un 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. En l'absence de champ de regroupement, il est également possible de désactiver l'optimisation si vous souhaitez agréger toutes les entités superposées en un seul multipatch en sortie.
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 sont susceptibles d'entraîner de faibles 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. Le même message apparaît si un groupe contient des multipatch qui ne partagent aucun volume ni aucun espace.
Une table facultative peut être créée pour identifier les attributs des entités source qui ont été agrégées afin de créer chaque sortie agrégée.
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 utilisé pour identifier les entités qui doivent être regroupées. | Field |
disable_optimization (Facultatif) | Indique si l'optimisation est appliquée ou non aux données en entrée. L'optimisation exécute un prétraitement des données en entrée en les groupant afin d'améliorer les performances et de créer des sorties uniques pour chaque ensemble d'entités superposées.
| Boolean |
output_all (Facultatif) | Détermine si la classe d'entités en sortie contient toutes les entités ou seulement les entités superposées qui ont été agrégées.
| Boolean |
out_table (Facultatif) | Table plusieurs-à-un identifiant les entités en entrée qui constituent 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
Cas particuliers
Informations de licence
- Basic: Nécessite 3D Analyst
- Standard: Nécessite 3D Analyst
- Advanced: Nécessite 3D Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?