How TIN Triangle (3D Analyst) works
TIN Triangle creates an output 3D polygon feature class containing polygons based on a triangulated irregular network's (TIN) triangles. Each triangle is written as a 3D polygon.
Slope and aspect are calculated based on the plane defined for each triangle. The values are written to the fields Slope_Pct and Aspect. By default, slope is given as a percentage (rise/run * 100). Slope can be written in degrees by specifying degree as the Slope Units. In this case, the output field name is Slope_Deg. Aspect is always reported in degrees. Zero is north, and values increase clockwise like a compass. Flat triangles are assigned an aspect value of -1.
Optionally, a hillshade field can be written containing a brightness value for each triangle. Values range from 0 to 255. To include this information, use the HILLSHADE keyword. The brightness value is based on the relation between the plane defined by each triangle and a light source. The position of the light source defaults to the northwest, with an azimuth of 315 degrees (compass based with 0 north, positive clockwise) and an altitude of 45. You can override these defaults by specifying the values you want used.
For slope and hillshade to provide accurate results, the x-,y-, and z-units should be in the same unit of measure (for example, feet or meters). The Z Factor argument is used to correct discrepancies. A proper default is calculated if x-,y-, and z-units are all defined in the spatial reference and are standard projected units. Slope cannot be calculated properly if the x,y units are angular (for example, longitude, latitude degrees). If a Z Factor is not needed or there is insufficient information to calculate one, a value of 1.0 is used. The Z Factor argument can be used to provide more contrast to the hillshade values since a larger factor effectively increases the steepness of the terrain, but this must be done with care.
If the TIN has triangle tag values, you can specify an output field that will be added to the output feature class to contain these values. If none is specified, the field will not be added.