AR1/docs/workers/erase_analysis.md

1.7 KiB

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

{
  "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

# 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