Near 3D (3D Analyst)

Zusammenfassung

Berechnet die dreidimensionale Entfernung von jedem Eingabe-Feature zum nächstgelegenen Feature, das sich in einer oder mehreren nahen Feature-Classes befindet.

Verwendung

Syntax

Near3D_3d (in_features, near_features, {search_radius}, {location}, {angle}, {delta})
ParameterErläuterungDatentyp
in_features

Die Eingabe-Feature-Class, deren Features die Informationen zum nächsten Feature zugeordnet werden.

Feature Layer
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 zwischen den Eingabe-Features und den Near-Features, für die die Entfernung und die FID ermittelt werden. Falls kein Suchradius angegeben wurde, werden alle Near-Features verwendet.

Linear Unit
location
(optional)

Bestimmt, ob jedem Eingabe-Feature (zwei Sätze von XYZ-Werten) sechs Koordinatenfelder hinzugefügt werden. Bei den Werten handelt es sich um die drei Koordinaten des Eingabe-Features (NEAR_FROMX, NEAR_FROMY, NEAR_FROMZ) und die drei Koordinaten des nächstgelegenen Features (NEAR_X, NEAR_Y, NEAR_Z). Die Felder NEAR_FID und NEAR_DIST werden immer hinzugefügt – unabhängig von der Option "Position".

  • NO_LOCATIONDie X-, Y- und Z-Koordinaten werden nicht gespeichert. Dies ist die Standardeinstellung.
  • LOCATIONDie X-, Y- und Z-Koordinaten werden gespeichert. Jedem Eingabefeld werden sechs zusätzliche Attributfelder hinzugefügt.
Boolean
angle
(optional)

Legt fest, ob die Winkel zwischen dem Eingabe-Feature und dem nächstgelegenen Near-Feature berechnet und in den Feldern NEAR_ANG_H und NEAR_ANG_V gespeichert werden. Die Werte für die beiden Winkel werden in Grad angegeben, wobei ein Grad 1/360 eines Kreises darstellt. Die Bruchteile eines Grades werden als Dezimalwerte angegeben. Horizontale Winkel werden von 180° bis -180° gemessen, wobei 0° Osten, 90° Norden, 180° (-180°) Westen und -90° Süden ist. Vertikale Winkel sind 0° (waagerecht), 90° (senkrecht nach oben) und -90° (senkrecht nach unten).

  • NO_ANGLEDer Winkel wird nicht gespeichert. Dies ist die Standardeinstellung.
  • ANGLEDie Winkel werden zum Ergebnis hinzugefügt und die Felder werden erstellt, wenn sie noch nicht vorhanden sind.
Boolean
delta
(optional)

Legt fest, ob die Entfernungen an den Primärachsen zwischen dem Eingabe-Feature und dem nächstgelegenen Near-Feature berechnet und in den Feldern NEAR_DELTX, NEAR_DELTY und NEAR_DELTZ gespeichert werden.

  • NO_DELTAEs werden keine Deltas berechnet. Dies ist die Standardeinstellung.
  • DELTAEs werden Deltas berechnet. Dem Ergebnis werden drei weitere Felder (NEAR_DELTX, NEAR_DELTY, und NEAR_DELTZ) hinzugefügt.
Boolean

Codebeispiel

Near3D – Beispiel 1 (Python-Fenster)

The following sample demonstrates the use of this tool in the Python window:

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 veranschaulicht, wie dieses Werkzeug in einem eigenständigen Python-Skript verwendet wird:

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

Verwandte Themen

Lizenzinformationen

ArcView: Erfordert 3D Analyst
ArcEditor: Erfordert 3D Analyst
ArcInfo: Erfordert 3D Analyst

7/10/2012