Proche-3D (3D Analyst)

Récapitulatif

Calcule la distance tridimensionnelle entre chaque entité en entrée et l'entité la plus proche résidant dans l'une ou plusieurs des classes d'entités de proximité.

Utilisation

Syntaxe

Near3D_3d (in_features, near_features, {search_radius}, {location}, {angle}, {delta})
ParamètreExplicationType de données
in_features

Classe d'entités en entrée dont les entités reçoivent les informations relatives à l'entité la plus proche.

Feature Layer
near_features

La ou les entités dont la proximité vis-à-vis des entités en entrée est calculée. Si plusieurs classes d'entités sont spécifiées, un champ supplémentaire nommé NEAR_FC est ajouté à la classe d'entités afin d'identifier la classe d'entités proche contenant l'entité la plus proche.

Feature Layer
search_radius
(Facultatif)

La distance maximale entre les entités en entrée et les entités de proximité pour lesquelles la distance et le champ FID sont déterminés. Si aucun rayon de recherche n'est spécifié, toutes les entités de proximité sont utilisées.

Linear Unit
location
(Facultatif)

Détermine si six champs de coordonnées (deux ensembles de valeurs XYZ) sont ajoutés à chaque entité en entrée. Les valeurs correspondent aux trois coordonnées de l'entité en entrée (NEAR_FROMX, NEAR_FROMY, NEAR_FROMZ) et aux trois coordonnées de l'entité la plus proche (NEAR_X, NEAR_Y, NEAR_Z). Les champs NEAR_FID et NEAR_DIST sont toujours ajoutés, indépendamment de l'option Emplacement.

  • NO_LOCATIONLes coordonnées X, Y et Z ne sont pas enregistrées. Il s'agit du paramétrage par défaut.
  • LOCATIONLes coordonnées X, Y et Z sont enregistrées. Six champs attributaires supplémentaires sont ajoutés à chaque champ en entrée.
Boolean
angle
(Facultatif)

Détermine si les angles entre l'entité en entrée et l'entité de proximité la plus proche sont calculés et stockés dans les champs NEAR_ANG_H et NEAR_ANG_V. Les valeurs des deux angles sont mesurées en degrés, où un degré représente 1/360e d'un cercle, et les fractions d'un degré sont représentées sous forme de valeurs décimales. Les angles horizontaux sont mesurés de 180° à -180° ; 0° à l'est, 90° au nord, 180° (-180°) à l'ouest et -90° au sud. Les angles verticaux équivalent à 0 pour l'horizontale, 90° pour la ligne droite vers le haut et -90° pour la ligne droite vers le bas.

  • NO_ANGLEL'angle n'est pas enregistré. Il s'agit du paramétrage par défaut.
  • ANGLELes angles sont ajoutés au résultat et les champs sont créés s'ils n'existent pas déjà.
Boolean
delta
(Facultatif)

Détermine si les distances le long des principaux axes entre l'entité en entrée et l'entité de proximité la plus proche sont calculées et stockées dans les champs NEAR_DELTX, NEAR_DELTY et NEAR_DELTZ.

  • NO_DELTAAucun delta n'est calculé. Il s'agit du paramétrage par défaut.
  • DELTALes deltas sont calculés. Trois champs (NEAR_DELTX, NEAR_DELTY et NEAR_DELTZ) sont ajoutés au résultat.
Boolean

Exemple de code

1er exemple d'utilisation de l'outil Near3D (fenêtre Python)

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")
2e exemple d'utilisation de l'outil Near3D (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :

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

Environnements

Rubriques connexes

Informations de licence

ArcView : Obligatoire 3D Analyst
ArcEditor : Obligatoire 3D Analyst
ArcInfo : Obligatoire 3D Analyst

7/10/2012