Skip to main content

I am converting IFC to file geodatabase. Some are in mm. I have used scaler to convert but the geodatabase properties would seem to indicate that the units are still mm. I am not able to convince myself that my script has actually converted correctly. I use 'generate script' to statically convert from ICF to GDB inserting the scaler where there are features to convert before writing out.

Any help would be appreciated,

Ian

Hi @ianh​ ,

When it comes to units for the geometry, this is handled by the coordinate system. For the attributes, you'll need to convert these using something like the AreaUnitConverter or LengthUnitConverter transformer(s).

 

This can also be done in the Arithmetic Editor, in an AttributeManager for example, or an ExpressionEvaluator by dividing the current attribute by 1000. Tip: if you have a bunch of values to convert, you can take advantage of the @CurrentAttribute() function by copying and pasting this formula in the Attribute Value column of the AttributeManager. 

@Evaluate(@CurrentAttribute()/1000)

2021-01-29_16-00-05


Thanks Chris, I don't believe the IFC has a projection (coordinate system) as such. It has coordinates in design space by the look of it. These are in some files these distances/sizes are mm. There is also a site coordinate (lat/long) but it seems arbitrary. Are you saying I should project data with a custom projection in metres with the site location as the centre? Or something along those lines.


Thanks Chris, I don't believe the IFC has a projection (coordinate system) as such. It has coordinates in design space by the look of it. These are in some files these distances/sizes are mm. There is also a site coordinate (lat/long) but it seems arbitrary. Are you saying I should project data with a custom projection in metres with the site location as the centre? Or something along those lines.

In a geodatabase you can't set units, you can set a coordinatesystem and the coordinatesystem is based on units. So if the IFC is in meters and the coordinatesystem are both meters, no issues. If the ICF is in mm and the coordinatesystem is in meters you need to scale the features from mm to meters.


In a geodatabase you can't set units, you can set a coordinatesystem and the coordinatesystem is based on units. So if the IFC is in meters and the coordinatesystem are both meters, no issues. If the ICF is in mm and the coordinatesystem is in meters you need to scale the features from mm to meters.

Thanks Niels, just managed to get it to work! I was scaling (when mm) but the GDB was still not recognising the change in units. I now do a scale, I expose the length unit and change to metres, then set the coordinate system before sending to the GDB. Initially I was not sure of what coordinate system the IFC was in.

Perhaps I don't need to do all this. Maybe only set the out put projection on the Navigator Pane. I'll try that now.


Reply