Shape interpolieren (ArcGIS 3D Analyst)
Zusammenfassung
Interpoliert die Z-Werte einer Feature-Class auf Grundlage einer aus einem Raster-, TIN- (Triangulated Irregular Network, Unregelmäßiges Dreiecksnetz) oder Terrain-Dataset gewonnenen Höhe.
Weitere Informationen zur Funktionsweise von "Shape interpolieren"
Bild
Verwendung
-
Wenn Sie die Interpolationsoption NATURAL_NEIGHBORS verwenden, müssen Sie sicherstellen, dass Sie eine angemessene Abtastschrittweite angeben. Diese liegt in der Regel zwischen dem 0,5- und 1,0-fachen des durchschnittlichen Punktabstands der zum Berechnen des TIN oder Terrain-Datasets verwendeten Daten.
-
Wenn die Option Nur Stützpunkte interpolieren verwendet wird, werden Eingabe-Features mit Stützpunkten, die außerhalb des Datenbereichs der Oberfläche liegen, ignoriert und nicht ausgegeben. Schneiden Sie Features aus, bevor Sie das Werkzeug Shape interpolieren ausführen. So können Sie sicherstellen, dass die Features vollständig auf der Oberfläche sind.
Syntax
Parameter | Erläuterung | Datentyp |
in_surface |
Die LAS-Dataset-, Raster-, TIN- oder Terrain-Oberfläche zum Interpolieren von Z-Werten. | LAS Dataset Layer, Raster Layer; Terrain Layer; TIN Layer |
in_feature_class |
Die Eingabe-Feature-Class. | Feature Layer |
out_feature_class |
Die Ausgabe-Feature-Class. | Feature Class |
sample_distance (optional) |
Der Abstand, bei dem Z-Werte interpoliert werden. Dies ist standardmäßig die Zellengröße eines Rasters oder die natürliche Verdichtung eines TIN. | Double |
z_factor (optional) |
Der Faktor, mit dem die Höhenwerte 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. | Double |
method (optional) |
Die Interpolationsmethode, die zum Ermitteln der Höhenwerte für Eingabe-Features verwendet wird. Die verfügbaren Optionen hängen vom verwendeten Oberflächentyp ab. Bilineare Interpolation ist verfügbar für Raster-Oberflächen, wenn ein Abfragepunkt seine Höhe von den in den vier nächsten Zellen gefundenen Werten abruft. Terrain- und TIN-Datasets bieten die folgenden Optionen:
| String |
vertices_only (optional) |
Gibt an, ob die Interpolation nur an den Stützpunkten eines Eingabe-Features auftreten soll, was die Option "Abtastschrittweite" ausschließt.
| Boolean |
pyramid_level_resolution (optional) |
Der Z-Toleranzwert oder die Kachelungsauflösung der Terrain-Pyramidenebene, der bzw. die von diesem Werkzeug verwendet wird. Der Standardwert ist 0, also volle Auflösung. | Double |
Codebeispiel
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.InterpolateShape_3d("my_tin", "roads.shp", "roads_interp.shp")
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:
'''*********************************************************************
Name: InterpolateShape Example
Description: This script demonstrates how to use InterpolateShape
on all 2D features in a target workspace.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
# Set local variables
inWorkspace = arcpy.GetParameterAsText(0)
surface = arcpy.GetParameterAsText(1)
try:
arcpy.CheckOutExtension("3D")
# Set default workspace
env.workspace = inWorkspace
# Create list of feature classes in target workspace
fcList = arcpy.ListFeatureClasses()
if fcList:
for fc in fcList:
desc = arcpy.Describe(fc)
# Find 2D features
if not desc.hasZ:
# Set Local Variables
outFC = "{0}_3D.shp".format(desc.basename)
method = "BILINEAR"
# Execute InterpolateShape
arcpy.ddd.InterpolateShape(surface, fc, outFC,
10, 1, method, True)
else:
print "{0} is not a 2D feature.".format(fc)
else:
print "No feature classes were found in {0}.".format(env.workspace)
arcpy.CheckInExtension('3D')
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)