# Join Features

Attach attributes from a target dataset to a source dataset based on spatial relationships.

## Overview

Join features attaches attributes from a target dataset to features in a source dataset based on spatial relationships (intersect, within, contains, etc.).

## Inputs

- **Source Dataset**: Dataset to join to
- **Target Dataset**: Dataset to join from
- **Spatial Relationship**: Intersect, within, contains, etc.
- **Aggregation** (optional): Aggregation functions for multiple matches

## Outputs

New dataset containing:

- Source feature geometry
- Attributes from both datasets
- Aggregated values (if aggregation specified)

## Aggregation Functions

- **Sum**: Sum of numeric values
- **Average**: Average of numeric values
- **Count**: Count of matching features
- **Min/Max**: Minimum/maximum values

## Example

```json
{
  "source_dataset_id": 123,
  "target_dataset_id": 124,
  "relationship": "intersect",
  "aggregation": {
    "population": "sum"
  }
}
```

## Use Cases

- Attribute enrichment
- Spatial data integration
- Aggregated statistics
- Data combination

## Notes

- Multiple target features can match one source feature
- Aggregation required for multiple matches
- Spatial relationship affects results
- Processing time depends on dataset sizes

## Related Documentation

- [Analysis API](../api/analysis.md)

