poblados-colonizacion-colon.../docs/graficos/parcelas.js

98 lines
2.7 KiB
JavaScript
Raw Normal View History

2017-06-13 00:44:19 +02:00
var cuencas, cmap;
var ids,nombres,colores,x,y;
var capas,capaspg,imgs;
var dim, dimr;
function preload() {
ids = new Array("norte","duero","ebro","pirineo","jucar","tajo","guadiana","guadalquivir","sur","segura","baleares");
dimr = new Array(11,8.4,11,-1,6,7.5,8.6,5.3,5.9,6.6,-1);
dim = new Array(12,10,14.2,8,7.6,8,7.6,10,4.7,10,11);
imgs = new Array();
capas = new Array();
capaspg = new Array();
for (var n = 0; n < ids.length; n++) {
imgs[n] = loadImage("data/"+ids[n]+".png");
capaspg[n] = loadImage("data/capa-PGC-"+n+".png");
if (dim[n] != -1) {
capas[n] = loadImage("data/capa-"+n+".png");
}
}
cuencas = loadImage("data/cuencas.png");
cmap = loadImage("data/cmap-cuencas.png");
}
function setup() {
2017-06-18 06:46:36 +02:00
createCanvas(800, 519);
2017-06-13 00:44:19 +02:00
nombres = new Array("Norte","Duero","Ebro","Pirineo","Jucar","Tajo","Guadiana","Guadalquivir","Sur", "Segura", "Baleares y Canarias");
colores = new Array("#f00","#0f0","#00f","#ff0","#0ff","#a00","#0a0","#00a","#aa0","#0aa", "#aaa");
x = new Array(158,243, 429, 597, 432, 268, 226, 253, 362,432, 611);
y = new Array(77,158,140, 139,278, 263, 327, 393, 441, 368, 322);
}
function draw() {
2017-06-17 16:56:52 +02:00
2017-06-19 01:22:28 +02:00
background("#cad2d3");
2017-06-13 00:44:19 +02:00
// capas
for (var n = 0; n < ids.length; n++) {
2017-06-19 01:22:28 +02:00
if (dimr[n] != -1) image(capas[n],0,0);
2017-06-13 00:44:19 +02:00
else {
2017-06-19 01:22:28 +02:00
image(imgs[n], 0, 0);
2017-06-13 00:44:19 +02:00
}
}
// Parcelas segun PGC
2017-06-19 09:55:53 +02:00
var mc = cmap.get(mouseX,mouseY);
2017-06-13 00:44:19 +02:00
for (var n = 0; n < colores.length; n++) {
if (compara(mc,color(colores[n]))) {
2017-06-19 01:22:28 +02:00
tint(255,100);
image(capaspg[n],0, 0);
noTint();
2017-06-13 00:44:19 +02:00
}
}
// nombres
2017-06-19 01:22:28 +02:00
textSize(14);
2017-06-13 00:44:19 +02:00
for (var n = 0; n < nombres.length; n++) {
2017-06-17 15:25:59 +02:00
//var nbr = String.prototype.toUpperCase(nombres[n]);
2017-06-13 00:44:19 +02:00
if (dimr[n] != -1 || !compara(mc,color(colores[n]))) fill(0);
else fill(0);
2017-06-19 01:22:28 +02:00
noStroke();
textStyle(BOLD);
2017-06-17 15:22:40 +02:00
2017-06-19 01:22:28 +02:00
text(nombres[n], x[n], y[n]-10);
textStyle(NORMAL);
2017-06-13 00:44:19 +02:00
if (compara(mc,color(colores[n]))) {
2017-06-19 01:22:28 +02:00
text("Plan inicial: " + dim[n]+" Has", x[n], y[n]+5);
2017-06-13 00:44:19 +02:00
}
else {
2017-06-19 01:22:28 +02:00
noStroke();
if (dimr[n] != -1) text("Parcela media: " + dimr[n]+" Has", x[n], y[n]+5);
else text("(Sin datos)", x[n], y[n]+5);
2017-06-13 00:44:19 +02:00
}
}
2017-06-17 15:39:16 +02:00
// Titulo
2017-06-19 01:22:28 +02:00
fill(255,200);
stroke(155);
rect(605, 365, 170, 130);
fill(0);
textStyle(BOLD);
textSize(12);
text("TAMAÑO MEDIO DE EXPLOTACIÓN ENTREGADA A COLONO", 620, 380, 150, 80);
textStyle(NORMAL);
textSize(11);
noStroke();
fill(155,0,0);
text("Interacción con el ratón:",620, 430, 150, 20);
fill(0);
text("Datos reales (verde) frente a datos según Plan de Colonización (blanco)", 620, 445, 150, 80);
2017-06-13 00:44:19 +02:00
}
function compara(c1, c2) {
return red(c1) == red(c2) && green(c1) == green(c2) && blue(c1) == blue(c2);
}