Proche-3D (3D Analyst)

Synthèse

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

  • Toutes les entités en entrée doivent comporter des valeurs Z et tous les types de géométrie sont pris en charge. Vous pouvez également spécifier les entités en entrée en tant qu'entités de proximité pour déterminer les entités les plus proches au sein de la même classe d'entités.

  • Vous pouvez ajouter les champs suivants à la table attributaire de l'entité en entrée :

    • NEAR_FID : FID de l’entité la plus proche. La valeur -1 indique qu'aucune correspondance n'a été trouvée dans le rayon de recherche spécifié.
    • NEAR_DIST : distance 2D (horizontale) entre le point le plus proche d’une entité en entrée et le point le plus proche de l’entité la plus proche.
    • NEAR_DIST3 : distance 3D (pente) entre le point le plus proche d’une entité en entrée et le point le plus proche de l’entité la plus proche.
    • NEAR_DELTX : distance le long de l’axe X du point le plus proche sur l’entité en entrée au point le plus proche sur l’entité la plus proche.
    • NEAR_DELTY : distance le long de l’axe Y du point le plus proche sur l’entité en entrée au point le plus proche sur l’entité la plus proche.
    • NEAR_DELTZ : distance le long de l’axe Z du point le plus proche sur l’entité en entrée au point le plus proche sur l’entité la plus proche.
    • NEAR_FROMX : coordonnée X du point le plus proche sur l’entité en entrée à l’entité la plus proche.
    • NEAR_FROMY : coordonnée Y du point le plus proche sur l’entité en entrée à l’entité la plus proche.
    • NEAR_FROMZ : coordonnée Z du point le plus proche sur l’entité en entrée à l’entité la plus proche.
    • NEAR_X : coordonnée X du point le plus proche sur l’entité la plus proche.
    • NEAR_Y : coordonnée Y du point le plus proche sur l’entité la plus proche.
    • NEAR_Z : coordonnée Z du point le plus proche sur l’entité la plus proche.
    • NEAR_ANG_H : angle arithmétique horizontal au point le plus proche exprimé en degrés.
    • NEAR_ANG_V : angle d’altitude au point le plus proche exprimé en degrés. Les angles sont 0° à l'horizontale, 90° tout droit vers le haut et -90° tout droit vers le bas.
    • NEAR_FC : chemin d’accès de la classe d’entités qui contient l’entité la plus proche. Ce champ est ajouté uniquement lorsque plusieurs entités de proximité sont spécifiées.
    Remarque :

    Si les champs susmentionnés existent déjà, leurs valeurs sont mises à jour.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

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

Feature Layer
Entités de proximité

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 en entrée afin d’identifier la classe d’entités proche contenant l’entité la plus proche.

Feature Layer
Rayon de recherche
(Facultatif)

Distance maximale pour laquelle les entités les plus proches d'une entrée donnée sont déterminées. Si aucune valeur n'est spécifiée, l'entité la plus proche est déterminée, quelle que soit la distance.

Linear Unit
Emplacement
(Facultatif)

Détermine si les coordonnées du point le plus proche dans l'entité en entrée et l'entité de proximité sont ajoutées à la table attributaire de l'entrée.

  • Désactivé : les coordonnées ne sont pas ajoutées à l'entité en entrée. Il s’agit de l’option par défaut.
  • Activé : les coordonnées sont ajoutées à l'entité en entrée.
Boolean
Angle
(Facultatif)

Détermine si l'angle arithmétique horizontal et l'angle vertical entre l'entité en entrée et l'entité la plus proche sont ajoutés à la table attributaire en entrée.

  • Désactivé : les angles ne sont pas ajoutés à la table attributaire de l'entrée. Il s’agit de l’option par défaut.
  • Activé : l’angle arithmétique horizontal et l’angle vertical sont ajoutés aux champs NEAR_ANG_H et NEAR_ANG_V dans la table attributaire de l’entrée.
Boolean
Delta
(Facultatif)

Détermine si les distances le long des axes X, Y et Z entre l’entité en entrée et l’entité la plus proche sont ajoutées à la table attributaire en entrée.

  • Désactivé : aucune distance n'est ajoutée à la table attributaire en entrée. Il s’agit de l’option par défaut.
  • Activé : les distances le long des axes X, Y et Z sont calculées dans les champs NEAR_DELTX, NEAR_DELTY et NEAR_DELTZ.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Entités en entrée mises à jour

Entités en entrée mises à jour.

Couche d'entités

arcpy.ddd.Near3D(in_features, near_features, {search_radius}, {location}, {angle}, {delta})
NomExplicationType 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
[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 en entrée afin d’identifier la classe d’entités proche contenant l’entité la plus proche.

Feature Layer
search_radius
(Facultatif)

Distance maximale pour laquelle les entités les plus proches d'une entrée donnée sont déterminées. Si aucune valeur n'est spécifiée, l'entité la plus proche est déterminée, quelle que soit la distance.

Linear Unit
location
(Facultatif)

Détermine si les coordonnées du point le plus proche dans l'entité en entrée et l'entité de proximité sont ajoutées à la table attributaire de l'entrée.

  • NO_LOCATIONLes coordonnées ne sont pas ajoutées à l'entité en entrée. Il s’agit de l’option par défaut.
  • LOCATIONLes coordonnées sont ajoutées à l'entité en entrée.
Boolean
angle
(Facultatif)

Détermine si l'angle arithmétique horizontal et l'angle vertical entre l'entité en entrée et l'entité la plus proche sont ajoutés à la table attributaire en entrée.

  • NO_ANGLELes angles ne sont pas ajoutés à la table attributaire de l'entrée. Il s’agit de l’option par défaut.
  • ANGLEL’angle arithmétique horizontal et l’angle vertical sont ajoutés aux champs NEAR_ANG_H et NEAR_ANG_V dans la table attributaire de l’entrée.
Boolean
delta
(Facultatif)

Détermine si les distances le long des axes X, Y et Z entre l’entité en entrée et l’entité la plus proche sont ajoutées à la table attributaire en entrée.

  • NO_DELTAAucune distance n'est ajoutée à la table attributaire en entrée. Il s’agit de l’option par défaut.
  • DELTALes distances le long des axes X, Y et Z sont calculées dans les champs NEAR_DELTX, NEAR_DELTY et NEAR_DELTZ.
Boolean

Sortie obtenue

NomExplicationType de données
out_feature_class

Entités en entrée mises à jour.

Couche d'entités

Exemple de code

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

L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python.

arcpy.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

# Set environment settings
arcpy.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.management.MakeFeatureLayer(nearFC, 'Near Layer', SQL_Expression)
result = arcpy.management.GetCount('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.ddd.Near3D(inFC, 'nearLayer', '', 'LOCATION', 'ANGLE')

Rubriques connexes