Zusammenfassung
Erstellt einen dreidimensionalen Puffer um Punkte oder Linien, um sphäroidische oder zylindrische Multipatch-Features zu erstellen.
Abbildung
Verwendung
Die Ausgabe dieses Werkzeugs besteht aus geschlossenen Multipatch-Features, die für Volumenberechnungen und andere 3D-Gruppenoperatoren-Werkzeuge verwendet werden können.
Erwägen Sie, einen Wert für Vereinfachung anzugeben, um die Performance bei komplexen Linien-Features, z. B. geschwungenen Linien mit einer großen Anzahl von Stützpunkten, zu verbessern.
Unter Umständen kann mit diesem Werkzeug für bestimmte Linien-Features kein geschlossenes Multipatch generiert werden, wenn die Geometrie der Linie und des Pufferabstands überlappende Regionen mit dichten Stützpunkten erzeugt. Als allgemeine Faustregel gilt, dass Pufferabstände vermieden werden sollten, die dazu führen können, dass überlappende Regionen mit demselben Feature erstellt werden.
Syntax
arcpy.ddd.Buffer3D(in_features, out_feature_class, buffer_distance_or_field, {buffer_joint_type}, {buffer_quality}, {simplification_tolerance})
Parameter | Erklärung | Datentyp |
in_features | Die Linien- oder Punkt-Features, die gepuffert werden sollen. | Feature Layer |
out_feature_class | Das Ausgabe-Multipatch mit den 3D-Puffern. | Feature Class |
buffer_distance_or_field | Der Abstand des Puffers um die Eingabe-Features. Dieser kann entweder als linearer Abstand angegeben oder aus einem numerischen Feld in der Attributtabelle des Eingabe-Features abgeleitet werden. Wenn der Pufferabstand von einem Eingabefeld angegeben wird, werden dessen Maßeinheiten vom Raumbezug des Features abgeleitet. Wenn der lineare Abstand als numerischer Wert angegeben wird, werden die folgenden Maßeinheiten unterstützt:
| Linear Unit; Field |
buffer_joint_type (optional) | Die Pufferform zwischen den Stützpunkten der Liniensegmente. Dieser Parameter ist nur für Eingabe-Linien-Features gültig.
| String |
buffer_quality (optional) | Die Anzahl von Segmenten, die zur Darstellung der resultierenden Multipatch-Features verwendet wird. Der Standardwert ist 20. Es kann jedoch jede Zahl im Bereich von 6 bis 60 eingegeben werden. Ein höherer Pufferqualitätswert erzeugt glattere 3D-Features, die Verarbeitungszeit verlängert sich jedoch. | Long |
simplification_tolerance (optional) | Vereinfacht die Eingabelinien, indem deren Shape innerhalb des angegebenen Versatzes seiner ursprünglichen Form beibehalten wird. Es wird keine Vereinfachung durchgeführt, wenn kein Wert angegeben wird. Die folgenden Maßeinheiten werden unterstützt:
| Linear Unit |
Codebeispiel
Buffer3D: 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.Buffer3D_3d('lineFC.shp', 'buffer3d.shp', '15 Meters',
'Round', 30, '1 Meters')
Buffer3D: Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Buffer 3D Example
Description: This script demonstrates an application of
the Buffer 3D and Inside 3D tools.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Set Local Variables
inFC = 'lineFC.shp'
bufferOut = 'buffer3d.shp'
# Execute Buffer 3D
arcpy.Buffer3D_3d(inFC, bufferOut, '15 Meters', 'Round', '30', '1 Meters')
arcpy.Inside3D_3d(bufferOut, 'survey_pts.shp', 'inside_analysis.dbf')
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)
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst