Zusammenfassung
Berechnet die dreidimensionale Entfernung von jedem Eingabe-Feature zum nächstgelegenen Feature, das sich in einer oder mehreren nahen Feature-Classes befindet.
Verwendung
Alle Eingabe-Features müssen Z-Werte aufweisen und alle Geometrietypen werden unterstützt. Die Eingabe-Features können auch als Near-Features angegeben werden, um die nächstgelegenen Features in derselben Feature-Class zu bestimmen.
Die folgenden Felder können der Attributtabelle des Eingabe-Features hinzugefügt werden:
- NEAR_FID: Die FID des nächstgelegenen Features. Der Wert "-1" gibt an, dass innerhalb des angegebenen Suchradius keine Übereinstimmung gefunden wurde.
- NEAR_DIST: Die 2D-Entfernung (horizontale Entfernung) zwischen dem nächstgelegenen Punkt in einem Eingabe-Feature und dem nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_DIST3: Die 3D-Entfernung (Schrägstrecke) zwischen dem nächstgelegenen Punkt in einem Eingabe-Feature und dem nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_DELTX: Die Entfernung auf der X-Achse vom nächstgelegenen Punkt im Eingabe-Feature zum nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_DELTY: Die Entfernung auf der Y-Achse vom nächstgelegenen Punkt im Eingabe-Feature zum nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_DELTZ: Die Entfernung auf der Z-Achse vom nächstgelegenen Punkt im Eingabe-Feature zum nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_FROMX: Die X-Koordinate vom nächstgelegenen Punkt im Eingabe-Feature zum nächstgelegenen Feature.
- NEAR_FROMY: Die Y-Koordinate vom nächstgelegenen Punkt im Eingabe-Feature zum nächstgelegenen Feature.
- NEAR_FROMZ: Die Z-Koordinate vom nächstgelegenen Punkt im Eingabe-Feature zum nächstgelegenen Feature.
- NEAR_X: Die X-Koordinate vom nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_Y: Die Y-Koordinate vom nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_Z: Die Z-Koordinate vom nächstgelegenen Punkt im nächstgelegenen Feature.
- NEAR_ANG_H: Der in Grad angegebene horizontale arithmetische Winkel zum nächstgelegenen Punkt.
- NEAR_ANG_V: Der in Grad angegebene Höhenwinkel zum nächstgelegenen Punkt. Horizontal ist Null, senkrecht nach oben ist 90, senkrecht nach unten ist -90.
- NEAR_FC: Der Pfad der Feature-Class, die das nächstgelegene Feature enthält. Dieses Feld wird nur hinzugefügt, wenn mehrere Near-Features angegeben wurden.
Syntax
arcpy.ddd.Near3D(in_features, near_features, {search_radius}, {location}, {angle}, {delta})
Parameter | Erklärung | Datentyp |
in_features | Die Eingabe-Feature-Class, deren Features die Informationen zum nächsten Feature zugeordnet werden. | Feature Layer |
near_features [near_features,...] | Die Features, deren Nähe zu den Eingabe-Features berechnet wird. Falls mehrere Feature-Classes angegeben sind, wird der Eingabe-Feature-Class ein Zusatzfeld mit dem Namen NEAR_FC hinzugefügt, in dem angegeben wird, welche Near-Feature-Class das nächstgelegene Feature enthält. | Feature Layer |
search_radius (optional) | Die maximale Entfernung, in der die nächstgelegenen Features von einem angegebenen Punkt ermittelt werden. Wenn kein Wert angegeben ist, wird das nächstgelegene Feature mit einer beliebigen Entfernung ermittelt. | Linear Unit |
location (optional) | Legt fest, ob die Koordinaten des nächstgelegenen Punktes in der Eingabe und im Near-Feature zu der Attributtabelle der Eingabe hinzugefügt werden.
| Boolean |
angle (optional) | Legt fest, ob der horizontale arithmetische Winkel und der vertikale Winkel zwischen dem Eingabe-Feature und dem nächstgelegenen Feature zu der Attributtabelle der Eingabe hinzugefügt werden.
| Boolean |
delta (optional) | Legt fest, ob der Attributtabelle der Eingabe die Entfernungen entlang den X-, Y- und Z-Achsen zwischen dem Eingabe-Feature und dem nächstgelegenen Feature hinzugefügt werden.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_feature_class | Die aktualisierten Eingabe-Features. | Feature-Layer |
Codebeispiel
Near3D – 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.Near3D_3d("points_3D.shp", "buildings_multipatch.shp", "30", "LOCATION", "ANGLE", "DELTA")
Near3D – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
Name: Near 3D Example
Description: This script demonstrates how to use
the Near 3D tool to identify the nearest z-aware features
that satisfy the results from a queried feature.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env
try:
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension('3D')
# Set environment settings
env.workspace = 'C:/data'
# Set Local Variables
inFC = 'homes.shp'
nearFC = 'radiotowers.shp'
# See the 'Building an SQL expression' topic for more information
# Query the field 'MATERIAL' for the string 'Reinforced Concrete'
SQL_Expression = "'"'MATERIAL'"' = 'Reinforced Concrete'"
#Execute Make Feature Layer
arcpy.MakeFeatureLayer_management(nearFC, 'Near Layer', SQL_Expression)
result = arcpy.GetCount_management('Near Layer')
if int(result.getOutput(0)) == 0:
arcpy.AddMessage('{0} has no features that satisfy the query: {1}'\
.format(nearFC, SQL_Expression))
else:
#Execute Near3D
arcpy.Near3D_3d(inFC, 'nearLayer', '', 'LOCATION', 'ANGLE')
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