Giter VIP home page Giter VIP logo

hikingtrailmatcher's Introduction

Hiking trail matcher

This tool was build to quickly enrich the hiking trails in Wikidata.

It gets a list of hiking trails from Wikidata that are missing an OSM relation ID and looks them up in the waymarked trails database.

Then it shows the result to the user and ask them pick the matching one if any.

Screenshot

bild

Operation

First the tool checks via OSM Wikidata Link if there is a single relation in OSM already linking to the item. If yes the tool presents the match for approval to the user.

If no match is found via OSM Wikidata Link the tool proceeds to lookup the label of the route in the Waymarked Trails database. If the user cannot decide whether they match, they are provided with links to make further investigatation easier. If the user choose "no match" then a missing-in OSM statement with the current date is uploaded to Wikidata. If a no value statement already exists a point in time-qualifier will be appended. If the user accepts a match it is uploaded to Wikidata at once.

Installation and setup

Make sure you have poetry installed with

$ pip install poetry

And then run

$ poetry install

Invocation

Windows

$ winpty python.exe app.py

Linux

$ python app.py

License

GPLv3+

What I learned writing this tool

  • first time I used https://github.com/tmbo/questionary and I like it a lot! I got it to work in Windows too thanks to a fantastic error message with a hint.
  • mypy and typing of everything makes for much higher quality code and it is way easier to rewrite because tests and typing in concert quickly catches errors before they make it into the repo.
  • review and sharing ideas with others is very helpful. multiple minds think better than one.
  • it's fun to match!
  • I tried keeping all methods small in this project and it was somewhat of a challenge to invent good names for all the methods.

hikingtrailmatcher's People

Contributors

dpriskorn avatar

Stargazers

 avatar Roman avatar Harald Husum avatar Magnus Sälgö avatar

Watchers

Magnus Sälgö avatar  avatar

hikingtrailmatcher's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.