Setting Up in the Real World – GeoReferencing - Looking under the bonnet... - Peer Blogs - Bentley Communities

Setting Up in the Real World – GeoReferencing


The accuracy of 3D modelling operations can be affected by the limitations of floating point arithmetic. This is a fundamental limitation of current technology. When many complex calculations are involved rounding errors can accumulate affecting modelling results. This was previously discussed in Setting Up in the Real World or "Where do we model?".

To minimise these effects 3D modelling engines are generally designed to operate in a limited volume near to the centre of the design space. Some applications limit this space, MicroStation has a very large design space to accommodate the requirements of infrastructure users. 2D and less complex 3D models can use the space available to model in real world locations and orientations as required by civil engineering projects.

However more complex 3D operations are subject to the same floating point accuracy limitations that apply to other 3D applications. To minimise these effects models should be created within the Solids Working Area, near to the Design File Centre (0,0,0).

Building Models and more complex 3D operations also generate more complex geometry and benefit from higher level of accuracy to resolve the detail of smaller scale building components and relationships. AECOsim Building Designer's (ABD) seed files and dataset content are therefore delivered using a higher resolution than those used by some larger scale civil projects.

All DGN files recognise the true scale of their content regardless of resolution, a 1m cube created in an ABD file with a resolution of 1000 UOR/mm will be correctly represented in a DGN file with a different resolution, e.g. the 10 UOR/mm used by some civil engineering  seed files.

Modelling buildings un-rotated also reduces the complexity of calculations. Where buildings have a clear rectilinear form we recommend orienting a model’s primary grid to the application’s x/y axes . Obviously in cases involving complex building forms this may not be relevant, an obvious orientation may not be available.

To relate building models and their civil context we use Geo-Referencing to display:

  1. The context aligned to the building
  2. The building aligned to the context

This is effected by a geospatial transformation particular to a building, facility or group of buildings/facilities.

A number of sites can be related to linear infrastructure using this method, each site along the route having its own transform as shown in this simplified example at the end of this piece.

The Local Transform Method

The Local Transform method is a simple way to use Geographic Coordinate Systems to relate building models, which should be modelled within the Solids Working Area and near the Design File Centre, to real world site location data.

To set up a Local Transform you will need to create a site survey plan that references survey or mapping data in its correct location and orientation to the regional GCS. In the UK the mapping data is generally in an OS DXF file. Survey information can obviously vary in format. The best GCS for the UK is:

See Setting Up in the Real World – UK Coordinate Systems for more details on this GCS and how to add it to your GCS library.

The examples below were complied using the legacy BritishNatGrid GCS.

The 0,0,0 point of an OS DXF file is at the National Grid Datum so when referenced an OS DXF file will normally appear in the correct location relative to the National Grid Datum.

The elevation will be zero, OS DXF data is 2D.

The transformation process we are discussing is aimed at AEC designers not civil engineering designers so occurs in the xy plane ignoring the curvature of the earth.


Create a new file to contain the project site survey plan: Geo_Site_GCS.dgn.

Attach the appropriate regional GCS to this file, British National Grid in this example (see the help topic "To Select a Geographic Coordinate System from the Library" for guidance on this step):

When GB Dataset seed files are used the working units will be mm. This will trigger the warning below when you attach the GCS. Accept the default, no change, option as the working (graphic) units are correct:

Attach the site location data, this can be OS mapping or site survey that must be in its correct real world location, by reference > Coincident.

Draw a piece of geometry, possibly the actual site boundary or preferably some easily identifiable arbitrary geometry, for instance, a rectangular bounding box for the site with rational dimensions. We call this the Alignment Geometry. In the example below the Alignment Geometry is a red rectangle rotated to match the primary project grid, with a couple of diagonal lines inside the box for verification of orientation later in the process.

This Alignment Geometry must have an established relationship with a point on the site, in this example I have shown a notional site datum point at the lower left of the Alignment Geometry, its real world coordinates are shown.

This example shows a 2D process that ignores z-height. If your project uses 3D terrain data the Alignment Geometry will need to be positioned with a z-height as well.


Create a new file Geo_Project-1_GCS.dgn. This will store the project GCS that will shortly be created.

(Note, this could be Building-1_GCS.dgn or similar if the project contained multiple buildings that need to be Geo-referenced.)

