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;