Résumé
Crée des entités multipatch conformes à la surface en drapant une classe d'entités surfaciques sur une surface.
Chaque entité surfacique dispose de sa propre limite profilée le long de la surface. Les hauteurs sont obtenues à l'aide d'une interpolation linéaire par échantillonnage sur chaque sommet en entrée et partout où la ligne de limite intersecte les nœuds et les côtés de triangle de la surface. Cette densification naturelle capture la définition complète de la surface linéaire à l'aide d'un nombre d'échantillons minimal. Tous les nœuds contenus dans le polygone sont ensuite extraits. Les nœuds sont retriangulés dans un nouveau TIN basé sur la mémoire et la limite de polygone 3D est appliquée en tant que polygone de découpage. Les triangles de ce nouveau TIN sont alors extraits dans une série de bandes utilisées pour définir une entité basée sur multipatch.
Utilisation
Le multipatch obtenu capture la représentation de surface 3D dans sa géométrie. Des calculs de surfaces planimétriques et de superficies de surface sont inclus dans la sortie avec d'autres attributs provenant du polygone en entrée.
Convertissez les polygones en multipatch en cas de problèmes d'affichage avec rendu tridimensionnel des polygones drapés sur une surface.
La valeur Taille de bande maximale doit être supérieure ou égale à 3. Ce paramètre spécifie le nombre maximal de sommets autorisé dans n'importe quelle bande de triangle utilisée dans la construction du multipatch. ArcGIS n'applique pas de préférence ou de limite de taille spécifique, à la différence de certaines cartes graphiques 3D, car les bandes de triangle sont directement chargées dans l'interface API graphique 3D pour l'affichage. La plage recommandée est comprise entre 128 et 2 048.
Syntaxe
InterpolatePolyToPatch_3d (in_surface, in_feature_class, out_feature_class, {max_strip_size}, {z_factor}, {area_field}, {surface_area_field}, {pyramid_level_resolution})
Paramètre | Explication | Type de données |
in_surface | Surface en entrée du jeu de données de MNT ou de réseau triangulé irrégulier (TIN). | Terrain Layer; TIN Layer |
in_feature_class | Entité surfacique en entrée. | Feature Layer |
out_feature_class | Classe d'entités multipatch en sortie. | Feature Class |
max_strip_size (Facultatif) | Contrôle le nombre maximal de points utilisés pour créer un triangle vide individuel. Notez que chaque multipatch est généralement composé de plusieurs bandes. La valeur par défaut est 1 024. | Long |
z_factor (Facultatif) | Facteur par lequel les valeurs Z sont multipliées. Il permet généralement de convertir des unités linéaires Z afin d'apparier les unités linéaires XY. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. | Double |
area_field (Facultatif) | Le nom du champ en sortie contenant l'aire planimétrique, ou 2D, des multipatchs obtenus. | String |
surface_area_field (Facultatif) | Le nom du champ en sortie contenant l'aire 3D des multipatchs obtenus. Cette aire prend en compte les ondulations de la surface et est toujours plus grande que l'aire planimétrique, à moins que la surface ne soit plane, auquel cas les deux aires sont égales. | String |
pyramid_level_resolution (Facultatif) | Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée par cet outil. La valeur par défaut est 0 (ou résolution maximale). | Double |
Exemple de code
1er exemple d'utilisation de l'outil InterpolatePolygonToMultipatch (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.InterpolatePolyToPatch_3d("sample.gdb/featuredataset/terrain", "polygon.shp", "out_multipatch.shp", 1024, 1, "Area", "SArea", 5)
2e exemple d'utilisation de l'outil InterpolatePolygonToMultipatch (script autonome)
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: InterpolatePolyToPatch Example
Description: This script demonstrates how to use the
InterpolatePolyToPatch tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inTerrain = "sample.gdb/featuredataset/terrain"
inPoly = "polygon.shp"
outMP = arcpy.CreateUniqueName("out_multipatch.shp")
#Execute InterpolatePolyToPatch
arcpy.InterpolatePolyToPatch_3d(inTerrain, inPoly, outMP, 1024, 1, "Area", "SArea", 5)
Environnements
Informations de licence
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst