Fonction Union 3D
L'outil Union 3D combine les entités multipatch du jeu d'entités en entrée en fonction de la superposition géométrique et/ou d'un champ de regroupement. Les multipatchs sont d'abord convertis en solides pour être analysés. Si une entité multipatch n'est pas fermée, elle ne peut pas être convertie en solide et est ignorée en provoquant l'apparition d'un message d'erreur.
- Vous pouvez vérifier si les entités multipatch sont fermées à l'aide de l'outil de géotraitement Fermeture 3D.
Ces solides sont comparés les uns aux autres pour détecter les volumes superposés. Si des volumes superposés sont détectés, les enveloppes (triangles et anneaux) des solides sont intersectées, les portions intérieures redondantes sont supprimées et ils sont combinés pour former un seul nouveau solide. Ce solide est ensuite transcrit comme entité multipatch fermée. Ce processus se produit de manière interactive jusqu'à ce que toutes les entités multipatch de la classe d'entités aient été traitées.
Un champ de regroupement identifie les entités à agréger (regrouper) pour former une nouvelle entité. L'existence d'un champ de regroupement contribue considérablement à l'amélioration des performances en réduisant le nombre d'itérations de l'outil dans le jeu de données. Au lieu de comparer une entité à toutes les entités du jeu de données, elle est seulement comparée aux (et parfois agrégée avec) entités qui font partie de son groupe.
Par exemple, si vous agrégez des multipatchs qui représentent des parties de bâtiments dans une ville, avec plusieurs multipatchs par bâtiment, un champ de regroupement peut considérablement améliorer les performances. En regroupant des entités en fonction d'un identifiant de bâtiment unique, l'outil n'a pas besoin d'essayer d'agréger une entité multipatch d'un bâtiment avec tous les autres multipatchs, mais uniquement avec ceux du même bâtiment.
L'outil essaiera d'optimiser ses performances en divisant automatiquement les entités en groupes, avant de les agréger. L'outil crée des emprises minimales pour chaque entité, et les compare entre elles, en identifiant les groupes d'entités superposées potentielles. Notez que l'emprise minimale peut être beaucoup plus grande que la géométrie multipatch de l'entité, de sorte que l'intersection entre des emprises ne garantit pas une géométrie qui s'entrecoupe. Si vous utilisez un champ de regroupement, vous pouvez désactiver l'optimisation pour renforcer les performances. Vous pouvez également désactiver cette option si vous n'utilisez pas de champ de regroupement et que vous souhaitez regrouper toutes les entités multipatch en entrée dans une seule entité en sortie.
Notez que l'outil peut placer en sortie uniquement les entités qui ont pu être agrégées, ou toutes les entités en entrée, y compris celles qui n'ont pas pu être agrégées avec une autre entité. Par défaut, l'outil effectue la deuxième solution, mais vous pouvez modifier ce comportement en décochant l'option Tous les solides en sortie.
L'outil déclenchera une erreur s'il essaie d'agréger deux entités multipatch ou plus qui partagent uniquement un tronçon ou sommet, en indiquant que l'entité obtenue n'est pas simple et n'a pas pu être créée. Si vous n'utilisez pas l'optimisation, et si la classe d'entités en entrée ou le groupe comporte des multipatchs qui ne partagent aucun volume ou espace, le même message d'erreur s'affichera.