The SEDRIS Data Representation Model
APPENDIX A - Classes Grid Overlap |
---|
An instance of this DRM class specifies how the data provider intended the consumer to resolve data ambiguity at a location falling within a grid cell for two or more <Property Grid> instances, such that the ambiguity cannot be resolved by other means.
An ambiguity occurs at a location L lying within two <Property Grid> instances A and B if:
When such an ambiguity occurs, < Grid Overlap> instance(s) indicate how the data provider intended the consumer to calculate the <Table Property Description> value intended at each such location.
When <Grid Overlap> instances are required and are present, resolution only occurs within an overlay group. The resolution process is performed on data from <Property Grid> cells that contain a given location (choose the first priority group that includes all relevant grids.) The resolution process is as follows:
STEP 1: | Start with priority 0. Each priority group shall have exactly one <Grid Overlap> instance with priority 0. The <Property Grid> instance for this <Grid Overlap> instance shall overlap the other <Property Grid> instances in the given priority group. The operation for priority 0 shall be SE_GRD_OVRLP_OP_BASE. Extract cell data from the <Property Grid> instance that has this <Grid Overlap> instance as a component; this becomes the current data. |
---|---|
STEP 2: | Find the next priority. Priorities within an overlay group need not be consecutive, but they shall be unique. Extract the cell data from the <Property Grid> that has this <Grid Overlap> as a component. Operate on this and the current data according to the < Grid Overlap> operation. The result of the operation becomes the current data for the next step. SE_GRD_OVRLP_OP_REPLACE means that this data overrides the current data from the last step. SE_GRD_OVRLP_OP_ADD and SE_GRD_OVRLP_OP_MEAN can only be applied to numeric data. SE_GRD_OVRLP_OP_MERGE operations are dependent on the classification of the <Property Grids>, and use methods documented outside SEDRIS. |
STEP 3: | Look for next priority. If found, goto step 2. Otherwise use the current data. |
<Property Grid> | overlay_group | priority | operation |
---|---|---|---|
A | 10 | 0 | SE_GRD_OVRLP_OP_BASE |
B | 10 | 1 | SE_GRD_OVRLP_OP_REPLACE |
A | 20 | 0 | SE_GRD_OVRLP_OP_BASE |
C | 20 | 1 | SE_GRD_OVRLP_OP_REPLACE |
D | 20 | 2 | SE_GRD_OVRLP_OP_REPLACE |
In intersection A & B, B data overrides A.
In intersection A & C, C data overrides A.
In intersection A & D, D data overrides A.
In intersection A & C & D, D data overrides others.
B should not intersect either C or D as this scheme will not provide ambiguity resolution.
<Property Grid> | overlay_group | priority | operation |
---|---|---|---|
A | 1 | 0 | SE_GRD_OVRLP_OP_BASE |
B | 1 | 1 | SE_GRD_OVRLP_OP_MEAN |
M | 1 | 999 | SE_GRD_OVRLP_OP_ADD |
B | 2 | 0 | SE_GRD_OVRLP_OP_BASE |
M | 2 | 999 | SE_GRD_OVRLP_OP_ADD |
In intersection A & M and outside of B, add M offsets to A bathymetry values.
In intersection B & M and outside of A, add M offsets to B bathymetry values.
In intersection A & B, average A and B bathymetry values.
In intersection A & B & M, first average A and B bathymetry values, and then add offsets from M to the average.
If their absence will not cause ambiguity in the transmittal, <Grid Overlap> instances are not needed. If the <Property Grids> are explicitly disjoint due to some higher organizing structure, such as mutually exclusive branches of an < Aggregate Geometry>, there is no ambiguity and a <Grid Overlap> is not required. If grids covering the same location have no common <Table Property Description> contents, they do not create ambiguity and do not need a <Grid Overlap>.
SE_Short_Integer_Positive | overlay_group; | |
---|---|---|
SE_Short_Integer_Unsigned | priority; | |
SE_Grid_Overlap_Operator | operation; |
|