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.
Syntax
arcpy.ddd.InterpolatePolyToPatch(in_surface, in_feature_class, out_feature_class, {max_strip_size}, {z_factor}, {area_field}, {surface_area_field}, {pyramid_level_resolution})
Parameter | Erklärung | Datentyp |
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 deaktiviert, 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 Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene, die von diesem Werkzeug verwendet wird. Der Standardwert ist 0, also volle Auflösung. | Double |
Codebeispiel
InterpolatePolygonToMultipatch – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
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)
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
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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst