This is a project for HSLU (DSPRO 2).
It consists of a codebase, a scientific report (source), and a published dataset.
The project uses Markdown (and LaTeX), Python and Node.js with Typescript.
It uses Obsidian (Markdown) for documentation and planning, it can also be viewed with any other markdown viewer (including GitHub/GitLab).
For Python dependency management it uses poetry.
To set it up do poetry install
, to add dependencies use poetry add
.
To run commands use poetry shell
to spawn a subshell.
Select the venv
after running poetry install
for Jupyter Notebooks.
For Node.js dependency management it uses yarn v1.
To set it up simply type yarn
.
To see available commands, check out the scripts
section of the package.json
and run them using yarn <command>
.
All project relevant commands are handled via yarn, including formatting our Python, Typescript, and Markdown files and generating our report from our Markdown source.
To load the data from our published dataset:
- Ignore our server check (
DOWNLOAD_LINK=None
andSKIP_REMOTE=true
in.env
) - Put the unzipped
data(_mapped)
directory (if you want both start with mapped) intodspro2/1_data_collection/.data
. - Run
yarn data:import
on a unix based system (or rename them togeoguessr_location_******.png
andgeoguessr_result_******.json
, and copy all the JSON files intodspro2/3_data_preparation/01_enriching/.data
). - Execute the
dspro2/3_data_preparation/99_importing/import.ipynb
notebook (make sure to set theMAPPED
parameter correctly and only the relevant data is inside the directory).
Simply run yarn scrape:prepare
, set GEOGUESSR_EMAIL
and GEOGUESSR_PASSWORD
in your .env
file, then yarn scrape:ui
(for local testing), yarn scrape
or scrape:deploy
(for multiple parallel instances).
Within this module we are supervised by the following course coaches:
- Dr. Umberto Michelucci
- Dr. Ludovic Amruthalingam
- Dr. Daniela Wolff
- Aygul Zagidullina (internal link)
The whole project was done by the following students: