ASCII 3D vers classe d'entités (3D Analyst)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Importe des entités 3D à partir d'un ou plusieurs fichiers ASCII stockés aux formats XYZ, XYZI ou GENERATE vers une nouvelle classe d'entités.

Illustration

Exemple d'utilisation de l'outil ASCII 3D vers classe d'entités

Utilisation

Syntaxe

ASCII3DToFeatureClass_3d (input, in_file_type, out_feature_class, out_geometry_type, {z_factor}, {input_coordinate_system}, {average_point_spacing}, {file_suffix}, {decimal_separator})
ParamètreExplicationType de données
input
[input,...]

Fichiers ou dossiers ASCII comportant des données au format XYZ, XYZI (avec intensité lidar) ou 3-D GENERATE. Si un dossier est spécifié, le paramètre Suffixe de fichier est requis et tous les fichiers portant la même extension que le suffixe indiqué sont utilisés. Si plusieurs fichiers sont impliqués, ils doivent présenter le même format.

Folder; File
in_file_type
String
out_feature_class

Classe d'entités en sortie.

Feature Class
out_geometry_type

Type de géométrie de la classe d'entités en sortie.

  • MULTIPOINT - N'est valide que lorsque l'entrée est constituée de points. Les multi-points sont recommandés lorsque vous n'envisagez pas d'ajouter d'attribution point par point, notamment lorsque plusieurs milliers ou millions de points sont en jeu. Il s'agit du paramétrage par défaut.
  • POINT - N'est valide que lorsque l'entrée est constituée de points.
  • POLYLINES - N'est valide que lorsque l'entrée est constituée de polylignes ou de polygones. Si des polygones sont entrés, vous pouvez utiliser POLYLINES en sortie.
  • POLYGONS - N'est valide que lorsque l'entrée est constituée de polygones.
String
z_factor
(Facultatif)

Facteur par lequel les valeurs Z sont multipliées. Il permet généralement de convertir des unités linéaires Z afin d'apparier les unités linéaires XY. La valeur par défaut est 1, qui laisse les valeurs d'altitude inchangées.

Double
input_coordinate_system
(Facultatif)

Système de coordonnées des données en entrée. La valeur par défaut est un système de coordonnées inconnu. Si une valeur est spécifiée, la sortie peut être projetée dans un système de coordonnées différent. Cela dépend si un système de coordonnées de l'environnement de géotraitement est défini pour l'emplacement de la classe d'entités cible.

Coordinate System
average_point_spacing
(Facultatif)

Distance planimétrique moyenne entre des points de l'entrée. Ce paramètre est utilisé uniquement lorsque la géométrie en sortie est définie surMULTIPOINT : il permet de regrouper des points. Cette valeur est utilisée avec la limite de points par forme afin de construire un système de tuiles virtuel permettant de regrouper les points. L'origine du système de tuiles est basé sur le domaine de la classe d'entités cible. Indiquez l'espacement dans les unités horizontales de la classe d'entités cible.

Double
file_suffix
(Facultatif)

Suffixe des fichiers à importer à partir d'un dossier en entrée. Ce paramètre est requis lorsqu'un dossier est spécifié en entrée.

String
decimal_separator
(Facultatif)

Le caractère décimal utilisé dans le fichier texte pour différencier la partie entière d'un nombre de sa partie fractionnaire.

  • DECIMAL_POINTUn point sert de caractère décimal. Il s'agit de l'option par défaut.
  • DECIMAL_COMMAUne virgule sert de caractère décimal.
String

Exemple de code

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

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
#Create spatial reference object using WKID
sr = arcpy.SpatialReference(32136)
arcpy.ASCII3DToFeatureClass_3d("masspntz.gen", "GENERATE", "elevation_points.shp", 
                               "MULTIPOINT", z_factor=3.28, 
                               input_coordinate_system=sr, average_point_spacing=2.5)
2e exemple d'utilisation de l'outil ASCII3DToFeatureClass (script autonome)

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

'''****************************************************************************
Name: ASCII3D_to_Feature_Class Example
Description: Creates a TIN surface using XYZI files in a folder and breaklines
             imported from ASCII files.
****************************************************************************'''
# Import system modules`
import arcpy
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set environment settings
    env.workspace = "C:/data"
    # Define the spatial reference using the name
    sr = arcpy.SpatialReference("Hawaii Albers Equal Area Conic")
    #Create the elevation points
    arcpy.ddd.ASCII3DToFeatureClass("Elevation Points", "XYZI", 
                                   "elevation_points.shp",
                                   "MULTIPOINT", z_factor=3.28, 
                                   input_coordinate_system=sr, 
                                   average_point_spacing=2.5,
                                   file_suffix="XYZ")
    #Create the break lines
    arcpy.ddd.ASCII3DToFeatureClass("brklines.gen", "GENERATE", 
                                   "breaklines.shp", 
                                   "POLYLINE", z_factor=3.28, 
                                   input_coordinate_system=sr)
    arcpy.ddd.CreateTin("elevation_tin", sr, 
                        [["breaklines.shp", "Shape", "hardline"],
                        ["elevation_points.shp", "Shape", "masspoints"]],
                        "CONSTRAINED_DELAUNAY")

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

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Requis 3D Analyst
ArcGIS for Desktop Standard: Requis 3D Analyst
ArcGIS for Desktop Advanced: Requis 3D Analyst
6/5/2014