Interpoler des polygones vers multipatchs (3D Analyst)
Récapitulatif
Crée des entités multipatch conformes à la surface à partir d'une classe d'entités surfaciques en utilisant une surface raster, de MNT ou TIN.
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
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 |
Classe d'entités surfaciques 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 d'altitude sont multipliées. Il est généralement utilisé pour convertir les unités linéaires Z qui correspondent à celles des 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
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)
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)