ContinuousAugmentedDiff#
Iterator for continuous monitoring of OpenStreetMap changes using augmented diffs.
Builds on AugmentedDiff to provide automatic polling with backoff.
Features#
- Continuous monitoring
- Automatic sequence number tracking
- Exponential backoff during errors
- Configurable polling intervals
- Bounding box filtering
Basic Usage#
from osmdiff import ContinuousAugmentedDiff
# Monitor London area
monitor = ContinuousAugmentedDiff(
minlon=-0.489,
minlat=51.28,
maxlon=0.236,
maxlat=51.686
)
for changes in monitor: # Runs indefinitely
print(f"Changeset {changes.sequence_number}:")
print(f" New: {len(changes.create)}")
print(f" Modified: {len(changes.modify)}")
Advanced Configuration#
monitor = ContinuousAugmentedDiff(
minlon=-0.489,
minlat=51.28,
maxlon=0.236,
maxlat=51.686,
min_interval=60, # Minimum 1 minute between checks
max_interval=300 # Maximum 5 minutes during backoff
)
API Reference#
Iterator for continuously fetching augmented diffs with backoff.
Yields AugmentedDiff objects as new diffs become available.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
minlon
|
Optional[float]
|
Minimum longitude of bounding box |
None
|
minlat
|
Optional[float]
|
Minimum latitude of bounding box |
None
|
maxlon
|
Optional[float]
|
Maximum longitude of bounding box |
None
|
maxlat
|
Optional[float]
|
Maximum latitude of bounding box |
None
|
base_url
|
Optional[str]
|
Override default Overpass API URL |
None
|
timeout
|
Optional[int]
|
Request timeout in seconds |
None
|
min_interval
|
int
|
Minimum seconds between checks (default: 30) |
30
|
max_interval
|
int
|
Maximum seconds between checks (default: 120) |
120
|
Source code in src/osmdiff/augmenteddiff.py
__next__()
#
Source code in src/osmdiff/augmenteddiff.py
See Also#
- AugmentedDiff - For single diff retrieval
- OSMChange - For standard changesets