GIScience / GIScience/ohsome-planet

new feature: bbox filtering for changesets

Open
#41 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
61
Forks
7
PR merge metrics
No merged PRs in 30d

Description

When you want to work with regional extracts in ohsome-planet (e.g. for particular countries) and want to join changesets, there is no easy way to just work with the changesets for that particular region.

This is because OSM Changesets are currently provided only by the OSM planet server for the entire planet and history.
Regional variants or filtered versions of this file do not exist publicly.

As a work around you can use the `osmium` tool to filter changesets by bounding box coordinates.
Nevertheless, also this step is rather time consuming.

In fact, it would be much faster and straightforward to implement a bounding box filter directly in ohsome-planet.
This filter should import all changesets for which the bbox of the changeset intersects with the given bbox parameter value.

From the CLI perspective it could look like this:

```
java -jar ohsome-planet-cli/target/ohsome-planet.jar \
changesets \
--bz2 changesets-latest-karlsruhe-regbez.osm.bz2 \
--changeset-db "jdbc:postgresql://localhost:5432/postgres?user=$OHSOME_PLANET_DB_USER&password=$OHSOME_PLANET_DB_PASSWORD" \
--bbox=8.319,48.962,8.475,49.037
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the `changesets` command in `ohsome-planet-cli` and the changeset import path used with the PostgreSQL changeset database. Confirm how the CLI parses options, then implement and verify that `--bbox` retains changesets whose bounding boxes intersect the supplied coordinates.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, postgresql
Domain
cli, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.