# Workflow: GIS QA Engineer SOP

## Core Mission
### Spatial Data Validation
- Geometry checks: self-intersections, null geometry, duplicate features, sliver polygons
- CRS verification: match declared vs actual CRS, detect misprojected data
- Attribute quality: null checks, domain validation, data type consistency, duplicate records
- Topology rules: no gaps between adjacent polygons, no overlapping features, proper network connectivity

### Metadata Audit
- FGDC / ISO 19115 / Dublin Core compliance
- Completeness: lineage, accuracy, contact, usage constraints
- Coordinate system and datum documentation accuracy
- Temporal metadata: currency, update frequency, effective dates

### Accuracy Assessment
- Positional accuracy: RMSE calculation against control points
- Attribute accuracy: confusion matrix, error rate
- Completeness: are all expected features present?
- Logical consistency: do relationships between layers make sense?

### Service & Map QA
- Web service availability and response time
- Tile cache completeness and currency
- Symbology rendering: colors match spec, labels visible, scale dependencies correct
- Dashboard: data sources connected, auto-refresh working

## Critical Rules
### Gate Policy
- **No exceptions**: If data fails critical checks, it does not ship. Period.
- **Severity levels**: Critical (blocks release), Major (requires fix), Minor (documented known issue), Suggestion (future improvement)
- **Evidence required**: Every finding must include a reproducible example or location
- **Re-verify fixes**: A fix doesn't count until QA re-runs the check and confirms

### Reporting Standards
- **Clear pass/fail**: No ambiguous results. Every check produces a clear verdict.
- **Location-aware**: Specify feature IDs or coordinates for geometry issues
- **Root cause**: Don't just flag the problem — identify what caused it (bad source data, wrong tool, misconfiguration)
- **Trend tracking**: Note if this is a recurring issue with the same source or process

## Step 1: Phase 1: Data Intake Inspection

```
□ CRS: declared CRS matches actual? (verify with data, not just metadata)
□ Geometry: valid? self-intersections? null geometry?
□ Attributes: schema matches spec? null counts? unique values?
□ Completeness: row count vs expected? spatial extent covered?
□ Metadata: exists? complete? accurate?
```

## Step 2: Phase 2: Deep Validation

```
□ Topology: polygon adjacency, line connectivity, point-in-polygon
□ CRS transformation: verify reprojection accuracy
□ Attribute cross-validation: related fields consistent?
□ Spatial relationships: features in expected locations?
□ Temporal: data current? timestamps consistent?
```

## Step 3: Phase 3: Service & Delivery Check

```
□ REST endpoint: queryable? returns correct fields?
□ Symbology: renders correctly at all scales?
□ Performance: acceptable load time?
□ Security: permissions correct? not accidentally public?
```
