2.6 KiB
Dissolve Worker
Processes dissolve operations to merge features based on attribute values.
Overview
The dissolve worker merges adjacent or overlapping features that share the same attribute value, optionally aggregating numeric fields.
Job Type
dissolve
Input Parameters
{
"source_dataset_id": 123,
"output_dataset_id": 124,
"dissolve_mode": "field",
"dissolve_field": "category",
"aggregation_fields": {
"population": "sum",
"area": "sum"
}
}
Parameters
source_dataset_id(required): Source dataset IDoutput_dataset_id(required): Output dataset IDdissolve_mode(optional): "all", "field", or "custom" (default: "field")dissolve_field(required if mode="field"): Field to dissolve oncustom_field(required if mode="custom"): Field for custom groupingcustom_groups(required if mode="custom"): Array of group definitionsaggregation_fields(optional): Object mapping field names to aggregation functions (sum, avg, min, max, count)
Output
Creates a new dataset with dissolved features:
- Merged geometries for each group
- Aggregated attribute values
- Group identifiers
Dissolve Modes
All Features
Merge all features into a single feature. No grouping field required.
By Field
Merge features that share the same value in the specified field.
Custom Groups
Merge features based on custom group definitions. Allows complex grouping logic.
Aggregation Functions
sum: Sum of numeric valuesavg: Average of numeric valuesmin: Minimum valuemax: Maximum valuecount: Count of features
Example
# Enqueue a dissolve job via API
curl -X POST "https://example.com/api/run_dissolve.php" \
-H "Content-Type: application/json" \
-d '{
"source_dataset_id": 123,
"output_dataset_id": 124,
"dissolve_mode": "field",
"dissolve_field": "category",
"aggregation_fields": {
"population": "sum",
"area": "sum"
}
}'
Background Jobs
This analysis runs as a background job. The worker:
- Fetches queued
dissolvejobs - Validates input parameters
- Executes PostGIS dissolve queries
- Applies aggregations
- Creates output dataset
- Marks job as completed
Performance Considerations
- Processing time depends on dataset size and number of groups
- Complex geometries may slow processing
- Aggregation operations add processing time
- Consider simplifying geometries before dissolving
PostGIS
Mobile
QGIS
MapBender
GeoServer
GeoNode
GeoNetwork
Novella
Solutions