Polygon zu Multipatch interpolieren (3D Analyst)

Zusammenfassung

Erstellt zur Oberfläche passende Multipatch-Features, indem Polygon-Features über einer Oberfläche drapiert werden.

Verwendung

  • Die Grenze jedes Polygon-Features wird entlang der Oberfläche abgebildet. Höhen werden mithilfe der linearen Interpolation ermittelt, indem die Referenzpunkterfassung an jedem Eingabestützpunkt und an den Stellen, an denen die Grenzlinie TIN-Dreieckskanten und -Knoten schneidet, erfolgt. Durch diese natürliche Verdichtung wird die vollständige Definition der linearen Oberfläche mithilfe einer minimalen Anzahl von Referenzpunkten erfasst. Anschließend werden alle Knoten innerhalb des Polygons extrahiert. Die Knoten werden in einem neuen speicherresidenten TIN neu trianguliert, und die 3D-Polygongrenze wird als Clip-Polygon umgesetzt. Die Dreiecke dieses neuen TIN werden dann als Streifenfolge extrahiert, die der Definition eines Multipatch-basierten Features dient.

  • Die 3D-Oberflächendarstellung wird vom resultierenden Multipatch in seiner Geometrie dargestellt. Die Berechnung von planimetrischen Flächen und Oberflächen wird neben anderen Attributen des Eingabe-Polygons in die Ausgabe einbezogen.

  • Sie können die Polygone auch in Multipatches konvertieren, wenn beim dreidimensionalen Rendering von Polygonen, die auf einer Oberfläche drapiert wurden, Anzeigeprobleme auftreten.

  • Der Wert von Maximale Streifenlänge muss mindestens 3 betragen. Mit diesem Parameter wird die maximale Anzahl von Stützpunkten angegeben, die beim Erstellen des Multipatch in einem Dreiecksstreifen zulässig sind. In ArcGIS sind keine bestimmten Größenbeschränkungen oder -voreinstellungen vorgegeben. Dies kann jedoch bei einigen 3D-Grafikkarten der Fall sein, da Dreiecksstreifen zum Rendern direkt in die Anwendungsprogrammschnittstelle (API) für 3D-Grafiken geladen werden. Der empfohlene Wertebereich ist 128 bis 2048.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Oberfläche

Die Eingabe-TIN- (Triangulated Irregular Network, Unregelmäßiges Dreiecksnetz) oder Eingabe-Terrain-Dataset-Oberfläche.

Terrain Layer; TIN Layer
Eingabe-Feature-Class

Das Eingabe-Polygon-Feature.

Feature Layer
Ausgabe-Feature-Class

Die Ausgabe-Multipatch-Feature-Class.

Feature Class
Maximale Streifenlänge
(optional)

Hiermit wird die maximale Anzahl von Punkten zum Erstellen eines einzelnen Dreiecksstreifens bestimmt. Beachten Sie, dass jedes Multipatch in der Regel aus mehreren Streifenlinien besteht. Der Standardwert ist 1.024.

Long
Z-Faktor
(optional)

Der Faktor, mit dem Z-Werte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben. Der Parameter ist nicht verfügbar, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt.

Double
Flächenfeld
(optional)

Der Name des Ausgabefeldes, das die planimetrische bzw. die 2D-Fläche der resultierenden Multipatches enthält.

String
Oberflächenfeld
(optional)

Der Name des Ausgabefeldes, das die 3D-Fläche der resultierenden Multipatches enthält. Diese Fläche berücksichtigt die Oberflächenunebenheiten und ist immer größer als die planimetrische Fläche, sofern die Oberfläche nicht flach ist, wobei die beiden dann identisch sind.

String
Auflösung der Pyramidenebene
(optional)

Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung.

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})
NameErläuterungDatentyp
in_surface

Die Eingabe-TIN- (Triangulated Irregular Network, Unregelmäßiges Dreiecksnetz) oder Eingabe-Terrain-Dataset-Oberfläche.

Terrain Layer; TIN Layer
in_feature_class

Das Eingabe-Polygon-Feature.

Feature Layer
out_feature_class

Die Ausgabe-Multipatch-Feature-Class.

Feature Class
max_strip_size
(optional)

Hiermit wird die maximale Anzahl von Punkten zum Erstellen eines einzelnen Dreiecksstreifens bestimmt. Beachten Sie, dass jedes Multipatch in der Regel aus mehreren Streifenlinien besteht. Der Standardwert ist 1.024.

Long
z_factor
(optional)

Der Faktor, mit dem Z-Werte multipliziert werden. Dieser wird in der Regel verwendet, um lineare Z-Einheiten zu konvertieren, sodass sie den linearen XY-Einheiten entsprechen. Der Standardwert ist 1, wodurch die Höhenwerte unverändert bleiben. Der Parameter ist nicht verfügbar, wenn der Raumbezug der Eingabe-Oberfläche über ein Z-Datum mit einer angegebenen linearen Einheit verfügt.

Double
area_field
(optional)

Der Name des Ausgabefeldes, das die planimetrische bzw. die 2D-Fläche der resultierenden Multipatches enthält.

String
surface_area_field
(optional)

Der Name des Ausgabefeldes, das die 3D-Fläche der resultierenden Multipatches enthält. Diese Fläche berücksichtigt die Oberflächenunebenheiten und ist immer größer als die planimetrische Fläche, sofern die Oberfläche nicht flach ist, wobei die beiden dann identisch sind.

String
pyramid_level_resolution
(optional)

Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung.

Double

Codebeispiel

InterpolatePolygonToMultipatch – Beispiel 1 (Python-Fenster)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

arcpy.env.workspace = "C:/data"
arcpy.ddd.InterpolatePolyToPatch("sample.gdb/featuredataset/terrain", "polygon.shp", "out_multipatch.shp", 1024, 1, "Area", "SArea", 5)
InterpolatePolygonToMultipatch – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

'''****************************************************************************
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)

Verwandte Themen