specs icon indicating copy to clipboard operation
specs copied to clipboard

null in semantics values

Open balazsdukai opened this issue 1 year ago • 1 comments

If a surface does not have semantics, there is null in the semantics.values array instead of its index. The current specs suggests that for more complex geometries (Solid, CompositeSolid), one should fill the shell-array with null for each surface, even the whole shell does not have semantics. Although, the example is a bit ambiguous, because the comment says a different thing than the example.

https://github.com/cityjson/specs/blob/fcd13ba921f81b666fab4960903f2f72758a75cf/specs/specs.bs#L979-L981

Previously, it was possible to declare the whole shell-array as null, if none of the surfaces has semantics. However, this was changed in https://github.com/cityjson/specs/commit/4f0a09b52d4025cc193e73c3dbc364103f277473?diff=unified#diff-279e2f6f8646211b27f70036bad53a9944da6634b50f77f18d5e05711f313154L919 The related explanation was removed much earlier, https://github.com/cityjson/specs/commit/a14406f88f3d7d13a0133c2b95cf92d2feafee51#diff-279e2f6f8646211b27f70036bad53a9944da6634b50f77f18d5e05711f313154L843-L848

But I couldn't find an explanation for these changes. Do you remember them @hugoledoux ?

balazsdukai avatar Oct 16 '22 10:10 balazsdukai

  1. The comment should be updated, nice catch.
  2. I do remember: it was not that easy to implement this, and then to support CityJSON people would have had to code this. Having 2 trees having the same "shape" is way easier (at the cost of more storage, this is true).

hugoledoux avatar Oct 17 '22 08:10 hugoledoux