Skip to content

[GRF005] CRS scale - formula is wrong #522

Description

@atomczak

The attached IFC file: Building-Architecture.zip has the following data:

#11=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.001,#7,$);
#12=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,$,.MODEL_VIEW.,$);
#13=IFCPROJECT('2Ndyd$OSX7s9A04nc4lyye',#1,'ifc silly sample scene - project','Demystifying IFC with a playful scene using diverse building elements and compositions.',$,$,$,(#11),#14);
#14=IFCUNITASSIGNMENT((#15,#16,#17));
#15=IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#18=IFCPROJECTEDCRS('EPSG:32760','EPSG:32760 - WGS 84 / UTM zone 60S','WGS 84',$,$,$,#19);
#19=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#20=IFCMAPCONVERSION(#11,#18,729013.3488297004,9063992.684697364,1.3000000000000018,0.4999999999999999,0.8660254037844387,0.001);

So:

  • Project (source) in mililetres
  • Projected CRS (target) in metres
  • Map conversion scale: 0.001

However, it results in this warning:
Image

because of the rule: GRF005_CRS-unit-type-differences.feature

Since the scale is defined as:

Then The map conversion scale must be the quotient of the project length units and the target CRS length units

$$ Scale = \frac{source}{target} $$

Therefore:

$$ Scale = \frac{ProjectUnit}{ProjectedCRSUnit} = \frac{milimetre}{metre} = 0.001 $$

So I believe the warning is wrong, the model should pass the validation.

cc: @janbrouwer

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions