knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
archeoViz
es una aplicación empaquetada de R Shiny para la visualización, exploración y comunicación web de datos espaciales arqueológicos. Incluye visualizaciones 3D y 2D interactivas, puede generar secciones transversales y mapas de los restos, y mostrar una línea de tiempo interactiva del trabajo en un sitio. Puede tambien ejecutar estadísticas espaciales básicas (casco convexo, superficies de regresión, estimación de densidad de kernel 2D), así como exportar datos a otras aplicaciones en línea para realizar métodos más complejos. archeoViz
se puede usar localmente o implementar en un servidor, ya sea permitiendo que el usuario cargue datos a través de la interfaz o ejecutando la aplicación con un conjunto de datos específico. La interfaz de la aplicación está disponible en alemán, español, italiano, inglés, francés, portugués, y rumano. Página web: https://archeoviz.hypotheses.org.
archeoViz
se puede utilizar de dos maneras:
El paquete se puede instalar desde CRAN con:
install.packages("archeoViz")
La versión de desarrollo está disponible en GitHub y se puede instalar con:
# install.packages("devtools") devtools::install_github("sebastien-plutniak/archeoviz")
Luego, cargue el paquete e inicie la aplicación con:
library(archeoViz) archeoViz()
Para implementar archeoViz
en su servidor Shiny, primero descargue y descomprima el paquete:
# configure el directorio de trabajo en su servidor Shiny: setwd(dir = "/some/path/") # descargar el package: download.file(url = "https://github.com/sebastien-plutniak/archeoviz/archive/master.zip", destfile = "archeoviz.zip") # unzip: unzip(zipfile = "archeoviz.zip")
Luego, abre https://<your-shiny-server>/archeoviz-main
.
Para configurar la aplicación con tus datos y preferencias, edita el archivo app.R
, ubicado en la raíz del directorio:
archeoViz(objects.df = NULL, # data.frame con datos sobre los objetos refits.df = NULL, # data.frame opcional para reinstalar datos timeline.df = NULL, # data.frame opcional para la cronología de excavación default.group =NULL, # méthode de groupement des données, # par couche ("by.layer") ou "by.variable" title = NULL, # titulo del sitio / data set home.text = NULL, # Contenido HTML para mostrar en la página de inicio lang = "fr" # lenguaje de interfaz ("en": Inglés, "fr": Francés, "it": Italiano, "pt": Portugués, "es": Español) set.theme = "cosmo") # tema gráfico para la interfaz Shiny
Los valores posibles para el parámetro set.theme
se ilustran en esta página. El idioma de la aplicación se puede configurar con el parámetro lang.
Las instancias de demostración de la aplicación se implementan en el servidor Huma Num Shiny:
archeoViz
en francés.archeoViz
en inglés.archeoViz
en alemán.archeoViz
en italiano.archeoViz
en portugués.archeoViz
en español.archeoViz
en rumano.Los casos de uso reales se presentan en el archeoViz Portal.
Si encuentra un error, complete un issue con todos los detalles necesarios para reproducirlo.
Sugerencias de cambios a archeoViz son bienvenidas. Estas solicitudes pueden referirse a funciones adicionales, cambios en la documentación, ejemplos adicionales, nuevas características, etc. Se puede hacer llenando un issue y, aún mejor, usando un pull requests y el modelo de Fork and Pull de GitHub.
Se presta especial atención al multilingüismo. La interfaz de la aplicación está disponible en varios idiomas, y se agradecería su traducción a otros idiomas. Para ello, edite este archivo y envíe una pull request.
Teniendo restos arqueológicos de un sitio determinado, archeoViz
está diseñado para reducir las barreras técnicas para cumplir tres objetivos:
Además, archeoViz
es un recurso pedagógico adecuado para enseñar análisis espacial en arqueología, estructuración de datos, ciencia abierta y flujo de trabajo reproducible.
N.B.: en consecuencia, archeoViz
no pretende reemplazar herramientas de análisis más sofisticadas (por ejemplo, GIS, paquetes estadísticos, etc.)
Los arqueólogos registran la ubicación de los objetos arqueológicos en diferentes escalas y granularidades. En consecuencia, utilizan diferentes conceptos geométricos para representar la ubicación.
El uso de coordenadas de cuadrícula o “estación total” electrónica permite registrar la ubicación individual de los objetos en el campo. En ese caso, la ubicación se representa como puntos en archeoViz
(tripletes de coordenadas x, y, z).
Sin embargo, también es común que las coordenadas x, y, z, por objeto no estén disponibles, por diferentes motivos debido a:
En todos estos casos, tenemos que lidiar con la ubicación imprecisa, cuando los objetos no se pueden ubicar como puntos sino que se encuentran en algún lugar entre rangos de coordenadas. La ubicación imprecisa puede afectar a una, dos o tres dimensiones espaciales (las coordenadas x, y, z, respectivamente).
Esta función también puede utilizarse para tener en cuenta la imprecisión de los instrumentos topográficos.
Las líneas son geometrías útiles para representar relaciones. En arqueología, pueden ser relaciones de remontajes entre fragmentos de objetos, orientación (medición de fábrica), etc.
Las líneas se generan a partir de datos cargados como datos de reensamblaje, ya sea desde la pestaña “Datos” o utilizando el parámetro refits.df
en la función archeoViz()
.
Las superficies son geometrías útiles para representar niveles del terreno, zanjas, fosos, etc. En archeoViz
, esto puede conseguirse definiendo un subconjunto de puntos que resuman la superficie deseada y activando después la visualización del casco convexo de este subconjunto.
Los remontajes suelen ser registrados por los arqueólogos de dos maneras:
Aunque la segunda estructura de datos es más precisa, la primera se usa con más frecuencia.
archeoViz
procesa y representa las dos estructuras de datos de dos maneras:
objects.df
(p. ej., object_refits
) y están representados por el color de los puntos en los gráficos ( como cualquier otra variable);refits.df
y se visualizan como segmentos que conectan los objetos de remontaje en las parcelas.Hasta ahora archeoViz
no maneja correctamente las mediciones de fábrica. Sin embargo, el proceso utilizado para representar remontajes también se puede adaptar y utilizar para representar las mediciones de fábrica. Esto requiere distorsionar la estructura de datos de la siguiente manera:
Vea un ejemplo de este método aquí.
Se pueden cargar tres tipos de datos en archeoViz
:
Las tablas deben ser archivos CSV con la primera fila que contiene las etiquetas de las columnas. Se permiten contenidos en HTML. Esto hace posible, en particular, agregar enlaces a recursos externos (por ejemplo, a identificadores permanentes de objetos en otras bases de datos, o a identificadores de conceptos en ontologías / tesauros estándar, etc.).
El formateo de sus datos se puede hacer:
archeoViz
en línea.Una fila describe un solo objeto con los siguientes campos obligatorios:
Además, los campos opcionales son posibles, incluidos:
Las etiquetas de los cuadrados de la cuadrícula:
add.x.square.labels
y add.y.square.labels
de archeoViz()
para agregar las etiquetas que faltan (en los ejes X e Y de la cuadrícula, respectivamente).Se puede cargar una tabla de datos con dos columnas para reajustar los datos (formato CSV). Cada fila debe contener los identificadores únicos de dos objetos de reacondicionamiento (correspondientes a los valores de la columna id
en la tabla de objetos).
Se puede cargar una tabla (formato CSV) sobre el historial de excavaciones. La fila indica el año en que se excavó o midió cada cuadrado de la cuadrícula del sitio. Esta tabla debe incluir las siguientes variables:
En las pestañas “3D” y “Mapa” se puede mostrar un dibujo de fondo. Esto puede utilizarse, por ejemplo, para mostrar un plano del sitio como fondo de una nube de puntos.
Esta función requiere una tabla de datos en la que cada línea contenga las coordenadas X e Y de los puntos que se utilizarán para el dibujo. Tenga en cuenta que las líneas se dibujarán en el orden de los puntos de la tabla.
El sistema de coordenadas utilizado debe ser el mismo que el utilizado para los objetos.
Para dibujar varias líneas, se requiere una columna adicional (titulada “group”), que debe indicar para cada punto el identificador único de la línea a la que pertenece el punto.
El conjunto de datos debe cargarse utilizando el parámetro background.map
.
Por defecto, todas las distancias en archeoViz
están en centímetros.
Sin embargo, es posible especificar otra unidad dando uno de los siguientes valores al parámetro unit
: “cm”, “m”, “km”. Este parámetro determina el contenido de la leyenda relativa al tamaño de los cuadrados de la cuadrícula.
Hay cuatro formas de ingresar datos en archeoViz
:
archeoViz
, en la interfaz R;archeoViz
.Los tres tipos de tablas se pueden cargar en la pestaña “Cargar datos”. El separador CSV (uno de: coma, punto y coma, tabulación) y el carácter utilizado para los puntos decimales (punto o coma).
La función de inicio de archeoViz (archeoViz()
) se puede ejecutar sin parámetros
archeoViz()
o usando los parámetros objects.df
, refits.df
o timeline.df
para ingresar datos.marcos sobre los objetos arqueológicos , las relaciones de remontajes entre estos objetos y la cronología de la excavación, respectivamente.
archeoViz(objects.df = NULL, # data.frame con datos sobre los objetos refits.df = NULL, # data.frame para reacondicionar objetos timeline.df = NULL) # data.frame opcional para la cronología de excavación
La URL de una instancia en línea de archeoViz
puede incluir los parámetros:
objects.df=
refits.df=
timeline.df=
cuyos valores deben ser la URL de un archivo CSV respetando el formato archeoViz descrito anteriormente. Por ejemplo: https://analytics.huma-num.fr/archeoviz/fr/?objects.df=https://zenodo.org/record/8003880/files/bilzingsleben.csv
El uso de datos generados aleatoriamente es posible con fines de demostración. Para activar esta función, configure el control deslizante en “Cargar datos” a un valor superior a 0 (establecer el valor nuevamente en 0 desactiva la función). Se genera un conjunto de datos de “objetos”, un conjunto de datos de “remontajes” y un conjunto de datos de “cronología”, lo que permite probar todas las funcionalidades de archeoViz
.
Puede cambiar la orientación de los puntos en planta. En la pestaña “Datos”, seleccione un valor (en grados) y confírmelo haciendo clic en el botón “Validar la selección”.
Una vez que se cargan los datos, se puede realizar una subselección de los datos en el menú del lado izquierdo. La agrupación se puede realizar cruzando los siguientes parámetros: el modo de ubicación, las capas y la categoría del objeto.
Si todos los objetos tienen una ubicación exacta o una ubicación vaga, no se propone ninguna opción. Sin embargo, si el conjunto de datos incluye una ubicación tanto exacta como imprecisa, es posible seleccionar solo una de estas opciones o ambas.
Los datos se pueden agrupar de dos maneras: ya sea según su capa o según la variable “object_” seleccionada. Esta opción determina los colores de los puntos en los gráficos 3D y 2D y cómo agrupar los puntos al calcular cascos convexos y superficies de regresión 3D. Los subconjuntos se pueden definir por categorías de objetos, utilizando los campos “variable” y “valures”. Una vez que se selecciona uno de los “object_type” (u otras posibles variables “object_”), sus valores aparecen a continuación y se pueden seleccionar usando las casillas de verificación. La selección debe validarse haciendo clic en el botón “Validar”. Esta selección determina los datos que se mostrarán en los gráficos y tablas.
Los gráficos en las pestañas “Gráfico 3D”, “Mapa”, “Sección X” y “Sección Y” se generan utilizando plotly
.
Todos los gráficos son dinámicos e incluyen una barra de menú encima del gráfico con varias opciones (generar un archivo de imagen, hacer zoom, mover la vista, etc.). Consulte los detalles en el sitio web plotly
.
Al hacer clic en el elemento de una leyenda, se modifica la visualización:
Esta función permite elegir qué capas se muestran. Además, se puede establecer el tamaño de los puntos y si se deben representar o no las relaciones de reposición.
Finalmente, al hacer clic en un punto, se muestra información sobre ese punto en la tabla debajo del gráfico.
En archeoViz
, se hace una distinción entre ubicación exacta (dada como coordenadas x, y, z) y ubicaciones vagas (dada como rangos de coordenadas). Se pueden mostrar ambos tipos de ubicaciones. La incertidumbre de las ubicaciones vagas se puede visualizar representando objetos no como puntos sino como líneas, planos y volúmenes (si se dan rangos de coordenadas para una, dos o tres dimensiones espaciales, respectivamente). Tenga en cuenta que esta función consume muchos recursos y su uso con demasiados datos puede ralentizar significativamente la aplicación.
Se pueden generar varios resultados gráficos enarcheoViz
.
archeoViz
incluye algunas funcionalidades de análisis espacial, destinadas a un uso básico y exploratorio.
En la pestaña “Gráfico 3D“, al hacer clic en “Calcular superficies” y “Validar” se muestra la superficie de regresión asociada con cada capa (con al menos 100 puntos). Las superficies se calculan utilizando el modelo aditivo generalizado implementado en el paquete mgcv
.
En la pestaña “Visualización 3D“, los cascos convexos se muestran:
El casco convexo asociado con cada capa (con al menos 20 puntos) se muestran. Los cascos convexos se calculan usando el paquetecxhull
.
En la pestaña “Mapa“, al marcar la casilla “Calcular densidad” y hacer clic en “Validar” se genera un mapa con líneas de contorno que muestran la densidad de los puntos. La densidad se puede calcular para todos los puntos juntos o por capa (con al menos 30 puntos). La densidad del núcleo 2D se calcula con la función kde2d
del paquete MASS
(a través de ggplot2
).
archeoViz
es, por definición, una aplicación interactiva. Sin embargo, varias características garantizan la reproducibilidad y comunicabilidad del resultado de las interacciones con la aplicación.
archeoViz
fue diseñado como uno de los componentes básicos de un ecosistema digital descentralizado para datos y análisis arqueológicos. En esta perspectiva, las características y funciones se distribuyen en múltiples aplicaciones interconectadas, en lugar de concentrarse en unos pocos sistemas. En consecuencia, los datos se pueden exportar e importar entre archeoViz
y otras aplicaciones basadas en la web. Tenga en cuenta que, hasta ahora, las funcionalidades de exportación solo están disponibles cuando se utilizan instancias archeoViz
en línea.
Desde la pestaña “Estadísticas” de archeoViz
, es posible exportar datos a otras aplicaciones online. La posibilidad de realizar determinadas exportaciones está condicionada al tipo de datos o a la presencia de un número mínimo de valores.
archeofrag es un paquete R y una aplicación web para evaluar y evaluar las distinciones entre unidades espaciales arqueológicas (por ejemplo, capas) basado en el análisis de las relaciones de remontajes entre fragmentos de objetos. La versión web de la aplicación incluye métodos para medir la cohesión y la mezcla de unidades espaciales y compararlas con datos simulados. Si se inicia una instancia de archeoViz
con datos de remontaje, estos datos se pueden analizar con archeofrag
. Cf. este ejemplo.
El Seriograph es una aplicación web (parte del SPARTAAS) collection) para visualizar cambios en la distribución cuantitativa de tipos de artefactos en series ordenadas o desordenadas de unidades espaciales. La exportación a Seriograph
sólo es posible desde instancias de archeoViz
ejecutadas online cuyo conjunto de datos tenga (al menos) 2 valores diferentes para la variable layer
y 2 valores diferentes para la variable seleccionada (object_type
por defecto).
Cf. este ejemplo.
Amado online es una aplicación online para analizar tablas de contingencia. Amado online
permite reordenar filas y columnas manualmente y realizar seriaciones y clasificaciones automáticas. La exportación a Amado online
sólo es posible desde instancias de archeoViz
ejecutadas online cuyo conjunto de datos tenga (al menos) 2 valores diferentes para la variable layer
y 2 valores diferentes para la variable seleccionada (object_type
por defecto). Cf. este ejemplo.
explor es una aplicación R Shiny / paquete R para explorar interactivamente los resultados de análisis multidimensionales. La exportación a explor
sólo es posible desde instancias de archeoViz
ejecutadas online cuyo conjunto de datos tenga (al menos) 2 valores diferentes para la variable layer
y 2 valores diferentes para la variable seleccionada (object_type
por defecto). La versión de explor
utilizada desde archeoViz
es una adaptación de la aplicación original, limitada al análisis factorial de correspondencias. Cf. este ejemplo.
shinyHeatmaply
es una aplicación R Shiny / paquete R para generar y explorar interactivamente mapas de calor (heatmaps). Plusieurs distances et méthodes de classifications peuvent être apploquées. Pueden aplicarse varias distancias y métodos de clasificación. La exportación a shinyHeatmaply
sólo es posible desde instancias de archeoViz
ejecutadas online cuyo conjunto de datos tenga (al menos) 2 valores diferentes para la variable layer
y 2 valores diferentes para la variable seleccionada (object_type
por defecto). La versión de shinyHeatmaply
utilizada desde archeoViz
es una adaptación de la aplicación original. Cf. este ejemplo.
SEAHORS es una aplicación web y paquete R para visualizar la distribución espacial de restos arqueológicos. Como se mencionó, SEAHORS se puede usar para importar, remodelar y enviar un conjunto de datos a una instancia en línea de la aplicación archeoViz
.
La función archeoViz()
se puede configurar con múltiples parámetros opcionales, relacionados con:
archeoViz(objects.df=NULL, refits.df=NULL, timeline.df=NULL, title=NULL, home.text=NULL, lang="en", set.theme="cosmo", square.size = 100, unit = "cm", rotation = 0, grid.orientation = NULL, background.map = NULL, reverse.axis.values = NULL, reverse.square.names = NULL, add.x.square.labels = NULL, add.y.square.labels = NULL, class.variable = NULL, class.values = NULL, default.group = "by.layer", location.mode = NULL, map.z.val = NULL, map.density = "no", map.refits = NULL, plot3d.ratio = 1, plot3d.hulls = FALSE, hulls.class.values = NULL, plot3d.surfaces = NULL, plot3d.refits = NULL, point.size = 2, sectionX.x.val = NULL, sectionX.y.val = NULL, sectionX.refits = NULL, sectionY.x.val = NULL, sectionY.y.val = NULL, sectionY.refits = NULL, camera.center = c(0, 0, 0), camera.eye = c(1.25, 1.25, 1.25), run.plots = FALSE, html.export = TRUE, table.export = TRUE )
archeoViz(square.size = 100, unit = "cm", rotation = 0, grid.orientation = NULL, background.map = NULL, reverse.axis.values = NULL, reverse.square.names = NULL, add.x.square.labels = NULL, add.y.square.labels = NULL )
archeoViz(class.variable = NULL, class.values = NULL, default.group = "by.layer", location.mode = NULL, map.z.val = NULL, map.density = "no", map.refits = NULL, plot3d.hulls = NULL, plot3d.surfaces = NULL, plot3d.refits = NULL, sectionX.x.val = NULL, sectionX.y.val = NULL, sectionX.refits = NULL, sectionY.x.val = NULL, sectionY.y.val = NULL, sectionY.refits = NULL, camera.center = NULL, camera.eye = NULL )
archeoViz(run.plots = FALSE)
Una instancia de archeoViz
implementada en línea en un servidor se puede configurar con parámetros de URL. Los parámetros admitidos incluyen:
objects.df
, refits.df
, timeline.df
title
, home.text
reverse.axis.values
, reverse.square.names
square.size
add.x.square.labels
, add.y.square.labels
class.variable
, class.values
default.group
location.mode
map.density
, map.refits
plot3d.hulls
, plot3d.surfaces
, plot3d.refits
sectionX.refits
sectionY.refits
run.plots
(Los siguientes parámetros no son compatibles con la versión actual: map.z.val
, sectionX.x.val
, sectionX.y.val
, sectionY.x.val
, sectionY.y.val
, point.size
, lang
, set.theme
, camera.center
, camera.eye
, html.export
, table.export
.)
Los parámetros deben escribirse usando la sintaxis de URL (?param1=value¶m2=value2) y tener el mismo tipo de valores que cuando se usan en la interfaz de R. Por ejemplo, la siguiente URL inicia una instancia de archeoViz utilizando el conjunto de datos Bilzingsleben:
Esta URL hace lo mismo, pero también incluye la tabla de reacondicionamiento (parámetro &refits.df=
) y activa la visualización de las relaciones de reacondicionamiento en los gráficos 3D y de mapa:
La siguiente URL inicia el conjunto de datos de Bilzingsleben, preconfigurando la aplicación para:
default.group
, con valor by.variable
en lugar de by.layer
)class.values
)square.size
, 500 en lugar del valor predeterminado de 100)run.plots
)title
)home.txt
)Tenga en cuenta que los parámetros add.x.square.labels
, add.y.square.labels
, location.mode
, et class.values
, que aceptan valores simples o múltiples en la interfaz de R (p. ej., c(“value1”, “value2”)) solo aceptan un valor cuando se establecen como parámetros de URL (esta es una restricción debido a la sintaxis de la URL).
La aplicación y el paquete archeoViz
son desarrollados y mantenidos por Sébastien Plutniak. Arthur Coulon, Solène Denis, Olivier Marlet y Thomas Perrin probaron y apoyaron el proyecto en su etapa inicial. Renata Araujo, Laura Coltofean, Sara Giardino, Julian Laabs, y Nicolas Delsol tradujeron la aplicación al portugués, rumano, italiano, alemán, y español respectivamente.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.