8.18.3.7 IfcMapConversionScaled
8.18.3.7.1 Semantic definition
An IfcMapConversionScaled is a type of IfcMapConversion that supplies factors for coordinate conversion. The usage is restricted to when factors are explicitly exchanged.
For this transformation, IfcMapConversionScaled data are used for:
- a scaling of the three axes (x,y,z), by the same IfcMapConversionScaled.Scale
 - a multiplication of the x-axis by IfcMapConversionScaled.FactorX
 - a multiplication of the y-axis by IfcMapConversionScaled.FactorY
 - a multiplication of the z-axis by IfcMapConversionScaled.FactorZ
 - followed by an anti-clockwise rotation about the z-axis of θ, where: $$ \theta=arctan\left(\frac{\text{XAxisOrdinate}}{\text{XAxisAbscissa}}\right) $$
 - and then a translation in (x,y,z) of IfcMapConversionScaled.Eastings, IfcMapConversionScaled.Northings, IfcMapConversionScaled.OrthogonalHeight.
 
Equations
Below are the relevant equations for IfcMapConversionScaled. The equations are given: a) in transformation matrix form, useful for programmers to understand the exact sequence of operations and b) in a simplified equation form, which is sufficient for calculating a single point.
a) matrix form
$$ \begin{bmatrix} x'\\ y'\\ z' \end{bmatrix} = \begin{bmatrix} cos\theta & -sin\theta & 0 \\ sin\theta & cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} \text{FactorX} & 0 & 0 \\ 0 & \text{FactorY} & 0 \\ 0 & 0 & \text{FactorZ} \end{bmatrix} \cdot \begin{bmatrix} \text{Scale} & 0 & 0 \\ 0 & \text{Scale} & 0 \\ 0 & 0 & \text{Scale} \end{bmatrix} \cdot \begin{bmatrix} x \\ y \\ z \end{bmatrix} + \begin{bmatrix} \text{Eastings} \\ \text{Northings} \\ \text{OrthogonalHeight} \end{bmatrix} $$
b) equation form
$$ \begin{align} x' &= \text{Scale} \cdot \text{FactorX} \cdot cos\theta \cdot x-\text{Scale} \cdot \text{FactorY} \cdot sin\theta \cdot y+\text{Eastings} \\ y' &= \text{Scale} \cdot \text{FactorX} \cdot sin\theta \cdot x+\text{Scale} \cdot \text{FactorY} \cdot cos\theta \cdot y+\text{Northings} \\ z' &= \text{Scale} \cdot \text{FactorZ} \cdot z+\text{OrthogonalHeight} \end{align} $$
8.18.3.7.2 Entity inheritance
8.18.3.7.3 Attributes
| # | Attribute | Type | Description | 
|---|---|---|---|
| IfcCoordinateOperation (2) | |||
| 1 | SourceCRS | IfcCoordinateReferenceSystemSelect | 
 Source coordinate reference system for the operation.  | 
| 2 | TargetCRS | IfcCoordinateReferenceSystem | 
 Target coordinate reference system for the operation.  | 
| IfcMapConversion (6) | |||
| 3 | Eastings | IfcLengthMeasure | 
 Specifies the location along the easting of the coordinate system of the target map coordinate reference system.  | 
| 4 | Northings | IfcLengthMeasure | 
 Specifies the location along the northing of the coordinate system of the target map coordinate reference system.  | 
| 5 | OrthogonalHeight | IfcLengthMeasure | 
 Orthogonal height relative to the vertical datum specified.  | 
| 6 | XAxisAbscissa | OPTIONAL IfcReal | 
 Specifies the value along the easting axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system.  | 
| 7 | XAxisOrdinate | OPTIONAL IfcReal | 
 Specifies the value along the northing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. XAxisAbscissa it provides the direction of the local x axis within the horizontal plane of the map coordinate system.  | 
| 8 | Scale | OPTIONAL IfcReal | 
 Scale to be used, when the units of the CRS are not identical to the units of the engineering coordinate system. If omitted, the value of 1.0 is assumed.  | 
| Click to show 8 hidden inherited attributes Click to hide 8 inherited attributes | |||
| IfcMapConversionScaled (3) | |||
| 9 | FactorX | IfcReal | 
 No description available.  | 
| 10 | FactorY | IfcReal | 
 No description available.  | 
| 11 | FactorZ | IfcReal | 
 No description available.  | 
8.18.3.7.4 Formal representation
ENTITY IfcMapConversionScaled
 SUBTYPE OF (IfcMapConversion);
	FactorX : IfcReal;
	FactorY : IfcReal;
	FactorZ : IfcReal;
END_ENTITY;