|
# Raster Clip Worker
|
|
|
|
Processes raster clip operations to extract raster data within a boundary.
|
|
|
|
## Overview
|
|
|
|
The raster clip worker extracts raster data that intersects with a clipping boundary geometry.
|
|
|
|
## Job Type
|
|
|
|
`raster_clip`
|
|
|
|
## Input Parameters
|
|
|
|
```json
|
|
{
|
|
"raster_dataset_id": 125,
|
|
"clip_geometry": {
|
|
"type": "Polygon",
|
|
"coordinates": [ ... ]
|
|
},
|
|
"output_dataset_id": 126
|
|
}
|
|
```
|
|
|
|
### Parameters
|
|
|
|
- `raster_dataset_id` (required): Source raster dataset ID
|
|
- `clip_geometry` (required): GeoJSON geometry for clipping boundary
|
|
- `output_dataset_id` (required): Output raster dataset ID
|
|
|
|
## Output
|
|
|
|
Creates a new raster dataset with clipped data:
|
|
|
|
- Raster data within the clipping boundary
|
|
- Original raster properties preserved
|
|
- Proper spatial reference maintained
|
|
|
|
## Algorithm
|
|
|
|
The worker uses PostGIS raster functions to:
|
|
|
|
1. Transform clipping geometry to raster SRID
|
|
2. Clip raster to boundary using `ST_Clip`
|
|
3. Store clipped raster in output table
|
|
4. Update raster metadata
|
|
|
|
## Example
|
|
|
|
```bash
|
|
# Enqueue a raster clip job via API
|
|
curl -X POST "https://example.com/api/raster_clip_run.php" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"raster_dataset_id": 125,
|
|
"clip_geometry": {
|
|
"type": "Polygon",
|
|
"coordinates": [[[-180, -90], [180, -90], [180, 90], [-180, 90], [-180, -90]]]
|
|
},
|
|
"output_dataset_id": 126
|
|
}'
|
|
```
|
|
|
|
## Background Jobs
|
|
|
|
This analysis runs as a background job. The worker:
|
|
|
|
1. Fetches queued `raster_clip` jobs
|
|
2. Validates input parameters
|
|
3. Executes PostGIS raster clip operations
|
|
4. Creates output raster dataset
|
|
5. Marks job as completed
|
|
|
|
## Performance Considerations
|
|
|
|
- Processing time depends on raster size and boundary complexity
|
|
- Large rasters may require significant memory
|
|
- Consider resampling for very large rasters
|
|
- Clipping boundaries should match raster resolution
|
|
|
|
## Related Documentation
|
|
|
|
- [Raster Tools](../analysis-tools/raster.md)
|
|
- [Analysis API](../api/analysis.md)
|
|
- [Workers Overview](index.md)
|
|
|