Looking at various examples, I've found that spatial:transform is ambiguous
- Sometimes it's on the levels but not at the root
- Sometimes it's on the levels and at the root
- Sometimes it's neither on the levels nor at the root, and you have to compute the root transform yourself based on the bounding box (and have to compute the decimated transforms)
Some suggestions/observations:
- If
layout exists, then it should not be at the root. Having it on the root is confusing because it's not automatically clear which scale it refers to. For example, here the root spatial:transform describes the 30m level but that's not the finest nor coarsest resolution of the sub groups.
- Having it at the root biases one of the groups as the "special" level, which I don't think makes sense.
- If
layout exists, then it should be included on all levels. You could theoretically put it on just one and compute it for the other levels, but that's a lot of work, and since the layout array isn't ordered (I think?), it would be annoying to find which key has the transform.
- In the case of rotated, non-axis-aligned data, it's incorrect/impossible to compute the transform based on the bbox. So there must always be a transform defined somewhere. (Unless you have explicit language saying that, if not defined, the transform rotation must be 0. But it's so much easier and clearer to just include the transform)
Looking at various examples, I've found that
spatial:transformis ambiguousSome suggestions/observations:
layoutexists, then it should not be at the root. Having it on the root is confusing because it's not automatically clear which scale it refers to. For example, here the rootspatial:transformdescribes the 30m level but that's not the finest nor coarsest resolution of the sub groups.layoutexists, then it should be included on all levels. You could theoretically put it on just one and compute it for the other levels, but that's a lot of work, and since the layout array isn't ordered (I think?), it would be annoying to find which key has the transform.