archeoViz
est une application dédiée à l’archéologie. Elle permet de visualiser, d’explorer interactivement, et d’exposer et communiquer rapidement sur le web des données archéologiques de terrain. Elle propose des visualisations en 3D et 2D, génère des coupes et des cartes des restes archéologiques, permet de réaliser des statistiques spatiales simples (enveloppes convexes, surfaces de régression, estimation de densité par noyau en 2D), et de visualiser une chronologie interactive des fouilles d’un site. archeoViz
peut être utilisée localement ou déployée sur un serveur, soit en chargeant des données via l’interface, soit en lançant l’application avec un jeu de donnée spécifique. L’interface est disponible en anglais et en français.
archeoViz
peut être employée de deux manières:
Le package peut être installé depuis GitHub avec:
Puis, chargez le package et lancez l’application avec:
Pour déployer archeoViz
sur votre Shiny server, téléchargez premièrement le package:
# déterminez le répertoire de travail dans votre shiny server:
setwd(dir = "/some/path/")
# téléchargez le package:
download.file(url = "https://github.com/sebastien-plutniak/archeoviz/archive/master.zip",
destfile = "archeoviz.zip")
# décompression:
unzip(zipfile = "archeoviz.zip")
Puis, rendez-vous à https://<your-shiny-server>/archeoviz-main
.
Pour paramétrer l’application avec vos données et préférences, éditez le fichier app.R situé à la racine du répertoire de l’application:
archeoViz(objects.df = NULL, # data.frame pour les objets
refits.df = NULL, # data.frame optionnel pour les remontages
timeline.df = NULL, # data.frame optionnel pour la chronologie des fouilles
title = NULL, # titre du site / du jeu de données
home.text = NULL, # contenu html à afficher sur la page d'accueil
lang = "fr" # langue de l'interface ("English" ou "French")
set.theme = "cosmo") # thème graphique de l'interface Shiny
Les valeurs possibles pour le paramètre set.theme
sont illustrées sur cette page. La langue de l’application peut être définie avec le paramètre lang
, qui accepte les valeurs “en”/“English” ou “fr”/“French”.
Des instances de démonstration de l’application sont déployées sur le Shiny server d’Huma Num:
Pour un cas d’emploi réel, voir l’exemple de la grotte préhistorique du Poeymaü dans les Pyrénées (N.B. il s’agit dans ce cas d’une version modifiée de l’application archeoViz
).
Si vous rencontrez un bug, ouvrez une issue en indiquant tous les détails nécessaires pour le reproduire.
Les suggestions de modifications sont bienvenues. Les demandes peuvent concerner des fonctions additionnelles, des modifications dans la documentation, des exemples additionnels, de nouvelles fonctionnalités, etc. Elles peuvent être faite en ouvrant une issue ou, mieux encore, en employant une pull requests et le modèle GitHub Fork and Pull.
Considérant les restes archéologiques d’un site donné, archeoViz
est conçu pour réduire les freins techniques à la réalisation de trois objectifs:
N.B.: par conséquent, archeoViz
n’t pas destiné à se substituer à des outils d’analyse plus sophistiqués (e.g., SIG, packages statistiques, etc.)
Il existe trois manières d’introduire des données dans archeoViz
:
archeoViz
avant de lancer l’application.Des tableaux pour trois types de données peuvent être chargés à partir de l’onglet “Données”:
Les tableaux doivent être au format .csv et la première ligne doit contenir les noms des variables (le symbole séparateur du csv peut être défini dans l’interface). Plus de détails à propos des formats et des colonnes sont donnés dans l’onglet “Données”.
À des fins de démonstration, il est possible d’employer des données aléatoirement générées. Déplacer le curseur sur une valeur supérieure à 0, dans l’onglet “Données”, active cette fonctionnalité (replacer le curseur sur 0 la désactive). Des données d’objets, de remontage, et de chronologie de la fouille sont alors générés, permettant de tester toutes les fonctionnalités d’archeoViz
.
La fonction de lancement d’archeoViz()
peut être exécutée sans définir de paramètres:
ou en employant les paramètres objects.df
, refits.df
, timeline.df
afin de charger des données relatives, respectivement, aux objets, aux remontages, et à la chronologie.
Après que les données soient chargées, des sous-sélection peuvent être réalisées en employant les options du menu gauche de l’interface. Plusieurs paramètres sont possibles: le mode de localisation, les catégories des objets, et la définition de sous-groupes de données.
La localisation des objets archéologiques peut avoir été enregistrée de différentes manières, plus ou moins précises: comme des points (coordonnées xyz), sur des lignes, des plans, ou au sein de volumes (intervalles de valeurs x, y et/ou z). Dans archeoViz
, une distinction est faite entre les localisations exactes (les points) et les autres types de localisations vagues (lignes, plans, volumes). Les boutons permettent de sélectionner le sous-ensemble de données correspondant à l’un, l’autre, ou les deux modes de localisation.
Des sous-ensembles de données peuvent être définis à partir des catégories des objets, en employant les champs “Variable” et “Valeurs”. Après que l’une des variables ait été sélectionnée (“object_type” ou une autre “object_” variable possible), ses valeurs apparaissent en dessous et peuvent être sélectionnées en cochant les items. La sélection doit être validée en cliquant sur le bouton “Valider”. Cette sélection détermine les données qui seront présentées dans les graphiques et tableaux.
Il est, de plus, possible de préciser si les couleurs doivent être définies en fonction des couches ou en fonction de la variable objet sélectionnée.
Des sous-groupes de données peuvent être définies de deux manières: soit par couche ou en fonction de la variable “object_” sélectionnée. Cette option détermine l’application des couleurs dans les graphiques 3D et 2D et les sous-groupes de données auxquels sont appliqués les calculs de surface de régression et d’enveloppes convexes.
Enfin, dans l’onglet “Vue 3D”, cliquer sur un point active l’affichage d’information à son sujet dans le tableau présent sous la visualisation.
Les visualisations dans les onglets “Vue 3D”, “Carte”, “Section X” et “Section Y” sont générées à l’aide de la librairie plotly
. Toutes ces visualisations sont dynamiques et sont surmontées d’une barre de menu comportant plusieurs options (générer un fichier image, zoomer, déplacer le point de vue, etc.). Davantage de détails sont disponibles sur le site de plotly.
Cliquer sur un item de la légende modifie l’affichage:
Cette fonctionnalité permet de définir les couches devant être affichées. De plus, la taille des points peut être ajustée, ainsi que l’affichage ou non des relations de remontage.
Plusieurs sorties graphiques peuvent être générées dans archeoViz
.
plotly
comportent une fonction d’exportation en format .svg.archeoViz
comporte quelques fonctionnalités d’analyse spatiale, destinées à usage simple et exploratoire.
Dans l’onglet “Vue 3D”, cliquer sur “Calculer les surfaces” puis “Valider” affiche les surfaces de régression associées à chaque sous-ensemble de points (couche), comportant au moins 100 points. Les surfaces sont calculées grâce au modèle additif généralisé implémenté dans le package mgcv
.
Cliquer sur “Calculer les enveloppes” puis “Valider”, dans l’onglet “Vue 3D”, affiche les enveloppes convexes associées à chaque sous-ensemble de points (couches), comportant au moins 20 points. Les enveloppes sont calculées en employant le package cxhull
.
Dans l’onglet “Plan”, cocher la case “Calculer la densité” et cliquer sur “Valider” génère un plan comportant des lignes de contour représentant la densité des points. La densité peut être calculée pour l’ensemble des points ou par couche (comportant au moins 30 points). L’estimation bidimensionnelle de densité par noyau est calculée avec la fonction kde2d
du package MASS
(à travers le package ggplot2
).