LandXML To TIN (3D Analyst)

Available with 3D Analyst license.


This tool imports one or more triangulated irregular network (TIN) surfaces from a LandXML file to output Esri TINs.


  • When the LandXML file is selected, the TINs to Import parameter is populated with all the TIN surfaces found in the LandXML file. A constrained Delaunay TIN from the LandXML file is created as a constrained Delaunay TIN.

  • When scripting, the names inside the tinnames parameter can be specified in short form (only number or only name) for convenience. Instead of "1. Site0445; 2. <unnamed>; 3. <unnamed>; 4. Site_09" , you can specify "1;2;3;4" or "Site0445; Site_09;2;3". The <unnamed> keyword cannot be used by itself because the TIN must be uniquely identified.


LandXMLToTin(in_landxml_path, out_tin_folder, tin_basename, {tinnames})
ParameterExplanationData Type

The input LandXML file.


The folder that the output TINs will be created in.


The basename of the resulting TIN. When several TINs will be exported from the LandXML file, the basename is used to define a unique name for each output TIN. If <basename> already exists, the tool will not write anything. If <basename> does not exist but <basename>2 exists, the tool will create <basename> and <basename>2_1, instead of <basename>2.


The one or more LandXML TIN surfaces that will be exported to an Esri TIN. Each LandXML TIN can be specified by its name or its index position in the LandXML file, where the number 1 represents the first TIN, 2 identifies the second, and so on.


Derived Output

NameExplanationData Type

The folder containing the output TINs.


Code sample

LandXMLToTin example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

arcpy.env.workspace = "C:/data"
arcpy.LandXMLToTin_3d("surfaces.xml", "TINs", "_", "1;2")
LandXMLToTin example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script.

Name: LandXMLToTin Example
Description: This script demonstrates how to use the
             ListFiles method to collect all LandXML (*.xml) files in a
             workspace as input for the Import3DFiles tool.
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"
# Use ListFiles method to grab all xml files (assumedly LandXML files)
landList = arcpy.ListFiles("*.xml")
if landList:
    for landFile in landList:
        # Set Local Variables
        outputFolder = "TINs" # The folder that the TINs will be created in
        outputBase = "Madagascar_" # Base name will be applied to all output TINs
        grab = "1" # TIN selection can be chosen by enumerated values (e.g. 1;2)
        # Execute Import3DFiles
        arcpy.LandXMLToTin_3d(landFile, outputFolder, outputBase, grab)
        print("Completed creating TIN(s) from {0}.".format(landFile))
    print("There are no xml files in {0}.".format(env.workspace))

Licensing information

  • Basic: Requires 3D Analyst
  • Standard: Requires 3D Analyst
  • Advanced: Requires 3D Analyst