Feature Class Z To ASCII (3D Analyst)
Summary
Exports 3D features to ASCII text files in XYZ, GENERATE, or profile format.
Usage
Supported inputs are points, multipoints, polylines, and polygon features.
-
This tool will also export polylines to a profile ASCII output format. The text file for the profile output format will contain distance for y and z for x. The profile format enables 3D data to be exported into more specialized graphing applications.
When exporting a feature class containing lines or polygons to XYZ format, the file name is used as a template. This is because the XYZ format's simplicity only supports one line or polygon per file. The restriction actually reaches to the part level, so if a feature has multiple parts, each part will be written to a separate file. The files will be given the prefix and suffix specified in the dialog box along with the OID of each feature, along with any additional characters needed to make each file name unique.
The decimal format of the output floating-point values can be defined as an input or determined automatically, where the software determines how many digits are needed to preserve the available precision while removing unnecessary trailing zeros.
Syntax
Parameter | Explanation | Data Type |
in_feature_class |
The 3D point, multipoint, polyline, or polygon feature class that will be exported to an ASCII file. | Feature Layer |
output_location |
The folder that output files will be written to. | Folder |
out_file |
Specifies the output file name. When exporting a feature class containing lines or polygons to XYZ format, the file name is used as a template. This is because the XYZ format's simplicity only supports one line or polygon per file. The restriction actually reaches to the part level, so if a feature has multiple parts, each part will be written to a separate file. The files will be given the prefix and suffix specified in the dialog box along with the OID of each feature, as well as any additional characters needed to make each file name unique. | File; Folder |
format (Optional) |
The format of the ASCII file being created.
| String |
delimiter (Optional) |
The field delimeter used in the text file.
| String |
decimal_format (Optional) |
Specifies the method used to determine the number of significant digits stored in the output files.
| String |
digits_after_decimal (Optional) |
Used when the Decimal Notation is set to FIXED. This determines how many digits after the decimal are written for floating-point values written to the output files. | Long |
decimal_separator (Optional) | The decimal character used in the text file to differentiate the integer of a number from its fractional part.
| String |
Code Sample
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.FeatureClassZToASCII_3d("LidarPts.shp", "", "ASCII_LidarPts.txt", "GENERATE", "COMMA", "FIXED", 6, "DECIMAL_POINT")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** Name: FeatureClassZToASCII Example Description: This script demonstrates how to use the FeatureClassZToASCII tool to create generate files for all z-aware point features in a given workspace. ****************************************************************************''' 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' # List all points in the target workspace fcList = arcpy.ListFeatureClasses("*", "POINT") if fcList: # Set Local Variables outFolder = "C:/output" outFormat = "GENERATE" delimeter = "SPACE" decimal = "FIXED" digits = 3 dec_sep = "DECIMAL_POINT" for fc in fcList: # Use Describe method to evaluate whether the feature class is z-aware desc = arcpy.Describe(fc) if desc.hasZ == True: # Define the output file name by replacing '.shp' with _ascii.txt outName = fc.replace('.shp', '') + "_ascii.txt" #Execute FeatureClassZToASCII_3d arcpy.FeatureClassZToASCII_3d(fc, outFolder, outName, outFormat, delimeter, decimal, digits, dec_sep) else: print "There are no feature classes in the " + env.workspace + " directory." 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)