In this draw an Alignment Geometry, this time in green, a shape of the same size as (or copied from) that in Site_GCS.dgn with its lower left corner at 0,0 unrotated.

Create Local Transform for Project-1

Open Geo_Site_GCS.dgn.

Attach Reference > Coincident Geo_Project-1_GCS.dgn.

As mentioned above, this example shows a 2D process that ignores z-height. If you are working with 3D site data enter a z offset for the reference attachment matching the z height of the Site Alignment Geometry.

The Project Alignment Geometry will appear at the 0,0,0 point, perhaps hundreds of km away from the site:

Using the reference manipulation tools, reposition Geo_Project-1_GCS.dgn (green) using the Alignment Geometry to move and rotate it from 0,0,0 to the site location so the two Alignment Geometry elements exactly coincide.


And Rotate:

Once they are aligned use the Select Geographic Coordinate System tool:

To Reference option:

To push a locally transformed GCS to Geo_Project-1_GCS.dgn from Geo_Site_GCS.dgn.

· Click the To Reference tool and in the resulting dialog select Geo_Project-1_GCS.dgn

· Click Apply

This warning will appear to alert you that this method is only supported in applications based on MicroStation 08.11.07.xx or later:

Accept the no change option as the design files are in mm:

When you open Geo_Project-1_GCS.dgn the active GCS is then shown in the Geographic Coordinate System selection dialog as:

Click the properties icon to see how the source GCS has been modified:

Referencing the site to building models

When a building Design Model needs to be related to real world site data, ensure that the British National Grid (BNG) GCS is attached to the site data file(s) involved as the transform created for the project model is relative to the BNG GCS.

Import the project GCS from Geo_Project-1_GCS.dgn into the building Design Model using the GCS From File method:

Browse to and select Project_GCS.dgn, this alert will appear again, click OK (you can choose the 'Do not display again' option if you wish):

Then accept the default, no change, option:

To test referencing the site to the building, draw another matching Alignment Geometry, origin at 0,0, this time in yellow:

Attach Geo_Site_GCS.dgn using method 'Geographic - AEC Transform' (this method is made available when a suitable GCS is active in the file to be referenced) with nesting set to 1 to include the OS Data:

The site plan appears in the correct relationship to the model:

Referencing Building Models to the site

To reference the building (or buildings) into the site use the same method. This massing model Geo_Project-1_Massing_01.dgn is created within the Alignment Geometry, so is adjacent to 0,0,0, which is where we need to be for best results with complex 3D modelling operations, particularly when using AECOsim Building Designer:

Import the project GCS from Geo_Project-1_GCS.dgn into Geo_Project-1_Massing_01.dgn using the 'From File' method as previously described.

Geo_ContextModel_01.dgn was created, which contains a pair of notional rail tunnels:

Attach the British National Grid GCS to Geo_ContextModel_01.dgn

Attach the site location plan reference Coincident.

Attach the building model, Geo_Project-1_Massing_01.dgn, referenced method -  AEC Transform:

The building model will appear in context

Multiple Sites

Repeat the previously described process to Create Local Transform for a second site, creating files Geo_Project-2_GCS.dgn and Geo_Project-2_Massing_01.dgn, then relate them all together to obtain this result:

See Setting Up in the Real World – GeoReferencing : Large Sites for a discussion on how to use GCS's on large sites.


Once a transform has been created for a project, first of all ensure that it is documented so that the originating design team have a clear record of what was done. This will reduce the risk of error later in the life of the project. Create a document suitable for sharing with other project participants that clearly communicates how the GCS was established.

Optionally, create a project seed file with this Transformed GCS attached from which container files can be created for referencing to the site.

Alternatively just use the ‘From Reference’ method to attach the Transformed GCS to model files when required.

There is no need to attach the project GCS to all project files, only to those container or model files that actually need to be related to the site plan.

  • I  have defined monuments in my dgn file that contains the structure, modeled near 0,0 with correct elevations.

    When I reference that file to my site dgn file (state plane coordinates), via the AEC transform option, the reference file falls into the correct location for x and y, however the elevation is off.

    When working in a location at elev 40, the difference is small, but now I am working in a location with an elevation of 9300, and the z difference is over 6".  I'm guessing that microstation is converting the Cartesian coordinates to lat/long and metric elevation, and somewhere along the way, that conversion is getting confused.  I am running in survey feet.  Any thoughts?