Coder Social home page Coder Social logo

bhht-datascape's Introduction

BHHT Datascape

Sources and scripts related to BHHT's static website hosted at this url: https://medialab.github.io/bhht-datascape

Dependencies

The building scripts relie on python and the static website relies on node.

I recommend nvm to install node. And pyenv to cleanly manage a python environment. But any will (virtualenv, conda, miniconda, spyder etc.).

Building the necessary data files

First you will need to install the required python dependencies using pip in the desired python environment:

pip install -r requirements.txt

Then run the aggregation script thusly:

python scripts/aggregate.py <path-to-data.csv>

Developing the static website

After having built the necessary data files, you will first need to install npm dependencies:

npm install

Then you can develop the website (whose code is in the src folder) thusly:

npm run dev

The dev version of the app will then be served on http://localhost:3000.

This website is basically a static React web application loading the pre-aggregated data.

Building and deploying the static website

If you are happy with your code changes or if you need to refresh the data you just built, you can use the following commands to build the static website:

# To only build the website into ./build folder:
npm run build

# To build then serve the website to http://localhost:8000
npm run serve

# To build and deploy the website in production
npm run deploy

bhht-datascape's People

Contributors

jri-sp avatar paulgirard avatar yomguithereal avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bhht-datascape's Issues

fiche people

métadonnées

  • Nom de la page wikipedia
  • lien wikipedia
  • genre
  • vivant ?
  • nationalité
  • région
  • date et lieu de naissance et de mort (avec approximation)

occupation

3 occupations + sous-occupation par ordre de priorité
catégorie A > catégorie B > mot clef utilisé

catégorie A est un lien vers la vue agrégée avec le filtre de cette catégorie activée

notoriété contemporaine par langue

liste des langues de wikipédia avec un indicateur barchart de la notoriété

  • liste des villes présentes dans son article wikipedia par langue
  • langue principale de wikipedia

vue ville : naissance décès solde

sur la période donnée on montre :

  • le nombre de naissance à ce lieu en bar chart
  • le solde sous la forme d'une courbe
    (- le nombre de décès à ce lieu en bar chart négatif en option après essai sans)

listes de lieux et personnes dans la vue agrégée

Liste de lieux

  • liste des lieux présentes dans les personnes vivantes à la période sélectionnée
  • classé par le nombre de personne sur la période

Liste de personnes

  • toutes les personnes vivante dans la période
  • classée par notoriété

Les éléments des listes sont cliquables pour afficher les fiches
Affichent le top 10.
Possibilité de voir les 10 suivant etc. genre en scroll infini.
Les deux listes sont cherchables
dsc_0765

vue ville : liste des personnes

Liste des personnes qui ont cette ville dans leur profile et qui sont vivants à la période sélectionnée.
Ordonnée par notoriété décroissante.
chaque personne est cliquable pour aller sur sa fiche.

Même objet que #3

Problèmes concernant les données

  • Certaines personnes n'ont pas de pseudo birth date ou pseudo death date et sont donc absents ou présents de toutes les aggrégations (ex: Tutankhamon).
  • Certaines personnes sont attachées à des lieux incohérent souvent soit le produit d'un parsing de légendes iconographiques ou parce que l'heuristique de détection des pages de lieux (se basant sur la présence ou non de coordonnées dans la page) récupère de nombreux faux-positifs (ex: Jane Austen ou Gandhi lié au lieu "Holocauste").
  • Absence de dates avant J.C. pour les dates min/max des trajectoires (problème de parsing identifié par Morgane).
  • Problème concernant les données allemandes (escalier assez visible sur les courbes temporelles avec les données multilingues).
  • Certaines personnes résolument mortes sont indiquées comme vivantes dans les données (Hammurabi, notamment).
  • Certaines villes on été incorrectement fusionnées (ex: Alexandria, la ville antique et la ville américaine).

courbe d'influence d'un lieu

courbe dans le temps qu peut se stacker si on sélectionne une métadonnée

  • influence = on compte 1 sur la durée de la vie d'un people qui a ce lieu dans son parcours

On peut filtrer par les métadonnées d'un people (genre, activité)

Menu filtrage

Menu filtrage unique et commun valable pour toute la vue agrégée.
Filtre possible

  • temps: brush
  • genre: F/M
  • catégories: 6 ou 15
  • langues wiki: 7

vue-agregee-menu-filtrage

cartographie

  • fond de carte : openstreemap avec éléments géographiques + fleuves

  • grille représentant un point par agrégation de lieu
    chaque point de la grille est représenté par un symbole cercle

    • la taille du cercle représente nombre de personne vivant à la période et ayant un lieu dans la zone de la grille
    • la couleur représente le nombre de naissance dans un lieu de cette zone pendant la période sélectionnée

Sur la vue personne :
on ajoute un pictogramme pour le lieu de naissance, un autre pour le lieu de mort et un dernier pour les lieux du profile.

sur la vue ville :
zoom max sur la ville avec un highlight (identique à celui des parcours), même fond de carte.

zoom :

  • changement le pas de la grille
  • La règle de calcul des tailles changent
  • au dernier pas de la grille : plus de grille, on représente un symbole par point

Comparaison de profil de villes

Rapproché les villes ayant un profil similaire. Le profil est déterminé par les catégories des personnes la composant.

comparaison-villes

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.