# Difference between revisions of "ARKmatrix"

From ARK

(→Strat Relations) |
(→Rules / Heuristics) |
||

Line 24: | Line 24: | ||

* Cannot be between same Unit | * Cannot be between same Unit | ||

* Both Units must be same Class | * Both Units must be same Class | ||

+ | |||

+ | Above/Below Relations: | ||

+ | * Adding relation should not create cycles (no intersection between successors and predecessors) | ||

Same-As Relations: | Same-As Relations: | ||

Line 30: | Line 33: | ||

* Both Units must have the same Aggregate Unit if set | * Both Units must have the same Aggregate Unit if set | ||

* Both Units must have the same Period / Phase if set | * Both Units must have the same Period / Phase if set | ||

− | |||

== Processing == | == Processing == |

## Revision as of 14:25, 18 March 2018

## Strat Units

Unit Attributes

- Site Code
- Unit ID
- Label
- Class [Context, Subgroup, Group, Landuse]
- Type [Deposit, Fill, Cut, Masonry, Skeleton, Timber]
- Status [Allocated, Assigned, Void]
- Aggregate Unit
- Phase
- Period

## Strat Relations

- Above / Below (directed graph)
- Same-As (undirected graph)
- Contemporary With (undirected graph) {REMOVE?]

## Rules / Heuristics

Any Relations:

- Cannot be between same Unit
- Both Units must be same Class

Above/Below Relations:

- Adding relation should not create cycles (no intersection between successors and predecessors)

Same-As Relations:

- Both Units must be Context class
- Adding relation should not create cycles (no intersection between successors and predecessors)
- Both Units must have the same Aggregate Unit if set
- Both Units must have the same Period / Phase if set

## Processing

Load

Validate

- Validate Units
- Validate Above/Below relations
- Validate Same-as Units

Resolve

- For each Same-As relationship add all Above/Below relations to each Unit

Validate

Reduce

- Remove all redundant Above/Below relations (transitive reduction)

Aggregate

- Validate all Context Units have an Aggregate Unit
- For each Context Above/Below relation where the Aggregate Unit is different between the Above and Below Units, add an Above/Below relation between the Aggregate Units to the Subgroup matrix
- Reduce the Subgroup matrix
- Validate all Subgroup Units have an Aggregate Unit
- For each Subgroup Above/Below relation where the Aggregate Unit is different between the Above and Below Units, add an Above/Below relation between the Aggregate Units to the Group matrix
- Reduce the Group matrix

## Development Plans

Some other notes: http://archaeologic.al/wiki/Harris_Matrix https://github.com/anvaka/graph-drawing-libraries https://github.com/ArsMasiuk/qvge