{"id":51626986,"url":"https://github.com/osmberlin/osm-find-deleted-data","last_synced_at":"2026-07-13T02:32:47.298Z","repository":{"id":367636674,"uuid":"1281688809","full_name":"osmberlin/osm-find-deleted-data","owner":"osmberlin","description":"Find deleted OpenStreetMap objects in an area via the ohsome API.","archived":false,"fork":false,"pushed_at":"2026-06-26T20:33:12.000Z","size":99,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-26T22:13:29.259Z","etag":null,"topics":["heigit","ohsome","openstreetmap","osm"],"latest_commit_sha":null,"homepage":"https://osmberlin.github.io/osm-find-deleted-data/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osmberlin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-26T20:20:59.000Z","updated_at":"2026-06-26T20:33:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/osmberlin/osm-find-deleted-data","commit_stats":null,"previous_names":["osmberlin/osm-find-deleted-data"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/osmberlin/osm-find-deleted-data","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmberlin%2Fosm-find-deleted-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmberlin%2Fosm-find-deleted-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmberlin%2Fosm-find-deleted-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmberlin%2Fosm-find-deleted-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osmberlin","download_url":"https://codeload.github.com/osmberlin/osm-find-deleted-data/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osmberlin%2Fosm-find-deleted-data/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35408466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-13T02:00:06.543Z","response_time":119,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["heigit","ohsome","openstreetmap","osm"],"created_at":"2026-07-13T02:32:46.823Z","updated_at":"2026-07-13T02:32:47.292Z","avatar_url":"https://github.com/osmberlin.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OSM Find Deleted Data\n\nFind **deleted OpenStreetMap objects** in an area, using the\n[ohsome API](https://docs.ohsome.org/ohsome-api/v1/). A static single-page app — no backend.\n\nPick an area, a time range, and an ohsome filter → get every object that was deleted, each linked to\nits OpenStreetMap **history** (who deleted it, when, in which changeset). Replaces the manual\n\"download GeoJSON → QGIS → filter `@deletion`\" workflow.\n\n## Use it\n\n1. **Filter** — an ohsome filter, e.g. `amenity=bench and type:node`.\n2. **Time range** — from/to (or the \"last month/year\" shortcuts).\n3. **Area** — draw a box on the map, or type coordinates.\n4. **Find deletions** — results show in a table and on the map.\n\nEvery input lives in the URL, so any query is a shareable link. Example query:\n\u003chttps://osmberlin.github.io/osm-find-deleted-data/?z=15.56\u0026lat=52.47502\u0026lng=13.42067\u0026filter=amenity%3Dbench\u0026from=2024-04-01\u0026to=2026-06-19\u0026bbox=%5B13.41291,52.472494,13.420682,52.476229%5D\u003e\n\n### Good to know\n\n- **Map location:** a deletion contribution has no geometry (the object is gone). Its marker is\n  derived from the object's earlier creation/edit *if that falls inside your time range* — otherwise\n  it's listed (flagged ⚑) without a marker. Widen the start date to capture creations.\n- **Editor:** ohsome doesn't expose usernames; the table links the **changeset**, which reveals the\n  user on openstreetmap.org.\n- Queries run only on **Find deletions** (never on keystroke) and are cached, so each search hits\n  ohsome at most once.\n\n## Alternative approaches\n\n### Ways — WAMY (\"Wo sind meine Ways geblieben?\")\n\n[WAMY](https://michreichert.de/projects/wamy/) is a dedicated analysis for **deleted ways** (this app\nis more general but derives way locations less reliably). Mind the data age — check when the dataset\nwas last built on its [about page](https://michreichert.de/projects/wamy/about.html).\n\n- Code: \u003chttps://codeberg.org/nakaner/deleted-map\u003e\n- Talk (German): [FOSSGIS 2026 — Wo sind meine Ways geblieben?](https://media.ccc.de/v/fossgis2026-82321-wo-sind-meine-ways-geblieben)\n\n### Overpass with a past date (tiny area)\n\nAlternatively, query Overpass at a **past date** and load a **tiny area**: at that date the\nnow-deleted objects still existed, so they show up. This uses the `[date:...]` setting, which needs an\nOverpass instance with attic (historical) data, e.g. the main `overpass-api.de`.\n\nSame area and filter as the example query above, at the start date:\n\n```overpassql\n[out:json][timeout:25][date:\"2024-04-01T00:00:00Z\"];\nnode[amenity=bench](52.472494,13.41291,52.476229,13.420682);\nout geom;\n```\n\n- Run it in [Overpass Turbo](https://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A25%5D%5Bdate%3A%222024-04-01T00%3A00%3A00Z%22%5D%3B%0Anode%5Bamenity%3Dbench%5D(52.472494%2C13.41291%2C52.476229%2C13.420682)%3B%0Aout%20geom%3B).\n- Docs: [Overpass QL (the `[date:…]` setting)](https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL)\n  and [Overpass API — attic/historical data](https://wiki.openstreetmap.org/wiki/Overpass_API).\n\n## Develop\n\n```bash\nbun install\nbun run dev          # http://localhost:5173\nbun run check        # lint + typecheck + unit tests + build\nbun run test:e2e     # Playwright (fully mocked — no external calls)\n```\n\nStack: Bun · Vite · React 19 · TanStack Router (SPA) + Query · Zod · Tailwind ·\nreact-map-gl/maplibre + OpenFreeMap · oxlint · Vitest · Playwright.\nFollows the [FixMyBerlin tech-stack skill](https://github.com/FixMyBerlin/fixmyskills/tree/main/skills/tech-stack)\nin its client-only profile.\n\n## Deploy\n\nPush to `main` → GitHub Actions builds and publishes to **GitHub Pages**\n(enable once under Settings → Pages → Source: GitHub Actions). The Vite `base` is\n`/osm-find-deleted-data/`; for a custom domain or user page set it to `/` in `vite.config.ts`.\n\nThanks to [HeiGIT](https://dashboard.ohsome.org/en/) for the preprocessed OSM history data.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmberlin%2Fosm-find-deleted-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosmberlin%2Fosm-find-deleted-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmberlin%2Fosm-find-deleted-data/lists"}