I discovered a problem with TIN coordinate systems when importing a TIN using the LandXML to TIN tool. First the tool did not recognize the current output coordinate system environment, and to boot, the Define Projection tool does not work with TINs.
This problem was verified with 10.0 sp5 and 10.1 SP1.
- NIM085938 Cannot use Define Projection Tool on TINs.
- NIM085906 LandXML to TIN tool is not respecting the environment setting for output coordinate system.
Two workarounds were identified:
1. Open the properties of the TIN and then manually define it
2. I wrote a little python function that works around the issue. (You could use this within a Python script, implement this as a script tool, or use it in ModelBuilder inside the Calculate Value tool.)
# workaround for a bug - define a projection for a TIN
# 1. Create a temporary raster
# 2. Define its projection
# 3. Copy the prj.adf file to the TIN
wks = os.path.dirname(tin)
tempGrid = arcpy.CreateScratchName("","","RasterDataset",wks)
# example usage
# Note you could have this be an argument
# to the tool of type "Coordinate System" and
# get it with GetParameterAsText()
# dataPrj = arcpy.SpatialReference(102003) # USA Albers CONUS
# DefineProjectionForTin(r"C:\Workspace\tins\bottom_temp1", dataPrj)