AR1/docs/workers/erase_analysis.md

79 lines
1.7 KiB
Markdown

# Erase Analysis Worker
Processes erase operations to remove features using another dataset.
## Overview
The erase analysis worker removes portions of features from an input dataset that overlap with features in an erase dataset.
## Job Type
`erase_analysis`
## Input Parameters
```json
{
"input_dataset_id": 123,
"erase_dataset_id": 124
}
```
### Parameters
- `input_dataset_id` (required): Input dataset ID
- `erase_dataset_id` (required): Erase dataset ID
## Output
Creates a new dataset with erased features:
- Features with erased portions removed
- Remaining geometry after erase operation
- Original attributes preserved
## Algorithm
The worker uses PostGIS `ST_Difference` to:
1. Find features that intersect the erase dataset
2. Calculate difference (input - erase)
3. Remove empty geometries
4. Store results in output table
## Example
```bash
# Enqueue an erase analysis job via API
curl -X POST "https://example.com/api/analysis_erase_run.php" \
-H "Content-Type: application/json" \
-d '{
"input_dataset_id": 123,
"erase_dataset_id": 124
}'
```
## Background Jobs
This analysis runs as a background job. The worker:
1. Fetches queued `erase_analysis` jobs
2. Validates input parameters
3. Executes PostGIS erase operations
4. Creates output dataset
5. Marks job as completed
## Performance Considerations
- Processing time depends on dataset sizes and overlap
- Complex geometries may slow processing
- Spatial indexes improve intersection performance
- Consider simplifying geometries before erasing
## Related Documentation
- [Erase Analysis Tool](../analysis-tools/erase.md)
- [Analysis API](../api/analysis.md)
- [Workers Overview](index.md)