# Difference between revisions of "ARKmatrix"

From ARK

(→Processing) |
|||

Line 69: | Line 69: | ||

Aggregate | Aggregate | ||

− | * For each Context Above/Below relation where the Aggregate Unit is different between the Above and Below Units, add an Above/Below relation to the Subgroup matrix | + | * 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 | * Reduce the Subgroup matrix | ||

− | * For each Subgroup Above/Below relation where the Aggregate Unit is different between the Above and Below Units, add an Above/Below relation to the Group 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 | * Reduce the Group matrix | ||

## Revision as of 13:34, 18 March 2018

## Strat Units

Unit Attributes

- ID
- Label
- Class
- Type
- Status
- Site Code
- Aggregate Unit
- Period / Phase

Unit Class:

- Context
- Subgroup
- Group
- Landuse

Unit Type:

- Undefined
- Deposit
- Fill
- Cut
- Masonry
- Skeleton
- Timber

Unit Status:

- Allocated
- Assigned
- Void

## Strat Relations

- Above / Below (directed graph)
- Same-As (undirected graph)
- Contemporary With (undirected graph)

## Rules / Heuristics

Any Relations:

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

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