I recently worked with someone on the discussion groups, trying to import metric points into a English foot surface. Various methods were introduced, however none of the methods could be used in the individual’s situation. Read on to find one solution.
Metric to U.S. Survey Feet = 3.2808333 (factor)
The conversion between Metric and English units has nothing to do with datum translation, it’s a simple scaling issue. However, if the datum has been set in the drawing settings, and the datum is correctly applied in the import format, then the system can ascertain the units from that information, and the scaling process will be completed seamlessly, as well as any translation needed.
You are probably shaking your head right now, aren’t you? The datum is available in the definitions for incoming point files, including the exact datum it was established on. TRUE! I think the word you are looking for is the exact HORIZONTAL datum. There is nothing available about the vertical.
The inevitable result is that the scaling process needed to convert the vertical data as well as the horizontal data is flawed. The horizontal information is scaled and translated, but the vertical data stays the same.
It’s like asking someone at an international bank to convert your money. The banker can see you have Yen. The next question will be, “Into what currency”?
Don’t get me wrong, I thing the Point File Definition applet that Autodesk included is great (I kind of wish I wrote it). However an addition needs to be made somewhere. At the very least, the intended units should be an option. This way the user doesn’t need to know about the datum, and very often they don’t….but they know if it’s metric or not. To really complete the process, and make it seamless, vertical datums should be added to the drawing settings, and to the Point File Import definitions.
I am not sure why Autodesk did not include this. There are a lot of Horizontal datums to work with, from around the world, but nothing exists about the vertical. Hey Autodesk, next version, please!
Since we cannot translate the vertical datum, we need a new route. I never give in, that is why I learned Lisp and C#, so I didn’t have to admit defeat. Unfortunately Barbara said I can’t take on any more “save the Civil community” pet projects until I complete my certification exams and get out of her hair (I am just kidding, she didn’t say that. She is wonderfully patient person!) I need a workaround, fast.
The solution turned out to be LandXML.
LandXML files wont add any datum information (like vertical) that isn’t already in the drawing. What it will do is to make sure that the UNITS are included in the XML file. When XML proceeds with it’s processing, it will take the units into consideration, and scale them whether you like it or not.
LandXML is not really a solution. I stress the word ‘workaround’, because it is a bit of a pain. Here is the process:
Import the data into a Point Group.
Set the Drawing Zone and UNITS to something METRIC in the drawing settings. Here I am using NAD83 Florida State Planes, North Zone, Meter. The Units as well are Meters.
Right click the Point Group, and select Export LandXML. Give it an appropriate file name, and save it.
Set the drawing zone and UNITS to something in Feet. I am using State NAD83 Florida State Planes, North Zone, U.S. Foot, and the Units are Feet.
Under File Menu, select Import LandXML, and select the previously saved file. During the import, make sure the data overwrites the data in the appropriate Point Group.
When Civil 3D reads the header, it will see that the datums are the same, and perform no translation. What it will do is see those UNITS, and scale the horizontal and vertical coordinates up by 3.2808333.
Now the data is available to do whatever you want with it, for example, go to the definition of a Surface, and add the Point Group.
XML is a bit tedious, and I hate reading it, but once again it gets the job done.
[*TIP*: While you are setting the incoming and outgoing Point File Definition format, if you are using Northing and Easting, be sure to use GRID Northing, and GRID Easting of the pertinent datum. With GRID, the system will see that the information is related to a datum, and will attempt to transform it.]


Talk Back