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: 1. a scaling of the three axes (x,y,z), by the same IfcMapConversionScaled.Scale 2. a multiplication of the x-axis by IfcMapConversionScaled.FactorX 3. a multiplication of the y-axis by IfcMapConversionScaled.FactorY 4. a multiplication of the z-axis by IfcMapConversionScaled.FactorZ 5. followed by an anti-clockwise rotation about the z-axis of $\theta$, where:
$$ \theta=arctan\left(\frac{IfcMapConversionScaled.XAxisOrdinate}{IfcMapConversionScaled.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
$ 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}\ $
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 |
Factor by which the length measures in local engineering CS of X axis have to be multiplied to get map coordinates |
| 10 | FactorY | IfcReal |
Factor by which the length measures in local engineering CS of Y axis have to be multiplied to get map coordinates |
| 11 | FactorZ | IfcReal |
Factor by which the length measures in local engineering CS of Z axis have to be multiplied to get map coordinates |
8.18.3.7.4 Formal representation
ENTITY IfcMapConversionScaled
SUBTYPE OF (IfcMapConversion);
FactorX : IfcReal;
FactorY : IfcReal;
FactorZ : IfcReal;
END_ENTITY;