Résumé
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
Utilisation
Tous les fichiers en entrée doivent avoir le même format et le même type de géométrie.
Les formats XYZ et XYZI prennent en charge les lignes d'en-tête et traitent la première ligne commençant par trois nombres consécutifs comme le début des enregistrements de points. Les deux formats peuvent stocker des points, des lignes et des polygones, mais chaque fichier ne peut contenir qu'une entité surfacique ou linéaire en une partie. Les entités surfaciques doivent être fermées, les coordonnées du dernier sommet étant identiques à celles du premier, et elles ne doivent pas se croiser.
Les fichiers XYZ stockent les coordonnées x, y et z sous forme de valeurs à virgule flottante où chaque ligne représente un enregistrement de points distinct. Les coordonnées XYZ peuvent être suivies d'entrées alphanumériques, mais ces informations ne sont pas transmises à la classe d'entités résultante.
Les fichiers XYZI stockent les coordonnées x, y, z, ainsi que les mesures d'intensité. Les valeurs d'intensité sont stockées dans un champ de grand objet binaire (BLOB) pour les sorties multipatch.
Remarque :
Si le fichier ASCII est au format XYZI mais que les mesures d'intensité ne sont pas nécessaires, choisissez XYZ. Le système ignore alors la valeur d'intensité lors de la lecture des fichiers.
Le format GENERATE ne prend pas en charge les lignes d'en-tête, mais il fournit pour chaque point un identifiant, ainsi que les coordonnées XYZ. En outre, la dernière ligne du fichier peut être signalée par le mot-clé END :
id x y z id x y z . . END
Le format GENERATE prend en charge plusieurs entités par fichier. Pour les lignes et les polygones, le mot-clé END signale la fin d'une entité, chacune devant être une entité en une partie. Deux mots-clé END dans une ligne indiquent la fin du fichier.
id x y z x y z x y z END id x y z x y z END END
Remarque :
Les polygones doivent être orientés dans le sens horaire, ne présenter aucune auto-intersection et être fermés (autrement dit, le dernier sommet et le premier sommet sont identiques). Si l'une de ces conditions n'est pas satisfaite, le polygone en sortie n'est pas valide. L'outil Vérifier les géométries permet de valider les entités obtenues, tandis que l'outil Réparer les géométries permet de corriger les erreurs.
Syntaxe
arcpy.3d.ASCII3DToFeatureClass(input, in_file_type, out_feature_class, out_geometry_type, {z_factor}, {input_coordinate_system}, {average_point_spacing}, {file_suffix}, {decimal_separator})
Paramètre | Explication | Type de données |
input [input,...] | Fichiers ou dossiers ASCII comportant des données au format XYZ, XYZI (avec intensité lidar) ou 3D GENERATE. Tous les fichiers en entrée doivent présenter le même format. 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 traités. Dans la boîte de dialogue de l'outil, vous pouvez également spécifier un dossier en entrée en le sélectionnant dans l'Explorateur Windows et en le faisant glisser vers la zone de saisie du paramètre. | Folder; File |
in_file_type | Format des fichiers ASCII qui seront convertis en classe d'entités.
| String |
out_feature_class | Classe d'entités qui va être produite par cet outil. | Feature Class |
out_geometry_type | Type de géométrie de la classe d'entités en sortie.
| 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 de 1, ce qui laisse les valeurs d’altitude inchangées. Ce paramètre est désactivé si la référence spatiale de la surface en entrée possède un datum Z avec une unité linéaire spécifiée. | 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.
| String |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
arcpy.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)
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
# Set environment settings
arcpy.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")
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?