Skip to content

A web based data mining tool for OpenHistoricalMap using the Overpass API.

License

Notifications You must be signed in to change notification settings

OpenHistoricalMap/overpass-turbo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The OpenHistoricalMap fork of overpass-turbo

This is the OpenHistoricalMap (OHM) fork of overpass-turbo. It's a workbench for crafting & running queries using the Overpass-API and the OHM extensions to that API. It can be seen in operation at https://overpass-turbo.openhistoricalmap.org/ where a number of example queries are included under the Load button.

ohm_overpass_turbo_screenshot.png

Our philosophy is to stay as close to the upstream version as possible with modifications limited to the time dimension that differentiates OHM from OpenStreetMap (OSM). Most apparent in this code base is our use of MapLibre GL JS in combination with maplibre-gl-leaflet to shoehorn OHM-results into a basemap created with Leaflet. We include upstream documentation (README, LICENSE, etc.) in ./upstream/ and note OHM-specifics in this README.

Development

Quick start

  1. yarn install
  2. yarn run start for a Development server listening at http://localhost:5173
  3. yarn run build for a minified build in ./dist

git-branches

As with all OHM projects, issues are filed in the standalone Issues repository. Development is typically carried out on feature branches created from our main branch and merged via Pull Requests.

The master branch is deprecated and will be removed.

Gotchas

Upstream overpass-turbo makes extensive use of localStorage. If your code alterations are not being picked up, you may want to go beyond clearing your browser cache to wiping out localStorage using your JavaScript developer tools.

Translations

overpass-turbo translations that are not specific to OHM–and that is most of them!–should be submitted via the upstream system at Transifex. However, while our need for OHM-specific translation is limited, we are getting substantial amounts of translated strings from translatewiki.net and incorporating those. We have thus diverged from upstream here.

git diff variants I'm finding useful in managing locales files are, issued from the main branch:

  • git diff -w --numstat twn | sort -h: ignores whitespace changes, outputs the number of lines removed & added
  • git diff -w twn -- locales/fr.json: shows what's been changed in a particular file

Testing

Black box

v2.0.2

  • maps should display a correct link to make a donation
  • clicking on Save should
    • include a save on openhistoricalmap.org button
    • initiate & complete an oauth2 interaction with openhistoricalmap.org; this will not work on staging
  • OSM basemap raster tiles should never be visible during initial page load or page refresh

v2.0.1

  • maps should display OHM data using OHM style & OHM attribution
  • OSM basemaps should not appear, even momentarily
  • query results, permalinks, etc. should link to OHM, not OSM, nodes, ways, and relations
  • query results should include OHM specifics such as start_date
  • Help documentation should refer to OHM unless a general OSM document is superior and appropriate

White box

TBD.

Continuous integration

Synchronization with upstream is carried out daily using a combination of the ohm.upstream-sync GitHub action, the upstream_sync bash script, and the-sacrifice branch which is recreated at each run. This is new as of spring 2024 and is very much a work-in-progress.

Releases

We began to tag releases in spring 2024. Releases are occasional. Our versioning is independent of upstream.

Deployment to staging and production

As with all OHM projects, deployment to staging and production environments is carried out via sha manipulation to the corresponding branches in the ohm-deploy repository.

About

A web based data mining tool for OpenHistoricalMap using the Overpass API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 82.7%
  • HTML 11.3%
  • CSS 3.5%
  • PEG.js 2.1%
  • Other 0.4%