Question

How to set the GeoLocation of a IFC model in FME?

  • 5 November 2019
  • 9 replies
  • 50 views

Badge

Hi,

 

 

I am currently writing my master's thesis on the subject of "Geodata according to BIM".

 

 

In particular, the georeferencing of the IFC file using FME causes problems. In concrete terms, the necessary IFC entities "IfcProjectedCRS" and "IfcMapConversion" cannot be written. How are these defined and written with FME?

 

 

IFC Version 4 is to be written.

 

(FME 2019.1.2.0 (Build 19630) and WIN64 are used for the data conversion.)

 

 

Do you already have experience with georeferencing IFC4 files using FME?

 


9 replies

Userlevel 2
Badge +17

Hi @luhu,

Currently FME can only write the RefLatitude, RefLongitude and RefElevation to the IfcSite feature to establish the georeferencing.

Please send all of your data through a CommonLocalReprojector transformer, with Vertical Handling set to 'Heights are Relative...'. This will create a local Azimuthal Equal Area coordinate system centered on your data, and reproject your data into this coordinate system.

Next, use a CoordinateSystemExtractor to extract the coordinate system name into an attribute.

Use a StringSearcher with the following settings to extract the ref lat and long from the coordinate system name:

- Contains Regular Expression: _([-]*[\\d]+[\\.][\\d]*)

- Advanced - Subexpression Matches List Name: _matches

Finally, use a AttributeCreator to copy the matches into the appropriate attribute names:

- RefLatitude <- _matches{1}.part

- RefLongitude <- _matches{0}.part

 

Badge

Thanks for the answer.

 

 

Are there any efforts to integrate IFC4 georeferencing ("IfcProjectedCRS" and "IfcMapConversion") into FME?
Userlevel 2
Badge +17

Thanks for the answer.

 

 

Are there any efforts to integrate IFC4 georeferencing ("IfcProjectedCRS" and "IfcMapConversion") into FME?

We are working towards full coordinate system support in IFC4, but are not there yet.

Badge

Hi, in my case several offsets are defined in some IFC propeerties as:

IFCMAPCONVERSION and IFCCARTESIANPOINT but i cannot see those properties defined in the IFC reader (FME 2020.2). To get them i neeed to read the whole IFC file as text ansd extract the properties i need but the properties are defined recursively: IFCMAPCONVERSION(#84,#100,130950.,1173750.,0.,1.,0.,1.);

So for example to get all the values in the IFCMAPCONVERSION properties should into the whole IFC as text and look for #84 and #100:

#84= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.01,#81,#82);

#81= IFCAXIS2PLACEMENT3D(#79,#77,#73);

#73= IFCDIRECTION((1.,0.,0.));

#77= IFCDIRECTION((0.,0.,1.));

#79= IFCCARTESIANPOINT((0.,0.,0.));

#82= IFCDIRECTION((0.,1.));

Do you have an easier alternative to read through all the properties in the IFC file? I have been thinking about using python caller and the IFCShell python module but as long a IFC reader is in place in FME, I think this should be upgraded.

This paper of BuildingSMART Australasia explains georeferencing in IFC using IfcMapConversion and IfcProjectedCRS.

https://www.buildingsmart.org/wp-content/uploads/2020/02/User-Guide-for-Geo-referencing-in-IFC-v2.0.pdf

 

Please upvote this idea for better support for this in FME:

https://community.safe.com/s/idea/0874Q000000LP2jQAG/detail

Userlevel 4
Badge +26

Hi @stijngoedertier​ ,

 

Do you know any tools which are currently using these properties when generating IFC filed (e.g., Revit etc)

@virtualcitymatt​, yes IfcMapConversion information can now be exported from Archicad and Revit (with IFC add-in). I am not sure about other tools like Tekla, Vectorworks, Allplan, etc.

 

See this wiki with detailed explanations:

https://wiki.osarch.org/index.php?title=ArchiCAD_IFC_geolocation

https://wiki.osarch.org/index.php?title=Revit_IFC_geolocation

Badge +24

We are working towards full coordinate system support in IFC4, but are not there yet.

what is the latest on this?

There is now a custom transformer in the FME Hub that can read IfcMapConversion information from an IFC file and apply the coordinate transformation. See:

https://hub.safe.com/publishers/stijngoedertier/transformers/ifcmapconversionreader

Reply