Ajouter des informations Z (3D Analyst)
Récapitulatif
Ajoute des informations sur les propriétés d'altitude d'entités dans une classe d'entités prenant en charge les valeurs Z.
Chaque forme 3D est examinée et les propriétés sélectionnées sont ajoutées à la table attributaire de la classe d'entités en entrée. Les options en sortie varient selon la géométrie de l'entité.
Utilisation
-
La liste suivante récapitule les options de propriété prenant en charge les valeurs Z par géométrie :
- Points - Z
- Multipoints - Z min, Z max, Z moyen, nb de points
- Polylignes - Z min, Z max, Z moyen, longueur 3D, inclinaison min., inclinaison max., inclinaison moyenne, nb de sommets
- Polygones - Z min, Z max, Z moyen, longueur 3D, inclinaison min., inclinaison max., inclinaison moyenne, nb de sommets
- multipatch - Z min, Z max, zone surfacique, volume, inclinaison min., inclinaison max., inclinaison moyenne
-
La pente est indiquée sous la forme d'un pourcentage ou d'un degré, et est calculée différemment selon le type de géométrie prenant en charge cette propriété.
- Les valeurs de pente des entités linéaires sont calculées pour chaque segment de ligne :
- La pente minimale provient du segment dont la valeur est la plus proche de 0, ou du degré horizontal.
- La pente maximale provient du segment présentant la plus grande valeur calculée.
- La pente moyenne provient de la moyenne de la pente de tous les segments de ligne après pondération de chaque segment par sa longueur 3D. Les segments les plus longs ont donc une plus grande influence sur la valeur obtenue que les segments les plus courts.
- Les valeurs de pente des entités multipatch sont calculées pour chaque face de triangle.
- La pente minimale provient de la face dont la valeur est la plus proche de 0, ou du degré horizontal.
- La pente maximale provient de la face présentant la plus grande valeur.
- La pente moyenne provient de la moyenne de la pente de toutes les faces du triangle après pondération de chaque segment par sa surface tridimensionnelle. Les plus grandes surfaces ont donc plus d'influence sur la valeur obtenue que les plus petites surfaces.
- Les valeurs de pente des entités surfacique sont calculées uniquement pour le tronçon d'entité à l'aide de la même technique que pour les segments de ligne.
- Les valeurs de pente des entités linéaires sont calculées pour chaque segment de ligne :
Le volume ne peut être calculé que pour les multipatchs fermés. Une entité multipatch ouverte renvoie une valeur de 0,0. Sur la plate-forme Solaris, la limitation de création empêche actuellement l'outil de déterminer si un multipatch est fermé, ce qui entraîne le calcul de mesures de volume pour tous les multipatchs en partant du principe qu'ils sont fermés.
Syntaxe
Paramètre | Explication | Type de données |
in_feature_class |
The input feature class. | Feature Layer |
out_property [out_property,...] | Propriétés z en sortie qui sont ajoutées à la table attributaire de la classe d'entités en entrée. Les options disponibles sont les suivantes :
| String |
noise_filtering (Facultatif) |
Vous permet d'exclure des petites portions d'entités d'après des calculs statistiques. Cette option permet d'obtenir de bonnes évaluations de pente maximale, car les petites portions présentent souvent des pentes extrêmes, qui risquent de biaiser les résultats statistiques. Les valeurs des options Surface ou Longueur permettent d'exclure ces portions d'entités. Ce paramètre ne s'applique pas aux entités points uniques et multi-points.
| String |
Exemple de code
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.AddZInformation_3d('lines_3D.shp', 'Z_MEAN; LENGTH_3D; AVG_SLOPE', 'NO_FILTER')
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''****************************************************************** Name: AddZInformation Example Description: This script demonstrates AddZInformation on all z-aware features in a target workspace. ******************************************************************''' # Import system modules import arcpy import exceptions, sys, traceback from arcpy import env try: arcpy.CheckOutExtension('3D') # Set environment settings env.workspace = 'C:/data' # Create list of feature classes fcList = arcpy.ListFeatureClasses() if fcList: for fc in fcList: desc = arcpy.Describe(fc) if desc.hasZ: # Set Local Variables noise = 'No_Filter' if desc.shapeType == 'Polygon': Prop = ['Z_MIN', 'Z_MAX', 'VERTEX_COUNT'] elif desc.shapeType == 'Point': Prop = 'Z' elif desc.shapeType == 'Multipoint': Prop = ['Z_MIN', 'Z_MAX', 'Z_MEAN'] elif desc.shapeType == 'Polyline': Prop = 'LENGTH_3D' print 'Completed adding Z information.' # Execute AddZInformation arcpy.AddZInformation_3d(inFC, Prop, noise) arcpy.CheckInExtension('3D') 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)