I'm using ArcMap 10.8 with 3D Analyst. I received a LandXML from a civil engineer, who I assume used Civil3D or similar to create it. The LandXML has several TINs representing existing surface and proposed surfaces of a proposed project. When I use the LandXML to TIN tool, the TIN is placed in the incorrect spatial location.

You can see in this screenshot the overpass is shifted to the northeast by about 575 feet.

LandXML to TIN result

I have tried the following:

  1. Apparently the data uses a modified state plane with a scale factor. I have tried editing the xml with the scale factor before converting to TIN, but the result is the same.
  2. I have tried editing the prj.adf file in the TIN folder with the scale factor applied, same result.
  3. The TIN result also has no projection information, despite specifying in the Environment settings. I set the XY coordinate system in the properties of the TIN to the state plane as well as modified state plane with scale factor applied, both of which have no effect on the location of the TIN.
  4. I requested a dwg from the same engineer so I could inspect it; this data lands in the correct location when added to ArcMap.
  5. Using TIN to Raster, I converted one of the proposed surface TINs as well as the existing surface TIN to .tif. I georeferenced the existing surface raster to an approximate location based on aerial imagery (getting desperate). I copied that .tfw file and put it in the same folder with the proposed surface raster, and renamed it with the name of the proposed surface raster. This did not work the same way as a .wld file would with CAD, and resulted in a shrinking and misalignment of the proposed surface raster.

How do I get this TIN to land in the correct location?


The very first thing I would try is to bring your new TIN into a blank ArcMap session. The current data frame coordinate system may be the reason your TIN doesn't 'line up' with the imagery.

You may have done exactly this but these are the steps I need to take:

  1. Copy a standard esri projection file (.prj) to a new location. For example if your data is in State Plane Texas 4202 copy that esri prj file somewhere. Change the name and suffix it with Surface so it's clear this is an edited prj file.

  2. Check the Prj properties and copy the false easting and false northing values to excel

  3. Multiply the false easting and false northing by your scale factor

  4. Back in the projection file, replace the existing FE and FN with your scaled values. Also enter the scale factor in the scale factor parameter

enter image description here enter image description here

  1. Run your LandXML to TIN, set the output coordinate system to your custom projection file. Then add it to a new ArcMap session.
  • Thanks for the suggestion. I ran through those steps. I also edited the LandXML text to replace the FE with the one multiplied by the scale factor. This resulted in a shifting of the TIN to the southwest by about 200 meters, but it's still about 39 meters south of where it should be. I'm thinking the scale factor is wrong, because it looks like this solution would work if the projection information I was provided was correct to begin with.. – Anna Riling Apr 23 at 18:00
  • Silly question but you replace the FN too right? You're comment doesnt mention that. Agreed though could be you were provided the incorrect scale factor. – Tigerwoulds Apr 25 at 21:41
  • FN is 0 (NM State Plane Central). I'm marking your answer as correct because I think it is the solution if I had the correct datum shift and scale factor info to begin with. Thanks! – Anna Riling Apr 26 at 22:59
  • @AnnaRiling Sounds good! Another long shot but you could run LandXML to TIN > Convert the TIN nodes to Points > test reprojecting/defining the CRS till the points line up > convert the Points to TIN/Raster. A 3rd workflow I've used is to use Safe FME to handle the conversion – Tigerwoulds Apr 27 at 1:53
  • I actually did try that, and edited the points using Spatial Adjustment to line up more or less with the dwg. Then used Create TIN from the node feature class, but the TIN that was created was pretty wonky. I just ran out of time, energy, and budget to fiddle any longer with it! – Anna Riling Apr 28 at 2:56

I had the same problem a few years ago. Vector data came in fine but the LandXML was off. I went through some old notes and found how I got it to work, but I had to do it in Civil 3D. Maybe they could modify it for you. The scale will be different I'm sure.

In Civ3D:

  • Select the surface/contour (use QSELECT to query)
  • Type SCALE, enter
  • Click the surface/contours, enter
  • Base point: 0,0,0
  • Scale factor: 0.99968672
  • TOOLSPACE > Prospector > Rt Click Surface name > Export LandXML 1.2
  • ArcCat > LandXML to TIN

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.