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:
La versión de desarrollo está disponible en GitHub y se puede instalar con:
Luego, cargue el paquete e inicie la aplicación con:
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
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.
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
)
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.