Interpoler des polygones vers multipatchs (3D Analyst)

Synthèse

Crée des entités multipatch conformes à la surface en drapant des entités surfaciques sur une surface.

Utilisation

  • 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 reretriangulé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.

  • 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.

Paramètres

ÉtiquetteExplicationType de données
Surface en entrée

Surface en entrée du jeu de données de MNT ou de réseau triangulé irrégulier (TIN).

Terrain Layer; TIN Layer
Classe d'entités en entrée

Entité surfacique en entrée.

Feature Layer
Classe d'entités en sortie

Classe d'entités multipatch en sortie.

Feature Class
Taille de bande maximale
(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
Facteur Z
(Facultatif)

Facteur par lequel les valeurs z sont multipliées. Cette option permet généralement de convertir les unités linéaires z afin qu’elles correspondent aux unités linéaires x,y. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. Ce paramètre n’est pas disponible si la référence spatiale de la surface en entrée possède un datum z dont l’unité linéaire est spécifiée.

Double
Champ de surface
(Facultatif)

Le nom du champ en sortie contenant l'aire planimétrique, ou 2D, des multipatchs obtenus.

String
Champ de superficie
(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
Résolution des niveaux de pyramide
(Facultatif)

Résolution de taille de fenêtre ou de tolérance z du niveau de pyramide de MNT qui sera utilisée. La valeur par défaut est 0 (ou résolution maximale).

Double

arcpy.ddd.InterpolatePolyToPatch(in_surface, in_feature_class, out_feature_class, {max_strip_size}, {z_factor}, {area_field}, {surface_area_field}, {pyramid_level_resolution})
NomExplicationType 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. Cette option permet généralement de convertir les unités linéaires z afin qu’elles correspondent aux unités linéaires x,y. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées. Ce paramètre n’est pas disponible si la référence spatiale de la surface en entrée possède un datum z dont l’unité linéaire est spécifiée.

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. 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.

arcpy.env.workspace = "C:/data"
arcpy.ddd.InterpolatePolyToPatch("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

# 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.ddd.InterpolatePolyToPatch(inTerrain, inPoly, outMP, 1024, 1, "Area", "SArea", 5)

Rubriques connexes