datos = {
const datos_crudos = await FileAttachment("datos@3.json").json();
const ancho = 900;
const alto = 900;
const centro_x = ancho / 2;
const centro_y = alto / 2;
const radio_personas = 150;
const radio_objetos = 350;
const cantidad_personas = datos_crudos.personas.length;
const color_persona = d3.scaleSequential()
.domain([0, cantidad_personas])
.interpolator(d3.interpolateHslLong("red", "blue"))
const incremento_angulo_personas = 2 * Math.PI/cantidad_personas;
var resultado_personas = generador_circulos(datos_crudos.personas,
radio_personas, 15,
color_persona, incremento_angulo_personas)
const cantidad_objetos = datos_crudos.objetos.length;
const color_objetos = d3.scaleSequential()
.domain([0, cantidad_objetos])
.interpolator(d3.interpolateRgb("rgb(220, 220, 220)", "black"))
const incremento_angulo_objetos = 2 * Math.PI/cantidad_objetos;
var resultado_objetos = generador_circulos(datos_crudos.objetos,
radio_objetos, -55,
color_objetos, incremento_angulo_objetos)
var uniones = []
datos_crudos.personas.forEach(d => {
var origen = resultado_personas.coordenadas.get(d.name);
d.values.forEach(v => {
var destino = resultado_objetos.coordenadas.get(v);
var ruta = linker({origen_x: origen.x,
origen_y: origen.y,
destino_x: destino.x,
destino_y: destino.y});
var color = origen.color;
if(resultado_objetos.cantidades.get(v) >= objeto_minimo_a_mano){
uniones.push({ruta: ruta,
color: color});}
});
});
var lista_personas = resultado_personas.resultado;
var lista_objetos = resultado_objetos.resultado;
return {
ancho,
alto,
lista_personas,
lista_objetos,
radio_personas,
radio_objetos,
uniones
};
}